Bridging the Chasm between Executable Metamodeling and Models of Computation

  • Benoît Combemale
  • Cécile Hardebolle
  • Christophe Jacquet
  • Frédéric Boulanger
  • Benoit Baudry
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7745)

Abstract

The complete and executable definition of a Domain Specific Language (DSL) includes the specification of two essential facets: a model of the domain-specific concepts with actions and their semantics; and a scheduling model that orchestrates the actions of a domain-specific model. Metamodels can capture the former facet, while Models of Computation (MoCs) capture the latter facet. Unfortunately, theories and tools for metamodeling and MoCs have evolved independently, creating a cultural and technical chasm between the two communities. Consequently, there is currently no framework to explicitly model and compose both facets of a DSL. This paper introduces a new framework to combine a metamodel and a MoC in a modular fashion. This allows (i) the complete and executable definition of a DSL, (ii) the reuse of a given MoC for different domain-specific metamodels, and (iii) the use of different MoCs for a given metamodel, to account for variants of a DSL.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Karna, J., Tolvanen, J.P., Kelly, S.: Evaluating the use of Domain-Specific Modeling in Practice. In: 9th OOPSLA Workshop on Domain-Specific Modeling (2009)Google Scholar
  2. 2.
    Hutchinson, J., Whittle, J., Rouncefield, M., Kristoffersen, S.: Empirical assessment of MDE in industry. In: ICSE, pp. 471–480. ACM (2011)Google Scholar
  3. 3.
    Bryant, B.R., Gray, J., Mernik, M., Clarke, P.J., France, R.B., Karsai, G.: Challenges and directions in formalizing the semantics of modeling languages. Comput. Sci. Inf. Syst. 8(2), 225–253 (2011)CrossRefGoogle Scholar
  4. 4.
    Harel, D., Rumpe, B.: Meaningful Modeling: What’s the Semantics of ”Semantics”? Computer 37(10), 64–72 (2004)CrossRefGoogle Scholar
  5. 5.
    Muller, P.-A., Fleurey, F., Jézéquel, J.-M.: Weaving Executability into Object-Oriented Meta-languages. In: Briand, L.C., Williams, C. (eds.) MoDELS 2005. LNCS, vol. 3713, pp. 264–278. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  6. 6.
    Boulanger, F., Hardebolle, C.: Simulation of Multi-Formalism Models with ModHel’X. In: Proceedings of ICST 2008, pp. 318–327. IEEE Comp. Soc. (2008)Google Scholar
  7. 7.
    Object Management Group, Inc.: Semantics of a Foundational Subset for Executable UML Models (fUML), v1.0. (2011)Google Scholar
  8. 8.
    Object Management Group, Inc.: UML Object Constraint Language (OCL) 2.0 Specification (2003)Google Scholar
  9. 9.
    Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design patterns: elements of reusable object-oriented software. Addison-Wesley Professional (1995)Google Scholar
  10. 10.
    Steinberg, D., Budinsky, F., Paternostro, M., Merks, E.: EMF: Eclipse Modeling Framework, 2nd edn. Addison-Wesley (2008)Google Scholar
  11. 11.
    Object Management Group, Inc.: Meta Object Facility (MOF) 2.0 Core Specification (2006)Google Scholar
  12. 12.
    Combemale, B., Crégut, X., Garoche, P.L., Thirioux, X.: Essay on Semantics Definition in MDE. An Instrumented Approach for Model Verification. Journal of Software 4(9) (2009)Google Scholar
  13. 13.
    Meyer, B.: Eiffel: the language. Prentice-Hall, Inc. (1992)Google Scholar
  14. 14.
    Clifton, C., Leavens, G.T.: MultiJava: Modular Open Classes and Symmetric Multiple Dispatch for Java. In: OOPSLA, pp. 130–145 (2000)Google Scholar
  15. 15.
    Boulanger, F., Hardebolle, C., Jacquet, C., Marcadet, D.: Semantic Adaptation for Models of Computation. In: ACSD, pp. 153–162 (2011)Google Scholar
  16. 16.
    Eker, J., Janneck, J.W., Lee, E.A., Liu, J., Liu, X., Ludvig, J., Neuendorffer, S., Sachs, S., Xiong, Y.: Taming heterogeneity – the Ptolemy approach. Proc. of the IEEE 91(1), 127–144 (2003)CrossRefGoogle Scholar
  17. 17.
    Object Management Group, Inc.: Software and Systems Process Engineering Metamodel specification (SPEM) Version 2.0. (2008)Google Scholar
  18. 18.
    Van Wyk, E., de Moor, O., Backhouse, K., Kwiatkowski, P.: Forwarding in Attribute Grammars for Modular Language Design. In: Nigel Horspool, R. (ed.) CC 2002. LNCS, vol. 2304, pp. 128–142. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  19. 19.
    Ekman, T., Hedin, G.: The JastAdd system – modular extensible compiler construction. Sci. Comput. Program. 69, 14–26 (2007)MathSciNetMATHCrossRefGoogle Scholar
  20. 20.
    Rebernak, D., Mernik, M., Wu, H., Gray, J.: Domain-specific aspect languages for modularising crosscutting concerns in grammars. IET Software 3(3), 184–200 (2009)CrossRefGoogle Scholar
  21. 21.
    Krahn, H., Rumpe, B., Volkel, S.: MontiCore: Modular Development of Textual Domain Specific Languages. In: Paige, R.F., Meyer, B. (eds.) TOOLS EUROPE 2008. LNBIP, vol. 11, pp. 297–315. Springer, Heidelberg (1974)Google Scholar
  22. 22.
    Fowler, M.: Language workbenches: The killer-app for domain specific languages (2005), http://www.martinfowler.com/articles/languageWorkbench.html (accessed online)
  23. 23.
    Volter, M.: From Programming to Modeling-and Back Again. IEEE Software 28(6), 20–25 (2011)CrossRefGoogle Scholar
  24. 24.
    Borras, P., Clement, D., Despeyroux, T., Incerpi, J., Kahn, G., Lang, B., Pascual, V.: Centaur: the system. In: 3rd ACM Software Engineering Symposium on Practical Software Development Environments, pp. 14–24. ACM (1988)Google Scholar
  25. 25.
    Klint, P.: A meta-environment for generating programming environments. ACM TOSEM 2(2), 176–201 (1993)CrossRefGoogle Scholar
  26. 26.
    Cordy, J.R., Halpern, C.D., Promislow, E.: TXL: a rapid prototyping system for programming language dialects. In: Conf. Int Computer Languages, pp. 280–285 (1988)Google Scholar
  27. 27.
    Sztipanovits, J., Karsai, G.: Model-Integrated Computing. IEEE Computer 30(4), 110–111 (1997)CrossRefGoogle Scholar
  28. 28.
    Tolvanen, J., Rossi, M.: MetaEdit+: defining and using domain-specific modeling languages and code generators. In: Companion of the 18th Annual ACM SIGPLAN Conference OOPSLA, pp. 92–93. ACM (2003)Google Scholar
  29. 29.
    Cook, S., Jones, G., Kent, S., Wills, A.: Domain-Specific Development with Visual Studio DSL Tools. Addison-Wesley Professional (2007)Google Scholar
  30. 30.
    Clark, T., Sammut, P., Willans, J.: Applied Metamodelling – A Foundation for Language Driven Development, 2nd edn (2008)Google Scholar
  31. 31.
    Kats, L.C., Visser, E.: The spoofax language workbench: rules for declarative specification of languages and IDEs. In: OOPSLA 2010, pp. 444–463. ACM (2010)Google Scholar
  32. 32.
    Voelter, M., Solomatov, K.: Language Modularization and Composition with Projectional Language Workbenches illustrated with MPS. In: SLE 2010. LNCS. Springer (2010)Google Scholar
  33. 33.
    Renggli, L., Gîrba, T., Nierstrasz, O.: Embedding Languages without Breaking Tools. In: D’Hondt, T. (ed.) ECOOP 2010. LNCS, vol. 6183, pp. 380–404. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  34. 34.
    Lee, E.A., Sangiovanni-Vincentelli, A.L.: A framework for comparing models of computation. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems 17(12), 1217–1229 (1998)CrossRefGoogle Scholar
  35. 35.
    Basu, A., Bozga, M., Sifakis, J.: Modeling heterogeneous real-time systems in BIP. In: 4th IEEE SEFM, pp. 3–12 (September 2006)Google Scholar
  36. 36.
    Mallet, F., DeAntoni, J., André, C., de Simone, R.: The clock constraint specification language for building timed causality models. Innovations in Systems and Software Engineering 6, 99–106 (2010)CrossRefGoogle Scholar
  37. 37.
    André, C., Mallet, F., Simone, R.: Modeling AADL Data Communications with UML MARTE. In: Embedded Systems Specification and Design Languages. Lecture Notes in Electrical Engineering, vol. 10, pp. 155–168. Springer (2008)Google Scholar
  38. 38.
    Boulanger, F., Dogui, A., Hardebolle, C., Jacquet, C., Marcadet, D., Prodan, I.: Semantic Adaptation Using CCSL Clock Constraints. In: Kienzle, J. (ed.) MODELS 2011 Workshops. LNCS, vol. 7167, pp. 104–118. Springer, Heidelberg (2012)CrossRefGoogle Scholar
  39. 39.
    Hardebolle, C., Boulanger, F.: Multi-Formalism Modelling and Model Execution. International Journal of Computers and their Applications 31(3), 193–203 (2009);Special Issue on the International Summer School on Software EngineeringGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  • Benoît Combemale
    • 1
  • Cécile Hardebolle
    • 2
  • Christophe Jacquet
    • 2
  • Frédéric Boulanger
    • 2
  • Benoit Baudry
    • 3
  1. 1.IRISAUniversity of Rennes 1France
  2. 2.Computer Science DepartmentSupélec E3SFrance
  3. 3.Inria Rennes - Bretagne AtlantiqueFrance

Personalised recommendations