Skip to main content

KODEGEN: A Code Generation and Testing Tool Using Runnable Knowledge

  • Conference paper
  • First Online:
Knowledge Discovery, Knowledge Engineering and Knowledge Management (IC3K 2013)

Abstract

KDE – Knowledge Driven Engineering – is a generalization of MDE – Model Driven Engineering – to a higher level of abstraction than the standard UML software models, aiming to be closer to the system designer concepts. But in order to reach an effective technology applicable in industry, one needs to implement it in a tool using Runnable Knowledge, i.e. which can be run and tested. This work describes KODEGEN – a KDE tool for testing while generating code – whose input consists of system ontologies, ontology states and scenario files. Incidental concepts not part of the ontologies are replaced by mock objects. The implementation uses a modified Gherkin syntax. The tool is demonstrated in practice by generating the actual code for a few case-studies.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  1. Adzic, G.: Test Driven .NET Development with FitNesse. Neuri, London (2008)

    Google Scholar 

  2. Adzic, G.: Bridging the Communication Gap: Specification by Example and Agile Acceptance Testing. Neuri, London (2009)

    Google Scholar 

  3. Adzic, G.: Specification by Example – How Successful Teams Deliver the Right Software. Manning, New York (2011)

    Google Scholar 

  4. Beck, K.: Test Driven Development: By Example. Addison-Wesley, Boston (2002)

    Google Scholar 

  5. Boehm, B.W.: Software engineering economics. IEEE Trans. Softw. Eng. 10, 4–21 (1984)

    Article  Google Scholar 

  6. Brown, A.W.: Model driven architecture: principles and practice. Softw. Syst. Model 3, 314–327 (2004). doi:10.1007/s10270-004-0061-2

    Google Scholar 

  7. Calero, C., Ruiz, F., Piattini, M. (eds.): Ontologies in Software Engineering and Software Technology. Springer, Heidelberg (2006)

    MATH  Google Scholar 

  8. Chelimsky, D., Astels, D., Dennis, Z., Hellesoy, A., Helmkamp, B., North, D.: The RSpec Book: Behaviour Driven Development with RSpec, Cucumber, and Friends. Pragmatic Programmer, New York (2010)

    Google Scholar 

  9. Exman, I., Llorens, J., Fraga, A.: Software knowledge. In: Exman, I., Llorens, J., Fraga, A. (eds.) Proceedings of SKY 2011, 2nd International Workshop on Software Knowledge (2010)

    Google Scholar 

  10. Exman, I., Yagel, R.: ROM: a runnable ontology model testing tool. In: Fred, A., Dietz, J.L.G., Liu, K., Filipe, J. (eds.) Knowledge Discovery, Knowledge Engineering and Knowledge Management, pp. 271–283. Springer, Heidelberg (2012)

    Google Scholar 

  11. Freeman, S., Pryce, N.: Growing Object-Oriented Software, Guided by Tests. Addison-Wesley, Boston (2009)

    Google Scholar 

  12. KODEGEN – the tool (2013). https://github.com/AntonLitovka/KODEGEN

  13. Moq – the simplest mocking library for .NET and Silverlight (2012). http://code.google.com/p/moq/

  14. North, D.: Introducing Behaviour Driven Development. Better Software Magazine (2006). http://dannorth.net/introducing-bdd/

  15. NUnit (2012). http://www.nunit.org

  16. Pan, J.Z., Staab, S., Assmann, U., Ebert, J., Zhao, Y. (eds.): Ontology-Driven Software Development. Springer, Heidelberg (2013)

    MATH  Google Scholar 

  17. Parreiras, F.S.: Semantic Web and Model-Driven Engineering. John Wiley and IEEE Press, Hoboken (2012)

    Book  Google Scholar 

  18. RSpec mocks library (2013). https://github.com/rspec/rspec-mocks

  19. Smart, J.F.: BDD in Action Behavior-Driven Development for the Whole Software Lifecycle. Manning, New York (2014)

    Google Scholar 

  20. SpecFlow – Pragmatic BDD for .NET (2010). http://specflow.org

  21. Wynne, M., Hellesoy, A.: The Cucumber Book: Behaviour Driven Development for Testers and Developers. Pragmatic Programmer, New York (2012)

    Google Scholar 

  22. Yagel, R.: Can executable specifications close the gap between software requirements and implementation? In: Exman, I., Llorens, J., Fraga, A. (eds.) Proceedings of SKY 2011 International Workshop on Software Engineering, pp. 87–91. SciTePress, France, (2011)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Iaakov Exman .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2015 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Exman, I., Litovka, A., Yagel, R. (2015). KODEGEN: A Code Generation and Testing Tool Using Runnable Knowledge. In: Fred, A., Dietz, J., Liu, K., Filipe, J. (eds) Knowledge Discovery, Knowledge Engineering and Knowledge Management. IC3K 2013. Communications in Computer and Information Science, vol 454. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-662-46549-3_17

Download citation

  • DOI: https://doi.org/10.1007/978-3-662-46549-3_17

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-662-46548-6

  • Online ISBN: 978-3-662-46549-3

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics