Claimed advantages and disadvantages of (dedicated) model transformation languages: a systematic literature review

There exists a plethora of claims about the advantages and disadvantages of model transformation languages compared to general-purpose programming languages. With this work, we aim to create an overview over these claims in the literature and systematize evidence thereof. For this purpose, we conducted a systematic literature review by following a systematic process for searching and selecting relevant publications and extracting data. We selected a total of 58 publications, categorized claims about model transformation languages into 14 separate groups and conceived a representation to track claims and evidence through the literature. From our results, we conclude that: (i) the current literature claims many advantages of model transformation languages but also points towards certain deficits and (ii) there is insufficient evidence for claimed advantages and disadvantages and (iii) there is a lack of research interest into the verification of claims.

[1]  Philippe Collet,et al.  SIGMA: Scala Internal Domain-Specific Languages for Model Manipulations , 2014, MoDELS.

[2]  Laurence Tratt,et al.  Model transformations in MT , 2007, Sci. Comput. Program..

[3]  Don S. Batory,et al.  Reengineering a complex application using a scalable data structure compiler , 1994, SIGSOFT '94.

[4]  Volker Stolz,et al.  QVT-based model transformation using XSLT , 2011, SOEN.

[5]  Kunle Olukotun,et al.  Language virtualization for heterogeneous parallel computing , 2010, OOPSLA.

[6]  Miroslaw Staron,et al.  Adopting model driven software development in industry: a case study at two companies , 2006, MoDELS'06.

[7]  Yu Sun,et al.  Model transformation by demonstration , 2009, MoDELS.

[8]  Valdis Berzins,et al.  The Realizable Benefits of a Language Prototyping Language , 1988, IEEE Trans. Software Eng..

[9]  Gerti Kappel,et al.  Reuse in model-to-model transformation languages: are we there yet? , 2013, Software & Systems Modeling.

[10]  Arie van Deursen,et al.  Domain-specific languages: an annotated bibliography , 2000, SIGP.

[11]  Claudia Pons,et al.  Model Transformation Languages Relying on Models as ADTs , 2009, SLE.

[12]  Uwe Aamann How to Uniformly Specify Program Analysis and Transformation with Graph Rewrite Systems , 1996 .

[13]  Jesper Andersson,et al.  Claims and supporting evidence for self-adaptive systems: A literature study , 2012, 2012 7th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS).

[14]  Timo Kehrer,et al.  Henshin: A Usability-Focused Framework for EMF Model Transformation Development , 2017, ICGT.

[15]  Lutz Prechelt,et al.  An Empirical Comparison of Seven Programming Languages , 2000, Computer.

[16]  Renars Liepins Library for model querying: IQuery , 2012, OCL '12.

[17]  Louis M. Rose,et al.  The Petri-Nets to Statecharts Transformation Case , 2013, TTC.

[18]  Gabor Karsai,et al.  A UML-based Graph Transformation Approach for Implementing Domain-Specific Model Transformations , 2003 .

[19]  Benjamin G. Zorn,et al.  A comparison of object‐oriented programming in four modern languages , 1994, Softw. Pract. Exp..

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

[21]  Julian Cummings,et al.  Comparison of C++ and Fortran 90 for object-oriented scientific programming , 1997 .

[22]  Dániel Varró,et al.  Termination Analysis of Model Transformations by Petri Nets , 2006, ICGT.

[23]  Arie van Deursen,et al.  Domain-specific language design requires feature descriptions , 2002 .

[24]  Michael Felderer,et al.  Current State of Research on Continuous Experimentation: A Systematic Mapping Study , 2018, 2018 44th Euromicro Conference on Software Engineering and Advanced Applications (SEAA).

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

[26]  Giancarlo Succi,et al.  An industrial study of reuse, quality, and productivity , 2001, J. Syst. Softw..

[27]  Vlad Acretoaie,et al.  Delivering the Next Generation of Model Transformation Languages and Tools , 2013 .

[28]  Philippe Collet,et al.  Manipulating models using internal domain-specific languages , 2014, SAC.

[29]  Pearl Brereton,et al.  Performing systematic literature reviews in software engineering , 2006, ICSE.

[30]  Jianbin Fang,et al.  A Comprehensive Performance Comparison of CUDA and OpenCL , 2011, 2011 International Conference on Parallel Processing.

[31]  Michael J. Piovoso,et al.  A statistical study of the relevance of lines of code measures in software projects , 2014, Innovations in Systems and Software Engineering.

[32]  Ansgar Radermacher,et al.  Support for Design Patterns Through Graph Transformation Tools , 1999, AGTIVE.

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

[34]  Andy Schürr,et al.  Checking and Enforcement of Modeling Guidelines with Graph Transformations , 2008, AGTIVE.

[35]  M Mernik,et al.  When and how to develop domain-specific languages , 2005, CSUR.

[36]  Vinay Kulkarni,et al.  A Model-Based Approach to Systematic Review of Research Literature , 2017, ISEC.

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

[38]  W. Gareth J. Howells,et al.  SiTra: simple transformations in Java , 2006, MoDELS'06.

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

[40]  H. D. Rombach,et al.  The Goal Question Metric Approach , 1994 .

[41]  Arif Wider Implementing a Bidirectional Model Transformation Language as an Internal DSL in Scala , 2014, EDBT/ICDT Workshops.

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

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

[44]  Juan de Lara,et al.  Quick fixing ATL model transformations , 2015, 2015 ACM/IEEE 18th International Conference on Model Driven Engineering Languages and Systems (MODELS).

[45]  Miguel A. Fernández,et al.  Abstracting Complex Languages through Transformation and Composition , 2009, MoDELS.

[46]  Ralf H. Reussner,et al.  Using internal domain-specific languages to inherit tool support and modularity for model transformations , 2019, Software & Systems Modeling.

[47]  Jean Bézivin,et al.  ATL: a QVT-like transformation language , 2006, OOPSLA '06.

[48]  Mark van den Brand,et al.  Model Transformation Analysis: Staying Ahead of the Maintenance Nightmare , 2011, ICMT@TOOLS.

[49]  Holger Giese,et al.  Bridging the gap between formal semantics and implementation of triple graph grammars , 2010, 2010 Workshop on Model-Driven Engineering, Verification, and Validation.

[50]  Sébastien Gérard,et al.  The Future of Model Transformation Languages: An Open Community Discussion , 2019, J. Object Technol..

[51]  Gabriele Taentzer,et al.  Henshin: advanced concepts and tools for in-place EMF model transformations , 2010, MODELS'10.

[52]  Don S. Batory,et al.  Achieving extensibility through product-lines and domain-specific languages: a case study , 2000, TSEM.

[53]  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.

[54]  Jesús Sánchez Cuadrado,et al.  RubyTL: A Practical, Extensible Transformation Language , 2006, ECMDA-FA.

[55]  K. Charmaz,et al.  Constructing Grounded Theory , 2014 .

[56]  Tim Sheard,et al.  A software engineering experiment in software component generation , 1996, Proceedings of IEEE 18th International Conference on Software Engineering.

[57]  Jordi Cabot,et al.  Enabling the Reuse of Stored Model Transformations Through Annotations , 2015, ICMT.

[58]  Natalia Juristo Juzgado,et al.  Empirical evaluation of the effects of experience on code quality and programmer productivity: an exploratory study , 2017, Empirical Software Engineering.

[59]  Michael Lawley,et al.  Implementing a practical declarative logic-based model transformation engine , 2007, SAC '07.

[60]  Claes Wohlin,et al.  Guidelines for snowballing in systematic literature studies and a replication in software engineering , 2014, EASE '14.

[61]  T. Capers Jones,et al.  Measuring Programming Quality and Productivity , 1978, IBM Syst. J..

[62]  Jan Karlsbjerg,et al.  Research philosophies in the IOS adoption field , 2003, ECIS.

[63]  Robert Hirschfeld,et al.  Towards Empirical Evidence on the Comprehensibility of Natural Language Versus Programming Language , 2019, Understanding Innovation.

[64]  Jean-Sébastien Sottet,et al.  Defining Domain Specific Transformations in Human-Computer interfaces development , 2014, 2014 2nd International Conference on Model-Driven Engineering and Software Development (MODELSWARD).

[65]  Miguel A. Fernández,et al.  An empirical study of the state of the practice and acceptance of model-driven engineering in four industrial cases , 2012, Empirical Software Engineering.

[66]  Ulf T. Wiger Four-fold Increase in Productivity and Quality , 2001 .

[67]  Richard F. Paige,et al.  Epsilon Flock: a model migration language , 2012, Software & Systems Modeling.

[68]  Matthew Stephan Queen A comparative look at model transformation languages , 2009 .

[69]  Jackie MacDonald,et al.  Systematic Approaches to a Successful Literature Review , 2014 .

[70]  Juan de Lara,et al.  Model Transformation Product Lines , 2018, MoDELS.

[71]  Thomas Baar,et al.  On the Usage of Concrete Syntax in Model Transformation Rules , 2006, Ershov Memorial Conference.

[72]  Jesús Fernández-Villaverde,et al.  A Comparison of Programming Languages in Economics , 2014 .

[73]  Georg Hinkel,et al.  Change propagation and bidirectionality in internal transformation DSLs , 2017, Software & Systems Modeling.

[74]  Daniele Comotti,et al.  A Java vs. C++ Performance Evaluation: A 3D Modeling Benchmark , 2012, SIMPAR.

[75]  Peri L. Tarr,et al.  Model-driven development : The good , the bad , and the ugly & , 2006 .

[76]  Jingling Xue,et al.  A Comparative Study of Web Application Design Models Using the Java Technologies , 2004, APWeb.

[77]  Rocco Moretti,et al.  Model Driven Architecture (MDA) , 2007 .

[78]  Silvia Mara Abrahão,et al.  A systematic review of the use of requirements engineering techniques in model-driven development , 2010, MODELS'10.

[79]  Mary Shaw,et al.  Writing good software engineering research papers , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[80]  Gabor Karsai,et al.  Generative Programming via Graph Transformations in the Model-Driven Architecture , 2002 .

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

[82]  Gerti Kappel,et al.  Catch me if you can – debugging support for model transformations , 2009, MODELS'09.

[83]  Marjan Mernik,et al.  Domain-Specific Languages: A Systematic Mapping Study , 2017, SOFSEM.

[84]  Danny Weyns,et al.  Variability in Software Systems—A Systematic Literature Review , 2014, IEEE Transactions on Software Engineering.

[85]  Sven Patzina,et al.  A Case Study Based Comparison of ATL and SDM , 2011, AGTIVE.

[86]  Jim Steel,et al.  Domain-specific model transformation in building quantity take-off , 2011, MODELS'11.

[87]  Victor R. Basili,et al.  An Investigation of Human Factors in Software Development , 1979, Computer.

[88]  Gabor Karsai,et al.  An examination of DSLs for concisely representing model traversals and transformations , 2003, 36th Annual Hawaii International Conference on System Sciences, 2003. Proceedings of the.

[89]  Marjan Mernik,et al.  Domain-Specific Languages: A Systematic Mapping Study , 2016, Inf. Softw. Technol..

[90]  Esther Guerra,et al.  A Component Model for Model Transformations , 2014, IEEE Transactions on Software Engineering.

[91]  Dániel Varró,et al.  Survey and classification of model transformation tools , 2018, Software & Systems Modeling.

[92]  Håkan Burden,et al.  Industrial Adoption of Model-Driven Engineering: Are the Tools Really the Problem? , 2013, MoDELS.

[93]  Shin-Shing Shin Empirical study on the effectiveness and efficiency of model-driven architecture techniques , 2018, Software & Systems Modeling.

[94]  Juan de Lara,et al.  Towards the Systematic Construction of Domain-Specific Transformation Languages , 2014, ECMFA.

[95]  Nuno Oliveira,et al.  Comparing general-purpose and domain-specific languages: An empirical study , 2010, Comput. Sci. Inf. Syst..

[96]  Karima Berramla,et al.  Formal validation of model transformation with Coq proof assistant , 2015, 2015 First International Conference on New Technologies of Information and Communication (NTIC).

[97]  Anthea Sutton,et al.  Systematic Approaches to a Successful Literature Review , 2012 .

[98]  Mark Rouncefield,et al.  Empirical assessment of MDE in industry , 2011, 2011 33rd International Conference on Software Engineering (ICSE).

[99]  Ralf H. Reussner,et al.  Designing information hiding modularity for model transformation languages , 2014, MODULARITY.

[100]  Arend Rensink,et al.  A survey and comparison of transformation tools based on the transformation tool contest , 2014, Sci. Comput. Program..

[101]  Laurence Tratt,et al.  Model transformations and tool integration , 2005, Software & Systems Modeling.

[102]  Nuno Jardim Nunes,et al.  Ceiling and Threshold of PaaS Tools: The Role of Learnability in Tool Adoption , 2016, HCSE/HESSD.

[103]  Andrzej Wasowski,et al.  Model transformation languages under a magnifying glass: a controlled experiment with Xtend, ATL, and QVT , 2018, ESEC/SIGSOFT FSE.

[104]  Dániel Varró,et al.  Advanced model transformation language constructs in the VIATRA2 framework , 2006, SAC.

[105]  Barry W. Boehm,et al.  Cost models for future software life cycle processes: COCOMO 2.0 , 1995, Ann. Softw. Eng..

[106]  Tore Dybå,et al.  Conducting realistic experiments in software engineering , 2002, Proceedings International Symposium on Empirical Software Engineering.

[107]  Frédéric Jouault,et al.  Efficient ATL Incremental Transformations , 2019, J. Object Technol..

[108]  Bran Selic,et al.  Execution of UML models: a systematic review of research and practice , 2018, Software & Systems Modeling.

[109]  Claes Wohlin,et al.  Experiences from using snowballing and database searches in systematic literature studies , 2015, EASE.

[110]  Françoise Détienne,et al.  Object-Oriented Program Comprehension: Effect of Expertise, Task and Phase , 2002, Empirical Software Engineering.

[111]  Mihaly Berekmeri,et al.  Control-Theoretical Software Adaptation: A Systematic Literature Review , 2017, IEEE Transactions on Software Engineering.

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