Ontologies + Mock Objects = Runnable Knowledge

Iaakov Exman, Anton Litovka, Reuven Yagel

2014

Abstract

Ontologies constitute the highest abstraction level in software systems. But in order to obtain runnable and testable software knowledge we can supplement ontologies with mock objects. This work formulates a basic Generation Algorithm to actually obtain testable high level code. The Generation Algorithm has been implemented in a system by means of existing tools. The approach has been tested with several case studies. We then examine fundamental issues, say whether the supplementary mock objects are essential in all cases, or can be substituted by perfect ontologies.

References

  1. Adzic, G., Test Driven .NET Development with FitNesse, Neuri, London, UK, 2008.
  2. Adzic, G., Bridging the Communication Gap: Specification by Example and Agile Acceptance Testing, Neuri, London, UK, 2009.
  3. Adzic, G., Specification by Example - How Successful Teams Deliver the Right Software, Manning, New York, USA, 2011.
  4. Beck, K., Test Driven Development: By Example, Addison-Wesley, Boston, MA, USA, 2002.
  5. Boehm, B.W.: “Software Engineering Economics”, IEEE Trans. Software Eng., 1984.
  6. Brown, K., Taking executable specs to the next level: Executable Documentation, Blog post, (see: http://keithps.wordpress.com/2011/06/26/taking-executable-specs-to-the-nextlevel-executable-documentation/), 2011.
  7. Calero, C., Ruiz, F. and Piattini, M. (eds.): Ontologies in Software Engineering and Software Technology, Springer, Heidelberg, Germany, 2006.
  8. Capybara Library - https://github.com/jnicklas/capybara.
  9. Chelimsky, D., Astels, D., Dennis, Z., Hellesoy, A., Helmkamp, B., and North, D,: The RSpec Book: Behaviour Driven Development with RSpec, Cucumber, and Friends, Pragmatic Programmer, New York, USA, 2010.
  10. Cooper, P.: Beginning Ruby: From Novice to Professional,II ed., Apress, Berkeley, USA, 2009.
  11. Exman, I, Llorens, J. and Fraga, A.: "Software Knowledge", pp. 9-12, in Exman, I., Llorens, J. and Fraga, A. (eds.), Proc. SKY'2010 Int. Workshop on Software Engineering, 2010.
  12. Freeman, S., and Pryce N.: Growing Object-Oriented Software, Guided by Tests, AddisonWesley, Boston, MA, USA, 2009.
  13. Hartz, M.: Ruby on Rails Tutorial: Learn Web Development with Rails, online tutorial at http://www.railstutorial.org/book, 2013.
  14. Test Generation Tool, 2014: https://github.com/AntonLitovka/tgt
  15. Moq - the simplest mocking library for .NET and Silverlight: (see http://code.google.com/p/moq/), 2012.
  16. Nokogiri -an HTML, XML, SAX, and Reader parser at http://nokogiri.org/.
  17. North, D.: "Introducing Behaviour Driven Development", Better Software Magazine, (see http://dannorth.net/introducing-bdd/), 2006.
  18. NUnit: (see http://www.nunit.org), 2012.
  19. Pan, J.Z., Staab, S., Assmann, U., Ebert, J. and Zhao, Y. (eds.): Ontology-Driven Software Development, Springer Verlag, Heidelberg, Germany, 2013.
  20. Parreiras, F.S.: Semantic Web and Model-Driven Engineering, John Wiley, Hoboken, NJ, and IEEE Press, USA, 2012.
  21. Powers, H.: Instant Nokogiri, Packt Publishing, Birmingham, UK, 2013.
  22. Robbins, M.: Application Testing with Capybara, Packt Publishing, Birmingham, UK, 2013.
  23. RSpec mocks library: (see: https://github.com/rspec/rspec-mocks), 2013.
  24. Smart J. F.: BDD in Action Behavior-Driven Development for the whole software lifecycle, Manning, 2014 (expected).
  25. SpecFlow - Pragmatic BDD for .NET: (see http://specflow.org), 2010.
  26. Wynne, M. and Hellesoy, A.: The Cucumber Book: Behaviour Driven Development for Testers and Developers, Pragmatic Programmer, New York, USA, 2012.
  27. Yagel, R.: "Can Executable Specifications Close the Gap between Software Requirements and Implementation?", pp. 87-91, in Exman, I., Llorens, J. and Fraga, A. (eds.), Proc. SKY'2011 Int. Workshop on Software Engineering, SciTePress, Portugal, 2011.
  28. Yagel, R., Litovka, A. and Exman I.: KoDEgen: A Knowledge Driven Engineering Code Generating Tool, The 4th International Conference on Knowledge Discovery, Knowledge Engineering and Knowledge Management (IC3K) - SKY Workshop, Vilamoura, Portugal, 2013.
  29. Protégé. A free, open-source ontology editor and framework for building intelligent systems, http://protege.stanford.edu/
Download


Paper Citation


in Harvard Style

Exman I., Litovka A. and Yagel R. (2014). Ontologies + Mock Objects = Runnable Knowledge . In Proceedings of the 5th International Workshop on Software Knowledge - Volume 1: SKY, (IC3K 2014) ISBN 978-989-758-051-2, pages 71-78. DOI: 10.5220/0005178500710078


in Bibtex Style

@conference{sky14,
author={Iaakov Exman and Anton Litovka and Reuven Yagel},
title={Ontologies + Mock Objects = Runnable Knowledge},
booktitle={Proceedings of the 5th International Workshop on Software Knowledge - Volume 1: SKY, (IC3K 2014)},
year={2014},
pages={71-78},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0005178500710078},
isbn={978-989-758-051-2},
}


in EndNote Style

TY - CONF
JO - Proceedings of the 5th International Workshop on Software Knowledge - Volume 1: SKY, (IC3K 2014)
TI - Ontologies + Mock Objects = Runnable Knowledge
SN - 978-989-758-051-2
AU - Exman I.
AU - Litovka A.
AU - Yagel R.
PY - 2014
SP - 71
EP - 78
DO - 10.5220/0005178500710078