Software & Systems Modeling

, Volume 14, Issue 1, pp 429–459 | Cite as

Model-driven engineering with domain-specific meta-modelling languages

  • Juan de Lara
  • Esther Guerra
  • Jesús Sánchez Cuadrado
Special Section Paper


Domain-specific modelling languages are normally defined through general-purpose meta-modelling languages like the MOF. While this is satisfactory for many model-driven engineering (MDE) projects, several researchers have identified the need for domain-specific meta-modelling (DSMM) languages. These provide customised domain-specific meta-modelling primitives aimed at the definition of modelling languages for a specific domain, as well as the construction of meta-model families. Unfortunately, current approaches to DSMM rely on ad hoc methods which add unnecessary complexity to the realization of DSMM in practice. Hence, the goal of this paper is to simplify the definition and usage of DSMM languages. For this purpose, we apply multi-level meta-modelling for the systematic engineering of DSMM architectures. Our method integrates techniques to control the meta-modelling primitives offered to the users of the DSMM languages, provides a flexible approach to define textual concrete syntaxes for DSMM languages, and extends existing model management languages (for model-to-model transformation, in-place transformation and code generation) to work in a multi-level setting, thus enabling the practical use of DSMM in MDE. As a proof of concept, we report on a working implementation of these ideas in the MetaDepth tool.


Model-driven engineering Multi-level meta-modelling  Domain-specific meta-modelling  Textual concrete syntax  MetaDepth 



We thank the referees for their detailed and useful comments. This work has been funded by the Spanish Ministry of Economy and Competitivity with project “Go Lite” (TIN2011-24139), and the R&D programme of Madrid Region with project “eMadrid” (S2009/TIC-1650).


  1. 1.
    Abadi, M., Cardelli, L.: A Theory of Objects. Monographs in Computer Science, Springer, New York, USA (1996)Google Scholar
  2. 2.
    Aschauer, T., Dauenhauer, G., Pree, W.: Representation and traversal of large clabject models. In: MoDELS’09. LNCS, vol. 5795, pp. 17–31. Springer (2009)Google Scholar
  3. 3.
    Asikainen, T., Männistö, T.: Nivel: a metamodelling language with a formal semantics. Softw. Syst. Model. 8(4), 521–549 (2009)CrossRefGoogle Scholar
  4. 4.
    Atkinson, C.: Meta-modeling for distributed object environments. In: EDOC, pp. 90–101. IEEE Computer Society (1997)Google Scholar
  5. 5.
    Atkinson, C., Gerbig, R., Kennel, B.: Symbiotic general-purpose and domain-specific languages. In: ICSE’12 (New Ideas and Emerging Results track), pp. 1269–1272 (2012)Google Scholar
  6. 6.
    Atkinson, C., Gerbig, R., Tunjic, C.: Towards multi-level aware model transformations. In: ICMT’12. LNCS, vol. 7307, pp. 208–223. Springer (2012)Google Scholar
  7. 7.
    Atkinson, C., Gutheil, M., Kennel, B.: A flexible infrastructure for multilevel language engineering. IEEE Trans. Soft. Eng. 35(6), 742–755 (2009)CrossRefGoogle Scholar
  8. 8.
    Atkinson, C., Kühne, T.: The essence of multilevel metamodeling. In: UML, LNCS, vol. 2185, pp. 19–33. Springer (2001)Google Scholar
  9. 9.
    Atkinson, C., Kühne, T.: Rearchitecting the UML infrastructure. ACM Trans. Model. Comput. Simul. 12(4), 290–321 (2002)CrossRefGoogle Scholar
  10. 10.
    Atkinson, C., Kühne, T.: Model-driven development: a metamodeling foundation. IEEE Softw. 20(5), 36–41 (2003)CrossRefGoogle Scholar
  11. 11.
    Atkinson, C., Kühne, T.: Reducing accidental complexity in domain models. Softw. Syst. Model. 7(3), 345–359 (2008)CrossRefGoogle Scholar
  12. 12.
    de Lara, J., Guerra, E.: Deep meta-modelling with MetaDepth. In TOOLS’10, LNCS, vol. 6141, pp. 1–20. Springer (2010). See also
  13. 13.
    de Lara, J., Guerra, E.: From types to type requirements: genericity for model-driven engineering. Softw. Syst. Model. (2011, in press)Google Scholar
  14. 14.
    de Lara, J., Guerra, E.: Domain-specific textual meta-modelling languages for model driven engineering. In: ECMDA-FA’12. LNCS, vol. 7349, pp. 259–274. Springer (2012)Google Scholar
  15. 15.
    de Lara, J., Guerra, E., Cobos, R., Moreno-Llorena, J.: Extending deep meta-modelling for practical model-driven engineering. Comput. J. (2012, in press)Google Scholar
  16. 16.
    Demuth, A., Lopez-Herrejon, R.E., Egyed, A.: Cross-layer modeler: a tool for flexible multilevel modeling with consistency checking. In: SIGSOFT FSE, pp. 452–455. ACM (2011)Google Scholar
  17. 17.
    Drivalos, N., Kolovos, D.S., Paige, R.F., Fernandes, K.J.: Engineering a DSL for software traceability. In: SLE’08, LNCS, vol. 5452, pp. 151–167. Springer (2008)Google Scholar
  18. 18.
  19. 19.
    Espinazo-Pagán, J., Tortosa, M.M., Molina, J.G.: Metamodel syntactic sheets: an approach for defining textual concrete syntaxes. In: ECMDA-FA’08. LNCS, vol. 5095, pp. 185–199. Springer (2008)Google Scholar
  20. 20.
    Gonzalez-Perez, C., Henderson-Sellers, B.: A powertype-based metamodelling framework. Softw. Syst. Model. 5(1), 72–90 (2006)CrossRefGoogle Scholar
  21. 21.
    Gonzalez-Perez, C., Henderson-Sellers, B.: Modelling software development methodologies: a conceptual foundation. J. Syst. Softw. 80(11), 1778–1796 (2007)CrossRefGoogle Scholar
  22. 22.
    Günther, C.W.: Xes 1.0 extensible event system standard definition. Technical report (2009). See also
  23. 23.
    Herrmannsdörfer, M., Hummel, B.: Library concepts for model reuse. Electron. Notes Theor. Comput. Sci. 253, 121–134 (2010)CrossRefGoogle Scholar
  24. 24.
    Holt, J.: A Pragmatic Guide to Business Process Modelling (2nd edn). British Informatics Society Ltd, Chippenham, UK (2009)Google Scholar
  25. 25.
    Jablonski, S., Volz, B., Dornstauder, S.: A meta modeling framework for domain specific process management. In: COMPSAC’08, pp. 1011–1016. IEEE Computer Society (2008)Google Scholar
  26. 26.
    Jarke, M., Gallersdörfer, R., Jeusfeld, M.A., Staudt, M.: ConceptBase—a deductive object base for meta data management. J. Intell. Inf. Syst. 4(2), 167–192 (1995)CrossRefGoogle Scholar
  27. 27.
    Jouault, F., Bézivin, J., Kurtev, I.: TCS: a DSL for the specification of textual concrete syntaxes in model engineering. In: GPCE’06, pp. 249–254. ACM (2006)Google Scholar
  28. 28.
    Kelly, S., Tolvanen, J.-P.: Domain-Specific Modeling: Enabling Full Code Generation. Wiley-IEEE CS, Hoboken, New Jersey, USA (2008)Google Scholar
  29. 29.
    Kolovos, D.S., Paige, R.F., Polack, F.: The Epsilon Object Language (EOL). In: ECMDA-FA’06. LNCS, vol. 4066, pp. 128–142. Springer (2006)Google Scholar
  30. 30.
    Kolovos, D.S., Paige, R.F., Polack, F.: The Epsilon Transformation Language. In: ICMT’08. LNCS, vol. 5063, pp. 46–60. Springer (2008)Google Scholar
  31. 31.
    Kühne, T., Schreiber, D.: Can programming be liberated from the two-level style? Multi-level programming with DeepJava. In: OOPSLA’07, pp. 229–244. ACM (2007)Google Scholar
  32. 32.
    Langer, P., Wieland, K., Wimmer, M., Cabot, J.: From UML profiles to EMF profiles and beyond. In: TOOLS’11. LNCS, vol. 6705, pp. 52–67. Springer (2011)Google Scholar
  33. 33.
    Liu, L., Jeusfeld, M.A.: Suitability of active rules for model transformation. In: CAiSE Forum, CEUR Workshop Proceedings, vol. 855, pp. 131–138 (2012)Google Scholar
  34. 34.
    Murata, T.: Petri nets: Properties, analysis and applications. Proc. IEEE 77(4), 541–580 (1989)CrossRefGoogle Scholar
  35. 35.
    Mylopoulos, J., Borgida, A., Jarke, M., Koubarakis, M.: Telos: representing knowledge about information systems. ACM Trans. Inf. Syst. 8(4), 325–362 (1990) Google Scholar
  36. 36.
    Odell, J.: Power types. JOOP 7(2), 8–12 (1994)MathSciNetGoogle Scholar
  37. 37.
    OMG: MOF 2.4.1. (2011)
  38. 38.
    OMG: OCL 2.3.1. (2012)
  39. 39.
    OMG: MDA home page. (2013)
  40. 40.
    Rose, L.M., Paige, R.F., Kolovos, D.S., Polack, F.: The Epsilon Generation Language. In: ECMDA-FA’08, LNCS, vol. 5095, pp. 1–16. Springer (2008)Google Scholar
  41. 41.
    Sánchez Cuadrado, J.: Towards a family of model transformation languages. In: ICMT’12, LNCS, vol. 7307, pp. 176–191. Springer (2012) See also
  42. 42.
    Sánchez Cuadrado, J., de Lara, J., Guerra, E.: Bottom-up meta-modelling: an interactive approach. In: MoDELS, LNCS, vol. 7590, pp. 3–19. Springer (2012)Google Scholar
  43. 43.
    Sánchez Cuadrado, J., Guerra, E., de Lara, J.: Generic model transformations: write once, reuse everywhere. In: ICMT, LNCS, vol. 6707, pp. 62–77. Springer (2011)Google Scholar
  44. 44.
    Sánchez Cuadrado J., Guerra E., de Lara J.: Flexible model-to-model transformation templates: an application to ATL. J. Object Technol. 11(2), 4:1–28 (2012)Google Scholar
  45. 45.
    Sen, S., Moha, N., Mahé, V., Barais, O., Baudry, B., Jézéquel, J.-M.: Reusable model transformations. Softw. Syst. Model. 11(1), 111–125 (2012)Google Scholar
  46. 46.
    Steel, J., Duddy, K., Drogemuller, R.: A transformation workbench for building information models. In: ICMT. LNCS, vol. 6707, pp. 93–107. Springer (2011)Google Scholar
  47. 47.
    Steel, J., Jézéquel, J.-M.: On model typing. Softw. Syst. Model. 6(4), 401–413 (2007)CrossRefGoogle Scholar
  48. 48.
    Volz, B., Jablonski, S.: Towards an open meta modeling environment. In: 10th Workshop on Domain-Specific Modeling (2010)Google Scholar
  49. 49.
    Wimmer, M., Kappel, G., Kusel, A., Retschitzegger, W., Schönböck, J., Schwinger, W., Kolovos, D., Paige, R., Lauder, M., Schürr, A., Wagelaar, D.: Surveying rule inheritance in model-to-model transformation languages. J. Object Technol. 11(2), 3:1–46 (2012)Google Scholar
  50. 50.
    Zschaler, S., Kolovos, D.S., Drivalos, N., Paige, R.F., Rashid, A.: Domain-specific metamodelling languages for software language engineering. In: SLE’09. LNCS, vol. 5969, pp. 334–353. Springer (2009)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  • Juan de Lara
    • 1
  • Esther Guerra
    • 1
  • Jesús Sánchez Cuadrado
    • 1
  1. 1.Computer Science DepartmentUniversidad Autónoma de MadridMadridSpain

Personalised recommendations