Metamodelling - State of the Art and Research Challenges

This chapter discusses the current state of the art, and emerging research challenges, for metamodelling. In the state-of-the-art review on metamodelling, we review approaches, abstractions, and tools for metamodelling, evaluate them with respect to their expressivity, investigate what role(s) metamodels may play at run-time and how semantics can be assigned to metamodels and the domain-specific modeling languages they could define. In the emerging challenges section on metamodelling we highlight research issues regarding the management of complexity, consistency, and evolution of metamodels, and how the semantics of metamodels impacts each of these. 3.1 Metamodelling: State of the Art Models are powerful tools to express the structure, behavior, and other properties in mathematics, each of the hard sciences and in all areas of engineering. While models are very common, an explicit definition of a modelling language and an explicit manipulation of its models is tightly connected to computer based tools. Additional power can be gained by explicit definition and computer based manipulation of models e.g. in CAD, control engineering, algebraic mathematics and of course computer science. To be able to manipulate models, their language needs to be specified as model of these models—metamodels. In this section, we describe the state of the art for metamodelling, including the metamodelling of data structures, as well as the metamodelling of languages systems where appropriate. 3.1.1 Concepts in Metamodelling Metamodelling (literally, “beyond Modelling”) is the Modelling of models. In their most common use, metamodels describe the permitted structure to which models must adhere [1]; although out of the scope of this chapter, meta-metamodels formally describe metamodels, as they define the core abstractions H. Giese et al. (Eds.): MBEERTS, LNCS 6100, pp. 57–76, 2010. Springer-Verlag Berlin Heidelberg 2010 www.se-rwth.de/publications 58 J. Sprinkle et al. permitted in metamodelling. In fact, some metamodelling languages are selfdescriptive [2, 3]. A metamodel therefore describes the syntax of the models [4]. Through various extension mechanisms and additional rules with this representation of the syntax of models metamodels can also help to define the semantics of models, as we discuss later. The layered approach to modelling (through metamodelling) is depicted in Figure 3.1. Model Metamodel Meta-metamodel Semantic Artifacts (e.g., code, simulation) defines

[1]  Donald E. Knuth,et al.  backus normal form vs. Backus Naur form , 1964, CACM.

[2]  G. Winskel The formal semantics of programming languages , 1993 .

[3]  Kirsten N. Whitley Visual Programming Languages and the Empirical Evidence For and Against , 1997, J. Vis. Lang. Comput..

[4]  Andy Schürr,et al.  Defining and Parsing Visual Languages with Layered Graph Grammars , 1997, J. Vis. Lang. Comput..

[5]  Gabor Karsai,et al.  Model-Integrated Computing , 1997, Computer.

[6]  Anneke Kleppe,et al.  The object constraint language: precise modeling with UML , 1998 .

[7]  G. Nordstrom,et al.  Specifying graphical modeling systems using constraint-based meta models , 2000, CACSD. Conference Proceedings. IEEE International Symposium on Computer-Aided Control System Design (Cat. No.00TH8537).

[8]  Mikael Peltier,et al.  On levels of model transformation , 2000 .

[9]  G. Nordstrom,et al.  On metamodel composition , 2001, Proceedings of the 2001 IEEE International Conference on Control Applications (CCA'01) (Cat. No.01CH37204).

[10]  Gabor Karsai,et al.  The new metamodeling generation , 2001, Proceedings. Eighth Annual IEEE International Conference and Workshop On the Engineering of Computer-Based Systems-ECBS 2001.

[11]  Gabor Karsai,et al.  Composing Domain-Specific Design Environments , 2001, Computer.

[12]  Benjamin C. Pierce,et al.  Types and programming languages: the next generation , 2003, 18th Annual IEEE Symposium of Logic in Computer Science, 2003. Proceedings..

[13]  Juan de Lara,et al.  XML-based modeling and simulation: meta-models are models too , 2002, WSC '02.

[14]  Juan de Lara,et al.  Meta-modelling and graph grammars for multi-paradigm modelling in AToM3 , 2004, Software & Systems Modeling.

[15]  Juha-Pekka Tolvanen,et al.  MetaEdit+: defining and using domain-specific modeling languages and code generators , 2003, OOPSLA '03.

[16]  Mark Minas Visual Specification of Visual Editors with VisualDiaGen , 2003, AGTIVE.

[17]  Edward A. Lee,et al.  Taming heterogeneity - the Ptolemy approach , 2003, Proc. IEEE.

[18]  Ákos Lédeczi,et al.  ANEMIC: Automatic Interface Enabler for Model Integrated Computing , 2003, GPCE.

[19]  H. Vangheluwe,et al.  Foundations of multi-paradigm modeling and simulation: computer automated multi-paradigm modelling: meta-modelling and graph transformation , 2003 .

[20]  Pieter J. Mosterman,et al.  Computer Automated Multi-Paradigm Modeling : An Introduction , 2000 .

[21]  Gabor Karsai,et al.  Composition and cloning in modeling and meta-modeling , 2004, IEEE Transactions on Control Systems Technology.

[22]  Gabor Karsai,et al.  A domain-specific visual language for domain model evolution , 2004, J. Vis. Lang. Comput..

[23]  Bernhard Rumpe,et al.  Meaningful modeling: what's the semantics of "semantics"? , 2004, Computer.

[24]  Sherif Abdelwahed,et al.  Semantic Anchoring with Model Transformations , 2005, ECMDA-FA.

[25]  Jonathan Sprinkle,et al.  5th OOPSLA Workshop on Domain-Specific Modeling (DSM´05) , 2005 .

[26]  Jean Bézivin,et al.  Model-based DSL frameworks , 2006, OOPSLA '06.

[27]  J. Sprinkle,et al.  The 7th OOPSLA workshop on domain-specific modeling , 2007, OOPSLA '07.

[28]  Manfred Broy,et al.  Semantics of UML: Towards a System Model for UML -- The Control Model , 2007 .

[29]  Sandeep Neema,et al.  Metamodeling Languages and Metaprogrammable Tools , 2007, Handbook of Real-Time and Embedded Systems.

[30]  Andy Schürr,et al.  A Comparison of Standard Compliant Ways to Define Domain Specific Languages , 2008, MoDELS.

[31]  Janos Sztipanovits,et al.  Formalizing the structural semantics of domain-specific modeling languages , 2009, Software & Systems Modeling.

[32]  Bernhard Rumpe,et al.  MontiCore: Modular Development of Textual Domain Specific Languages , 2008, TOOLS.

[33]  Jeffrey G. Gray,et al.  The 6th OOPSLA workshop on domain-specific modeling , 2006, OOPSLA '06.