KoDEgen: A Knowledge Driven Engineering Code Generating Tool

Reuven Yagel, Anton Litovka, Iaakov Exman

Abstract

KDE – Knowledge Driven Engineering – is an extension of MDE to a higher level of abstraction, in which ontologies and their states replace the standard UML models. But in order to test in practice the KDE approach one needs to actually run the highly abstract ontologies and resulting models and code. This work describes the design and implementation of KoDEgen – a KDE tool for code generation – based on ontologies, ontology states and a scenario file. The implementation uses a modified Gherkin syntax. The tool is demonstrated in practice by generating the actual code for a few case-studies.

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, (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. 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).
  9. Exman, I, Llorens, J. and Fraga, A.: "Software Knowledge", pp. 9-12, in Exman, I., Llorens, J. and Fraga, A. (eds.), Proc. SKY Int. Workshop on Software Knowledge (2010).
  10. Exman I. and Yagel R.: "ROM: A Runnable Ontology Model Testing Tool", The 4th International Conference on Knowledge Discovery, Knowledge Engineering and Knowledge Management (IC3K) - SKY Workshop, Barcelona, Spain, (2012).
  11. Freeman, S., and Pryce N.: Growing Object-Oriented Software, Guided by Tests, AddisonWesley, Boston, MA, USA, (2009).
  12. KoDEgen - the tool: https://github.com/AntonLitovka/R_O_M (2013).
  13. Moq - the simplest mocking library for .NET and Silverlight: (see http://code.google.com/p/moq/), (2012).
  14. North, D.: "Introducing Behaviour Driven Development", Better Software Magazine, (see http://dannorth.net/introducing-bdd/), (2006).
  15. NUnit: (see http://www.nunit.org), (2012).
  16. Pan, J.Z., Staab, S., Assmann, U., Ebert, J. and Zhao, Y. (eds.): Ontology-Driven Software Development, Springer Verlag, Heidelberg, Germany, (2013).
  17. Parreiras, F.S.: Semantic Web and Model-Driven Engineering, John Wiley, Hoboken, NJ, and IEEE Press, USA, (2012).
  18. RSpec mocks library: (see: https://github.com/rspec/rspec-mocks), (2013).
  19. Smart J. F.: BDD in Action Behavior-Driven Development for the whole software lifecycle, Manning, 2014 (expected).
  20. SpecFlow - Pragmatic BDD for .NET: (see http://specflow.org), (2010).
  21. Wynne, M. and Hellesoy, A.: The Cucumber Book: Behaviour Driven Development for Testers and Developers, Pragmatic Programmer, New York, USA, (2012).
  22. 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, France, (2011).
Download


Paper Citation


in Harvard Style

Yagel R., Litovka A. and Exman I. (2013). KoDEgen: A Knowledge Driven Engineering Code Generating Tool . In Proceedings of the 4th International Workshop on Software Knowledge - Volume 1: SKY, (IC3K 2013) ISBN 978-989-8565-76-1, pages 24-33. DOI: 10.5220/0004640400240033


in Bibtex Style

@conference{sky13,
author={Reuven Yagel and Anton Litovka and Iaakov Exman},
title={KoDEgen: A Knowledge Driven Engineering Code Generating Tool},
booktitle={Proceedings of the 4th International Workshop on Software Knowledge - Volume 1: SKY, (IC3K 2013)},
year={2013},
pages={24-33},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0004640400240033},
isbn={978-989-8565-76-1},
}


in EndNote Style

TY - CONF
JO - Proceedings of the 4th International Workshop on Software Knowledge - Volume 1: SKY, (IC3K 2013)
TI - KoDEgen: A Knowledge Driven Engineering Code Generating Tool
SN - 978-989-8565-76-1
AU - Yagel R.
AU - Litovka A.
AU - Exman I.
PY - 2013
SP - 24
EP - 33
DO - 10.5220/0004640400240033