Applying MDE to the (semi-)automatic development of model transformations

ContextModel transformations play a key role in any software development project based on Model-Driven Engineering principles. However, despite the inherent complexity of developing model transformations, little attention has been paid to the application of MDE principles to the development of model transformations. ObjectiveIn order to: (a) address the inherent complexity of model transformation development and (b) alleviate the problem of the diversity of the languages that are available for model transformation, this paper proposes the application of MDE principles to the development of model transformations. In particular, we have adopted the idea of handling model transformations as transformation models in order to be able to model, transform and generate model transformations. MethodThe proposal follows an MDA-based approach that entails the modeling of model transformations at different abstraction levels and the connection of these models by means of model transformations. It has been empirically validated by conducting a set of case studies following a systematic research methodology. ResultsThe proposal was supported by the introduction of MeTAGeM, a methodological and technical framework for the model-driven development of model transformations that bundles a set of Domain-Specific Languages for modeling model transformations with a set of model transformations in order to bridge these languages and (semi-)automate model transformations development. ConclusionThis paper serves to show that a semi-automatic development process for model transformations is not only desirable but feasible. This process, based on MDE principles, helps to ease the task of developing model transformations and to alleviate interoperability issues between model transformation languages.

[1]  Jordi Cabot,et al.  Transformation techniques for OCL constraints , 2006, Sci. Comput. Program..

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

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

[4]  Per Runeson,et al.  Guidelines for conducting and reporting case study research in software engineering , 2009, Empirical Software Engineering.

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

[6]  Jens von Pilgrim,et al.  A survey of traceability in requirements engineering and model-driven development , 2010, Software & Systems Modeling.

[7]  Gerti Kappel,et al.  Lost in Translation? Transformation Nets to the Rescue! , 2009, UNISCON.

[8]  Mario Piattini,et al.  Semi-formal transformation of secure business processes into analysis class and use case models: An MDA approach , 2010, Inf. Softw. Technol..

[9]  Juan de Lara,et al.  Engineering model transformations with transML , 2011, Software & Systems Modeling.

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

[11]  Markus Völter,et al.  Model-Driven Software Development: Technology, Engineering, Management , 2006 .

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

[13]  Jr. Frederick P. Brooks,et al.  The mythical man-month (anniversary ed.) , 1995 .

[14]  Jean-Marc Jézéquel,et al.  Model-Driven analysis and synthesis of concrete syntax , 2006, MoDELS'06.

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

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

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

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

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

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

[21]  Jean Bézivin,et al.  In Search of a Basic Principle for Model Driven Engineering , 2004 .

[22]  Ivan Kurtev,et al.  State of the Art of QVT: A Model Transformation Language Standard , 2008, AGTIVE.

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

[24]  Kevin Lano,et al.  Model-Driven Development of Model Transformations , 2011, ICMT@TOOLS.

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

[26]  Esperanza Marcos,et al.  A framework for model-driven development of information systems: Technical decisions and lessons learned , 2012, J. Syst. Softw..

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

[28]  Hannes Schwarz,et al.  Model-Driven Software Development , 2013 .

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

[30]  Martin Gogolla,et al.  Model transformations? transformation models! , 2006, MoDELS'06.

[31]  Jordi Cabot,et al.  From UML/OCL to SBVR specifications: A challenging transformation , 2010, Inf. Syst..

[32]  Juha-Pekka Tolvanen,et al.  MetaEdit+: defining and using domain-specific modeling languages and code generators , 2003, OOPSLA '03.

[33]  Philip A. Bernstein,et al.  ModelGen: model independent schema translation , 2005, 21st International Conference on Data Engineering (ICDE'05).

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

[35]  Esperanza Marcos,et al.  Applying CIM-to-PIM model transformations for the service-oriented development of information systems , 2011, Inf. Softw. Technol..

[36]  Jean-Marc Jézéquel,et al.  Reflective Model Driven Engineering , 2003, UML.

[37]  Martin Gogolla,et al.  Educators' Symposium at MODELS 2009 , 2009, MoDELS.

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

[39]  Richard F. Paige,et al.  A comparison of model migration tools , 2010, MODELS'10.

[40]  Philip A. Bernstein,et al.  Applying Model Management to Classical Meta Data Problems , 2003, CIDR.

[41]  Nora Koch,et al.  Transformation techniques in the model-driven development process of UWE , 2006, ICWE '06.

[42]  Frédéric Jouault,et al.  On the interoperability of model-to-model transformation languages , 2007, Sci. Comput. Program..

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

[44]  M. Volter From Programming to Modeling - and Back Again , 2011 .

[45]  Paolo Atzeni,et al.  Model Management Systems vs. Model Driven Engineering: a case study , 2012, SAC '12.

[46]  Valeria de Castro,et al.  WSDL automatic generation from UML models in a MDA framework , 2005, International Conference on Next Generation Web Services Practices (NWeSP'05).

[47]  Philip A. Bernstein,et al.  Model-Independent Schema and Data Translation , 2006, EDBT.

[48]  Esperanza Marcos,et al.  Supporting Model-Driven Development of Object-Relational Database Schemas: A Case Study , 2009, ICMT@TOOLS.

[49]  James Davis,et al.  GME: the generic modeling environment , 2003, OOPSLA '03.

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

[51]  Richard F. Paige,et al.  Detecting and Repairing Inconsistencies across Heterogeneous Models , 2008, 2008 1st International Conference on Software Testing, Verification, and Validation.

[52]  Fred P. Brooks,et al.  The Mythical Man-Month , 1975, Reliable Software.

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

[54]  Juan de Lara,et al.  Meta-modelling and graph grammars for multi-paradigm modelling in AToM3 , 2004, Software & Systems Modeling.

[55]  Andrés Vignaga A Methodological Approach to Developing Model Transformations , 2007, MoDELS.

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

[57]  Antonio Cicchetti,et al.  Automating Co-evolution in Model-Driven Engineering , 2008, 2008 12th International IEEE Enterprise Distributed Object Computing Conference.

[58]  Juan de Lara,et al.  Verification and validation of declarative model-to-model transformations through invariants , 2010, J. Syst. Softw..

[59]  Jean Bézivin,et al.  Optimization Patterns for OCL-Based Model Transformations , 2009, MoDELS.

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

[61]  Mario Piattini,et al.  A family of case studies on business process mining using MARBLE , 2012, J. Syst. Softw..