Skip to main content

Abstract

In many domains such as telecom, aerospace and automotive industries, engineers rely on Domain Specific Modeling Languages (DSML) to solve the complex issues of engineering safety critical software. Traditional Language Engineering starts with the grammar of a language to produce a variety of tools for processing programs expressed in this language. Recently however, many new languages tend to be first defined through metamodels, i.e. models describing their abstract syntax. Relying on well tooled standards such as E-MOF, this approach makes it possible to readily benefit from a set of tools such as reflexive editors, or XML serialization of models. This article aims at showing how Model Driven Engineering can easily complement these off-the-shelf tools to obtain a complete environment for such a language, including interpreter, compiler, pretty-printer and customizable editors. We illustrate the conceptual simplicity and elegance of this approach using the running example of the well known LOGO programming language, developed within the Kermeta environment.

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 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

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Baxter, I.D., Pidgeon, C., Mehlich, M.: Dms. In: ICSE, pp. 625–634 (2004)

    Google Scholar 

  2. Bravenboer, M., Kalleberg, K.T., Vermaas, R., Visser, E.: Stratego/xt 0.17. a language and toolset for program transformation. Sci. Comput. Program. 72(1-2), 52–70 (2008)

    Article  MathSciNet  Google Scholar 

  3. Chauvel, F., Jézéquel, J.-M.: Code generation from UML models with semantic variation points. In: Kent, S., Briand, L. (eds.) MoDELS 2005. LNCS, vol. 3713, pp. 54–68. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  4. Clifton, C., Leavens, G.T.: Multijava: Modular open classes and symmetric multiple dispatch for java. In: OOPSLA 2000 Conference on Object-Oriented Programming, Systems, Languages, and Applications, pp. 130–145 (2000)

    Google Scholar 

  5. Cordy, J.R.: The txl source transformation language. Sci. Comput. Program. 61(3), 190–210 (2006)

    Article  MathSciNet  MATH  Google Scholar 

  6. Davis, J.: Gme: the generic modeling environment. In: Companion of the 18th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2003, pp. 82–83. ACM Press, New York (2003)

    Google Scholar 

  7. Drey, Z., Faucher, C., Fleurey, F., Vojtisek, D.: Kermeta language reference manual (2006)

    Google Scholar 

  8. Ekman, T., Hedin, G.: The jastadd system - modular extensible compiler construction. Sci. Comput. Program. 69(1-3), 14–26 (2007)

    Article  MathSciNet  MATH  Google Scholar 

  9. Greenfield, J., Short, K., Cook, S., Kent, S.: Software Factories: Assembling Applications with Patterns, Models, Frameworks, and Tools. Wiley, Chichester (2004)

    Google Scholar 

  10. Jézéquel, J.-M.: Model driven design and aspect weaving. Journal of Software and Systems Modeling (SoSyM) 7(2), 209–218 (2008)

    Article  Google Scholar 

  11. Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C.V., Loingtier, J.M., Irwin, J.: Aspect-oriented programming. In: Liu, Y., Auletta, V. (eds.) ECOOP 1997. LNCS, vol. 1241, pp. 220–242. Springer, Heidelberg (1997)

    Chapter  Google Scholar 

  12. Klint, P., Vinju, J.J., van der Storm, T.: Language design for meta-programming in the software composition domain. In: Bergel, A., Fabry, J. (eds.) SC 2009. LNCS, vol. 5634, pp. 1–4. Springer, Heidelberg (2009)

    Chapter  Google Scholar 

  13. Kolovos, D.S., Paige, R.F., Polack, F.: The epsilon object language (eol). In: Rensink, A., Warmer, J. (eds.) ECMDA-FA 2006. LNCS, vol. 4066, pp. 128–142. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  14. Muller, P.-A.: On Metamodels and Language Engineering. In: From MDD Concepts to Experiments and Illustrations, ISTE (2006) ISBN 1905209592

    Google Scholar 

  15. Muller, P.-A., Fleurey, F., Fondement, F., Hassenforder, M., Schneckenburger, R., Gérard, S., Jézéquel, J.-M.: Model-driven analysis and synthesis of concrete syntax. In: Wang, J., Whittle, J., Harel, D., Reggio, G. (eds.) MoDELS/UML 2006. LNCS, vol. 4199, pp. 98–110. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  16. Muller, P.-A., Fleurey, F., Jézéquel, J.-M.: Weaving executability into object-oriented meta-languages. In: Kent, S., Briand, L. (eds.) MoDELS/UML 2005. LNCS, vol. 3713, pp. 264–278. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  17. Muller, P.-A., Fleurey, F., Vojtisek, D., Drey, Z., Pollet, D., Fondement, F., Studer, P., Jézéquel, J.-M.: On executable meta-languages applied to model transformations. In: Model Transformations In Practice Workshop, Montego Bay, Jamaica (October 2005)

    Google Scholar 

  18. Object Management Group (OMG). Meta Object Facility (MOF) specification. OMG Document ad/97-08-14 (September1997)

    Google Scholar 

  19. Pickin, S., Jard, C., Jéron, T., Jézéquel, J.-M., Le Traon, Y.: Test synthesis from UML models of distributed software. IEEE Transactions on Software Engineering 33(4), 252–268 (2007)

    Article  MATH  Google Scholar 

  20. Richters, M., Gogolla, M.: OCL: Syntax, semantics, and tools. In: Clark, A., Warmer, J. (eds.) Object Modeling with the OCL. LNCS, vol. 2263, pp. 42–68. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  21. Saudrais, S., Barais, O., Plouzeau, N.: Integration of time issues into component-based applications. In: Schmidt, H.W., Crnković, I., Heineman, G.T., Stafford, J.A. (eds.) CBSE 2007. LNCS, vol. 4608, pp. 173–188. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  22. Steel, J., Jézéquel, J.-M.: On model typing. Journal of Software and Systems Modeling (SoSyM) 6(4), 401–414 (2007)

    Article  Google Scholar 

  23. Sztipanovits, J., Karsai, G.: Model-integrated computing. IEEE Computer 30(4), 110–111 (1997)

    Article  Google Scholar 

  24. Vangheluwe, H., Sun, X., Bodden, E.: Domain-specific modelling with atom3. In: Proceedings of the Second International Conference on Software and Data Technologies, ICSOFT 2007, Barcelona, Spain, July 22-25. vol. PL/DPS/KE/MUSE, pp. 298–304 (2007)

    Google Scholar 

  25. Vogt, H., Swierstra, S.D., Kuiper, M.F.: Higher-order attribute grammars. In: PLDI, pp. 131–145 (1989)

    Google Scholar 

  26. Ziadi, T., Hëlouët, L., Jézéquel, J.-M.: Towards a UML profile for software product lines. In: van der Linden, F.J. (ed.) PFE 2003. LNCS, vol. 3014, pp. 129–139. Springer, Heidelberg (2004)

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2011 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Jézéquel, JM., Barais, O., Fleurey, F. (2011). Model Driven Language Engineering with Kermeta. In: Fernandes, J.M., Lämmel, R., Visser, J., Saraiva, J. (eds) Generative and Transformational Techniques in Software Engineering III. GTTSE 2009. Lecture Notes in Computer Science, vol 6491. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-18023-1_5

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-18023-1_5

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-18022-4

  • Online ISBN: 978-3-642-18023-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics