Advertisement

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.

Keywords

Model Transformation Operational Semantic Object Constraint Language Abstract Syntax Static Semantic 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Baxter, I.D., Pidgeon, C., Mehlich, M.: Dms. In: ICSE, pp. 625–634 (2004)Google Scholar
  2. 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)MathSciNetCrossRefGoogle Scholar
  3. 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)CrossRefGoogle Scholar
  4. 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. 5.
    Cordy, J.R.: The txl source transformation language. Sci. Comput. Program. 61(3), 190–210 (2006)MathSciNetCrossRefzbMATHGoogle Scholar
  6. 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. 7.
    Drey, Z., Faucher, C., Fleurey, F., Vojtisek, D.: Kermeta language reference manual (2006)Google Scholar
  8. 8.
    Ekman, T., Hedin, G.: The jastadd system - modular extensible compiler construction. Sci. Comput. Program. 69(1-3), 14–26 (2007)MathSciNetCrossRefzbMATHGoogle Scholar
  9. 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. 10.
    Jézéquel, J.-M.: Model driven design and aspect weaving. Journal of Software and Systems Modeling (SoSyM) 7(2), 209–218 (2008)CrossRefGoogle Scholar
  11. 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)CrossRefGoogle Scholar
  12. 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)CrossRefGoogle Scholar
  13. 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)CrossRefGoogle Scholar
  14. 14.
    Muller, P.-A.: On Metamodels and Language Engineering. In: From MDD Concepts to Experiments and Illustrations, ISTE (2006) ISBN 1905209592Google Scholar
  15. 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)CrossRefGoogle Scholar
  16. 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)CrossRefGoogle Scholar
  17. 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. 18.
    Object Management Group (OMG). Meta Object Facility (MOF) specification. OMG Document ad/97-08-14 (September1997)Google Scholar
  19. 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)CrossRefzbMATHGoogle Scholar
  20. 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)CrossRefGoogle Scholar
  21. 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)CrossRefGoogle Scholar
  22. 22.
    Steel, J., Jézéquel, J.-M.: On model typing. Journal of Software and Systems Modeling (SoSyM) 6(4), 401–414 (2007)CrossRefGoogle Scholar
  23. 23.
    Sztipanovits, J., Karsai, G.: Model-integrated computing. IEEE Computer 30(4), 110–111 (1997)CrossRefGoogle Scholar
  24. 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. 25.
    Vogt, H., Swierstra, S.D., Kuiper, M.F.: Higher-order attribute grammars. In: PLDI, pp. 131–145 (1989)Google Scholar
  26. 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)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • Jean-Marc Jézéquel
    • 1
  • Olivier Barais
    • 1
  • Franck Fleurey
    • 1
  1. 1.INRIAUniversity of Rennes1Rennes CEDEXFrance

Personalised recommendations