EMF Profiles: A Lightweight Extension Approach for EMF Models

Domain-Specific Modeling Languages (DSMLs) are getting more and more attention as a key element of Model Driven Engineering. As any other software artifact, DSMLs should continuously evolve to adapt to the changing needs of the domain they represent. Unfortunately, right now evolution of DSMLs is a costly process that requires changing the DSML metamodel and re-creating the complete modeling environment. In this paper we advocate for the use of EMF Profiles, an adaptation of the UML Profile concept to DSMLs. Profiles have been a key enabler for the success of UML by providing a lightweight language-inherent extension mechanism which is expressive enough to cover an important subset of extension scenarios. We believe a similar concept for DSMLs would provide a valuable extension mechanism which has been so far neglected by current metamodeling tools. Apart from direct metamodel profiles, we also propose reusable profile definition mechanisms whereby profiles are defined independently of any DSML and, later on, coupled with all DSMLs that can benefit from these profiles. Our approach has been implemented in a prototype integrated in the EMF environment.

[1]  Gerti Kappel,et al.  An Example Is Worth a Thousand Words: Composite Operation Modeling By-Example , 2009, MoDELS.

[2]  Brian Henderson-Sellers,et al.  Systematic stereotype usage , 2003, Software & Systems Modeling.

[3]  Juan de Lara,et al.  Generic Model Transformations: Write Once, Reuse Everywhere , 2011, ICMT@TOOLS.

[4]  Jean Bézivin,et al.  ATL: A model transformation tool , 2008, Sci. Comput. Program..

[5]  Thomas Kühne,et al.  Matters of (Meta-) Modeling , 2006, Software & Systems Modeling.

[6]  Jean Bézivin,et al.  On the Use of Higher-Order Model Transformations , 2009, ECMDA-FA.

[7]  Jean Bézivin,et al.  AMW: a generic model weaver , 2005 .

[8]  Colin Atkinson,et al.  The Essence of Multilevel Metamodeling , 2001, UML.

[9]  Juan de Lara,et al.  Generic meta-modelling with concepts, templates and mixin layers , 2010, MODELS'10.

[10]  Jordi Cabot,et al.  MoDisco: a generic and extensible framework for model driven reverse engineering , 2010, ASE.

[11]  Alexander A. Stepanov,et al.  Generic Programming , 1988, ISSAC.

[12]  Olivier Barais,et al.  Generic Model Refactorings , 2009, MoDELS.

[13]  Frank Budinsky,et al.  Eclipse Modeling Framework , 2003 .

[14]  Richard F. Paige,et al.  Constructing and Navigating Non-invasive Model Decorations , 2010, ICMT@TOOLS.

[15]  Juha-Pekka Tolvanen,et al.  Domain-Specific Modeling: Enabling Full Code Generation , 2008 .

[16]  Bran Selic,et al.  A Systematic Approach to Domain-Specific Language Design Using UML , 2007, 10th IEEE International Symposium on Object and Component-Oriented Real-Time Distributed Computing (ISORC'07).

[17]  Jürgen Dingel,et al.  Understanding and improving UML package merge , 2008, Software & Systems Modeling.

[18]  Esperanza Marcos,et al.  Using weaving models to automate model-driven web engineering proposals , 2010, Int. J. Comput. Appl. Technol..

[19]  Bran Selic,et al.  Consistent modeling using multiple UML profiles , 2010, MODELS'10.

[20]  Jordi Cabot,et al.  From UML Profiles to EMF Profiles and Beyond , 2011, TOOLS.

[21]  Colin Atkinson,et al.  A tour of language customization concepts , 2007, Adv. Comput..

[22]  Laurian M. Chirica,et al.  The entity-relationship model: toward a unified view of data , 1975, SIGF.

[23]  Peter Kilpatrick,et al.  A Scalable Approach to Annotate Arbitrary Modelling Languages , 2010, Modellierung.