Reuse in model-to-model transformation languages: are we there yet?

In the area of model-driven engineering, model transformations are proposed as the technique to systematically manipulate models. For increasing development productivity as well as quality of model transformations, reuse mechanisms are indispensable. Although numerous mechanisms have been proposed, no systematic comparison exists, making it unclear, which reuse mechanisms may be best employed in a certain situation. Thus, this paper provides an in-depth comparison of reuse mechanisms in model-to-model transformation languages and categorizes them along their intended scope of application. Finally, current barriers and facilitators to model transformation reuse are discussed.

[1]  M. Wimmer,et al.  Fact or Fiction – Reuse in Model-to-Model Transformations ∗ , 2012 .

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

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

[4]  Manuel Wimmer,et al.  Extending ATL for Native UML Profile Support: An Experience Report , 2011, MtATL@TOOLS.

[5]  Gerti Kappel,et al.  Towards an expressivity benchmark for mappings based on a systematic classification of heterogeneities , 2010, MDI '10.

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

[7]  Hans Vangheluwe,et al.  Explicit transformation modeling , 2009, MODELS'09.

[8]  Jordi Cabot,et al.  Specifying Aggregation Functions in Multidimensional Models with OCL , 2010, ER.

[9]  Jean Bézivin,et al.  Model Transformations in Practice Workshop , 2005, MoDELS.

[10]  Clémentine Nebut,et al.  Metamodel Matching for Automatic Model Transformation Generation , 2008, MoDELS.

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

[12]  Martin Gogolla,et al.  Tractable Model Transformation Testing , 2011, ECMFA.

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

[14]  Douglas C. Schmidt,et al.  Guest Editor's Introduction: Model-Driven Engineering , 2006, Computer.

[15]  Robert Cartwright,et al.  Efficient Implementation of Run-time Generic Types for Java , 2002, Generic Programming.

[16]  Dániel Varró,et al.  The model transformation language of the VIATRA2 framework , 2007, Sci. Comput. Program..

[17]  Bernhard Rumpe,et al.  Model-driven Development of Complex Software : A Research Roadmap , 2007 .

[18]  Esther Guerra,et al.  Specification-Driven Test Generation for Model Transformations , 2012, ICMT@TOOLS.

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

[20]  Sebastian Günther,et al.  Design principles for internal domain-specific languages: a pattern catalog illustrated by Ruby , 2010, PLOP '10.

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

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

[23]  Andy Schürr,et al.  Generic and reflective graph transformations for the checking and enforcement of modeling guidelines , 2008, VL/HCC.

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

[25]  Gabor Karsai,et al.  Reusable Idioms and Patterns in Graph Transformation Languages , 2005, GraBaTs.

[26]  Charles W. Krueger,et al.  Software reuse , 1992, CSUR.

[27]  Gerti Kappel,et al.  Debugging Model-to-Model Transformations , 2012, 2012 19th Asia-Pacific Software Engineering Conference.

[28]  Markus Scheidgen,et al.  Type-Safe Model Transformation Languages as Internal DSLs in Scala , 2012, ICMT@TOOLS.

[29]  Jeffrey G. Gray,et al.  Challenges for Addressing Quality Factors in Model Transformation , 2012, 2012 IEEE Fifth International Conference on Software Testing, Verification and Validation.

[30]  Dennis Wagelaar,et al.  Composition Techniques for Rule-Based Model Transformation Languages , 2008, ICMT@TOOLS.

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

[32]  Jordi Cabot,et al.  Using Models of Partial Knowledge to Test Model Transformations , 2012, ICMT@TOOLS.

[33]  Thomas S. Heinze,et al.  Metamodel Matching Based on Planar Graph Edit Distance , 2010, ICMT@TOOLS.

[34]  Gerti Kappel,et al.  Surveying Rule Inheritance in Model-to-Model Transformation Languages , 2012, J. Object Technol..

[35]  Gabor Karsai,et al.  The Graph Rewriting and Transformation Language: GReAT , 2007, Electron. Commun. Eur. Assoc. Softw. Sci. Technol..

[36]  Iris Groher,et al.  Handling Variability in Model Transformations and Generators , 2007 .

[37]  Frédéric Jouault,et al.  Typing in Model Management , 2009, ICMT@TOOLS.

[38]  T. Biggerstaff,et al.  Reusability Framework, Assessment, and Directions , 1987, IEEE Software.

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

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

[41]  Jordi Cabot,et al.  Improving Higher-Order Transformations Support in ATL , 2010, ICMT@TOOLS.

[42]  Kung-Kiu Lau,et al.  A Taxonomy of Software Composition Mechanisms , 2010, 2010 36th EUROMICRO Conference on Software Engineering and Advanced Applications.

[43]  Roland Mittermeir,et al.  A survey of software reuse libraries , 1998, Ann. Softw. Eng..

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

[45]  Nicolas Belloir,et al.  OCL contracts for the verification of model transformations , 2010, Electron. Commun. Eur. Assoc. Softw. Sci. Technol..

[46]  Antonio Vallecillo,et al.  Towards tracking "guilty" transformation rules: a requirements perspective , 2012, AMT '12.

[47]  Renata Pontin de Mattos Fortes,et al.  MOOGLE: a metamodel-based model search engine , 2012, Software & Systems Modeling.

[48]  Thomas Baar,et al.  Electronic Communications of the EASST Volume 36 ( 2010 ) Proceedings of the Workshop on OCL and Textual Modelling ( OCL 2010 ) On the Need of User-defined Libraries in OCL , 2010 .

[49]  Martin Glinz,et al.  Estimating footprints of model operations , 2011, 2011 33rd International Conference on Software Engineering (ICSE).

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

[51]  Krzysztof Czarnecki,et al.  Staged Configuration Using Feature Models , 2004, SPLC.

[52]  Ali Mili,et al.  Reusing Software: Issues and Research Directions , 1995, IEEE Trans. Software Eng..

[53]  Jesús Sánchez Cuadrado,et al.  Approaches for Model Transformation Reuse: Factorization and Composition , 2008, ICMT@TOOLS.

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

[55]  Douglas C. Schmidt,et al.  Model-Driven Engineering , 2006 .

[56]  Stuart Kent,et al.  Model Driven Engineering , 2002, IFM.

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

[58]  Maria-Eugenia Iacob,et al.  Reusable Model Transformation Patterns , 2008, 2008 12th Enterprise Distributed Object Computing Conference Workshops.

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

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

[61]  Paul Clements,et al.  Software product lines - practices and patterns , 2001, SEI series in software engineering.

[62]  Gerti Kappel,et al.  A survey on UML-based aspect-oriented design modeling , 2011, CSUR.

[63]  Jordi Cabot,et al.  ATLTest: a white-box test generation approach for ATL transformations , 2012, MODELS'12.

[64]  Jesús Sánchez Cuadrado,et al.  A Model-Based Approach to Families of Embedded Domain-Specific Languages , 2009, IEEE Transactions on Software Engineering.

[65]  Jürgen Dingel,et al.  Towards a model transformation intent catalog , 2012, AMT '12.

[66]  Gerti Kappel,et al.  Matching Metamodels with Semantic Systems - An Experience Report , 2007, BTW Workshops.

[67]  Frédéric Jouault,et al.  Automatically Discovering Hidden Transformation Chaining Constraints , 2009, MoDELS.

[68]  Juan de Lara,et al.  transML: a family of languages to model model transformations , 2010, MODELS'10.

[69]  Jesús Sánchez Cuadrado,et al.  Modularization of model transformations through a phasing mechanism , 2009, Software & Systems Modeling.

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

[71]  Cristina V. Lopes,et al.  Aspect-oriented programming , 1999, ECOOP Workshops.

[72]  Joanna Chimiak-Opoka,et al.  OCLLib, OCLUnit, OCLDoc: Pragmatic Extensions for the Object Constraint Language , 2009, MoDELS.

[73]  Adolfo Jonathan Salinas-López,et al.  CEUR Workshop Proceedings , 2015 .

[74]  Jeff Kramer,et al.  Is abstraction the key to computing? , 2007, CACM.

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

[76]  Jim Steel,et al.  On Model Subtyping , 2012, ECMFA.

[77]  Gerti Kappel,et al.  Automated verification of model transformations based on visual contracts , 2013, Automated Software Engineering.

[78]  Thomas Reiter,et al.  Towards a runtime model based on colored Petri-nets for the execution of model transformations , 2007 .

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

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

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

[82]  Martin Gogolla,et al.  Typing Model Transformations Using Tracts , 2012, ICMT@TOOLS.

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