Surveying Rule Inheritance in Model-to-Model Transformation Languages

Model transformations play a significant role in Model-Driven Engineering. However, their reuse mechanisms have yet to receive much attention. In this paper, we propose a comparison framework for rule inheritance in model-to-model transformation languages, and provide an in-depth evaluation of prominent representatives of imperative, declarative and hybrid transformation languages. The framework provides criteria for comparison along orthogonal dimensions, covering static aspects, which indicate whether a set of inheriting transformation rules is well-formed at compile-time, and dynamic aspects, which describe how inheriting rules behave at run-time. The application of this framework to dedicated transformation languages shows that, while providing similar syntactical inheritance concepts, they exhibit different dynamic inheritance semantics and offer basic support for checking static inheritance semantics, only.

[1]  Elke A. Rundensteiner,et al.  Rule inheritance and overriding in active object-oriented databases , 1999 .

[2]  Jean-Marc Jézéquel,et al.  Weaving executability into object-oriented meta-languages , 2005, MoDELS'05.

[3]  Markku Sakkinen,et al.  Disciplined Inheritance , 1989, ECOOP.

[4]  Lars Michael Kristensen,et al.  Coloured Petri Nets - Modelling and Validation of Concurrent Systems , 2009 .

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

[6]  Gerti Kappel,et al.  Surviving the Heterogeneity Jungle with Composite Mapping Operators , 2010, ICMT@TOOLS.

[7]  Frédéric Jouault,et al.  Transforming Models with ATL , 2005, MoDELS.

[8]  Michael Kifer,et al.  Inheritance in Rule-Based Frame Systems: Semantics and Inference , 2006, J. Data Semant..

[9]  Shane Sendall,et al.  Model Transformation: The Heart and Soul of Model-Driven Software Development , 2003, IEEE Softw..

[10]  Andy Schürr,et al.  Generic and reflective graph transformations for the checking and enforcement of modeling guidelines , 2008, 2008 IEEE Symposium on Visual Languages and Human-Centric Computing.

[11]  Werner Retschitzegger,et al.  Reusing Model Transformations across Heterogeneous Metamodels , 2012, Electron. Commun. Eur. Assoc. Softw. Sci. Technol..

[12]  Dennis Wagelaar A Revised Semantics for Rule Inheritance and Module Superimposition in ATL , 2011, MtATL@TOOLS.

[13]  Lu Zhang,et al.  Applying OO Metrics to Assess UML Meta-models , 2004, UML.

[14]  Hartmut Ehrig,et al.  Proceedings of the Third international conference on Graph Transformations , 2006 .

[15]  Jim Steel,et al.  MOF QVT final adopted specification: meta object facility (MOF) 2.0 query/view/transformation specification. , 2005 .

[16]  Jean Bézivin,et al.  Experiments with a High-Level Navigation Language , 2009, ICMT@TOOLS.

[17]  Krzysztof Czarnecki,et al.  Feature-based survey of model transformation approaches , 2006, IBM Syst. J..

[18]  Dániel Varró,et al.  Generic and Meta-transformations for Model Transformation Engineering , 2004, UML.

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

[20]  Jeannette M. Wing,et al.  A New Definition of the Subtype Relation , 1993, ECOOP.

[21]  Gerti Kappel,et al.  A Comparison of Rule Inheritance in Model-to-Model Transformation Languages , 2011, ICMT@TOOLS.

[22]  Hartmut Ehrig,et al.  Integrating Meta-modelling Aspects with Graph Transformation for Efficient Visual Language Definition and Model Manipulation , 2004, FASE.

[23]  Anneke Kleppe,et al.  MCC: A Model Transformation Environment , 2006, ECMDA-FA.

[24]  Jon Oldevik,et al.  Transformation Composition Modelling Framework , 2005, DAIS.

[25]  Craig Chambers,et al.  Object-Oriented Multi-Methods in Cecil , 1992, ECOOP.

[26]  Andreas Rausch,et al.  Journal of Object Technology , 2002 .

[27]  Alfred V. Aho,et al.  Compilers: Principles, Techniques, and Tools , 1986, Addison-Wesley series in computer science / World student series edition.

[28]  Patrick Valduriez,et al.  Towards the efficient development of model transformations using model weaving and matching transformations , 2009, Software & Systems Modeling.

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

[30]  A. Vallecillo,et al.  Orchestrating ATL Model Transformations , 2009 .

[31]  Marten Sijtema,et al.  Introducing Variability Rules in ATL for Managing Variability in MDE-based Product Lines , 2010 .

[32]  Eric Amiel,et al.  Supporting Explicit Disambiguation of Multi-Methods , 1996, ECOOP.

[33]  Tom Mens,et al.  A Taxonomy of Model Transformation , 2006, GRaMoT@GPCE.

[34]  Elisa Bertino,et al.  Trigger Inheritance and Overriding in an Active Object Database System , 2000, IEEE Trans. Knowl. Data Eng..

[35]  Ivan Kurtev,et al.  Application of reflection in a model transformation language , 2010, Software & Systems Modeling.

[36]  Gabor Karsai,et al.  Templatized Model Transformations : Enabling Reuse in Model Transformations , 2009 .

[37]  Bruce G. Lindsay,et al.  Static type checking of multi-methods , 1991, OOPSLA '91.

[38]  Jim Steel,et al.  On model typing , 2007, Software & Systems Modeling.

[39]  Wouter Joosen,et al.  UniTI: a unified transformation infrastructure , 2007, MODELS'07.

[40]  Jean Bézivin,et al.  On the unification power of models , 2005, Software & Systems Modeling.

[41]  Antero Taivalsaari,et al.  On the notion of inheritance , 1996, CSUR.

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

[43]  Hans-Jörg Kreowski,et al.  Typing of Graph Transformation Units , 2004, ICGT.

[44]  Ragnhild Van Der Straeten,et al.  Module superimposition: a composition technique for rule-based model transformation languages , 2010, Software & Systems Modeling.

[45]  Andy Schürr,et al.  Model transformation in the large , 2007, ESEC-FSE '07.