The Design of a Conceptual Framework and Technical Infrastructure for Model Management Language Engineering

Model management is the discipline of managing artefacts used in Model-Driven Engineering (MDE). A model management framework defines and implements the operations (such as transformation or code generation) required to manipulate MDE artefacts. Modern approaches to model management generally implement these operations via domain-specific languages (DSLs). This paper presents and compares the principles behind three approaches to implementing DSLs for model management and identifies some of the key differences between DSL engineering in general and for model management. It then shows how theory relates to practice by illustrating how DSL design and implementation approaches have been used in practice to build working languages from the Epsilon model management framework. A set of questions for guiding the development of new model management DSLs is summarised, and data on development costs for the different approaches is presented.

[1]  Richard F. Paige,et al.  The Epsilon Transformation Language , 2008, ICMT@TOOLS.

[2]  John K. Ousterhout,et al.  Scripting: Higher-Level Programming for the 21st Century , 1998, Computer.

[3]  Paul Hudak,et al.  Lambda in Motion: Controlling Robots with Haskell , 1999, PADL.

[4]  Robin Milner,et al.  Definition of standard ML , 1990 .

[5]  Richard F. Paige,et al.  Merging models with the epsilon merging language (EML) , 2006, MoDELS'06.

[6]  Jean Bézivin,et al.  TCS:: a DSL for the specification of textual concrete syntaxes in model engineering , 2006, GPCE '06.

[7]  Richard F. Paige,et al.  Raising the level of abstraction in the development of GMF-based graphical model editors , 2009, 2009 ICSE Workshop on Modeling in Software Engineering.

[8]  Jan Bosch Delegating Compiler Objects: Modularity and Reusability in Language Engineering , 1997, Nord. J. Comput..

[9]  Claus Brabrand,et al.  Growing languages with metamorphic syntax macros , 2000, PEPM '02.

[10]  Arie van Deursen,et al.  Little languages: little maintenance , 1998 .

[11]  Lloyd H. Nakatani Jargons and Infocentrism , 2007 .

[12]  Paul Hudak,et al.  Building domain-specific embedded languages , 1996, CSUR.

[13]  Samuel N. Kamin,et al.  A Special-Purpose Language for Picture-Drawing , 1997, DSL.

[14]  Dimitrios S. Kolovos,et al.  An extensible platform for specification of integrated languages for model management , 2008 .

[15]  Richard F. Paige,et al.  The Epsilon Generation Language , 2008, ECMDA-FA.

[16]  Viljem Zumer,et al.  Implementation of multiple attribute grammar inheritance in the tool LISA , 1999, SIGP.

[17]  Eelco Visser,et al.  Designing Syntax Embeddings and Assimilations for Language Libraries , 2007, MoDELS Workshops.

[18]  R. Paige,et al.  A Framework for Composing Modular and Interoperable Model Management Tasks , 2008 .

[19]  Richard F. Paige,et al.  On the Evolution of OCL for Capturing Structural Constraints in Modelling Languages , 2009, Rigorous Methods for Software Construction and Analysis.

[20]  Bernhard Rumpe,et al.  Domain specific modeling , 2005, Software & Systems Modeling.

[21]  Richard F. Paige,et al.  Unit Testing Model Management Operations , 2008, 2008 IEEE International Conference on Software Testing Verification and Validation Workshop.

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

[23]  Eelco Visser,et al.  MetaBorg in Action: Examples of Domain-Specific Language Embedding and Assimilation Using Stratego/XT , 2005, GTTSE.

[24]  Eric Van Wyk,et al.  Forwarding in Attribute Grammars for Modular Language Design , 2002, CC.

[25]  Jim Steel,et al.  Practical Declarative Model Transformation with Tefkat , 2005, MoDELS Satellite Events.

[26]  Roy Grønmo,et al.  Toward Standardised Model to Text Transformations , 2005, ECMDA-FA.

[27]  Richard F. Paige,et al.  The Epsilon Object Language (EOL) , 2006, ECMDA-FA.

[28]  Tobias Rötschke,et al.  MOFLON: A Standard-Compliant Metamodeling Framework with Graph Transformations , 2006, ECMDA-FA.

[29]  Diomidis Spinellis,et al.  Notable design patterns for domain-specific languages , 2001, J. Syst. Softw..

[30]  Richard F. Paige,et al.  Model comparison: a foundation for model composition and model transformation testing , 2006, GaMMa '06.

[31]  Jean Bézivin,et al.  KM3: A DSL for Metamodel Specification , 2006, FMOODS.