Controversy Corner A generic approach to model generation operations

Model generation operations are important artifacts in MDE applications. These approaches can be used for model verification, model finding, and others. In many scenarios, model transformations can as well be represented by a model generation operation. This often comes with the advantage of being bidirectional and supporting increments. However, most part of model generation approaches do not target several operation kinds, but narrower scenarios by mapping the generation problem into solver specific problems. They are efficient, but often don’t have a supporting framework. In this paper, we present an approach and framework that allows to specify and to execute model operations that can be represented in terms of model generation operations. We first introduce a model search layer that can be used with different solvers. We illustrate this layer with a driving example implemented using Alloy/SAT solver. On top of this, we introduce a transformation layer, which specification are translated into the model search layer, independently from any solver. The solution is natively bidirectional, incremental and it is not restricted to one-and-one scenarios. The approach is illustrated by two use cases and with 3 different scenarios, backed by a full, extensible and free implementation.

[1]  Michael J. Maher,et al.  Constraint Logic Programming: A Survey , 1994, J. Log. Program..

[2]  John K. Slaney,et al.  FINDER: Finite Domain Enumerator - System Description , 1994, CADE.

[3]  Hantao Zhang,et al.  System Description: Generating Models by SEM , 1996, CADE.

[4]  Jim Steel,et al.  Practical Declarative Model Transformation with Tefkat , 2005, MoDELS Satellite Events.

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

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

[7]  Michael Lawley,et al.  Incremental model transformation for the evolution of model-driven systems , 2006, MoDELS'06.

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

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

[10]  Jordi Cabot,et al.  UMLtoCSP: a tool for the formal verification of UML/OCL models using constraint programming , 2007, ASE.

[11]  Martin Gogolla,et al.  USE: A UML-based specification environment for validating UML and OCL , 2007, Sci. Comput. Program..

[12]  Douglas C. Schmidt,et al.  Automated Diagnosis of Product-Line Configuration Errors in Feature Models , 2008, 2008 12th International Software Product Line Conference.

[13]  István Ráth,et al.  Incremental pattern matching in the viatra model transformation system , 2008, GRaMoT '08.

[14]  Andy Schürr,et al.  15 Years of Triple Graph Grammars , 2008, ICGT.

[15]  Indrakshi Ray,et al.  On challenges of model transformation from UML to Alloy , 2008, Software & Systems Modeling.

[16]  H. Sahraoui,et al.  Model Transformation as an Optimization Problem , 2008, MoDELS.

[17]  Holger Giese,et al.  From model transformation to incremental bidirectional model synchronization , 2009, Software & Systems Modeling.

[18]  Michael Lawley,et al.  Towards Model Round-Trip Engineering: An Abductive Approach , 2009, ICMT@TOOLS.

[19]  Ralf Lämmel,et al.  Bidirectional Transformations: A Cross-Discipline Perspective , 2009, ICMT@TOOLS.

[20]  Thomas Vogel,et al.  Incremental model synchronization for efficient run-time monitoring , 2009, MODELS'09.

[21]  Patrick Albert,et al.  Model Search: Formalizing and Automating Constraint Solving in MDE Platforms , 2010, ECMFA.

[22]  Antonio Cicchetti,et al.  JTL: A Bidirectional and Change Propagating Transformation Language , 2010, SLE.

[23]  Henry Muccini,et al.  A model-driven approach to automate the propagation of changes among Architecture Description Languages , 2010, Software & Systems Modeling.

[24]  Houari A. Sahraoui,et al.  Search-based model transformation by example , 2010, Software & Systems Modeling.

[25]  Tom Mens,et al.  Assessing the Kodkod Model Finder for Resolving Model Inconsistencies , 2011, ECMFA.

[26]  Ákos Horváth,et al.  Quick fix generation for DSMLs , 2011, 2011 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC).

[27]  Bernhard Rumpe,et al.  CD2Alloy: class diagrams analysis using alloy revisited , 2011, MODELS'11.

[28]  Daniel Riesco,et al.  Translating between Alloy specifications and UML class diagrams annotated with OCL , 2015, Software & Systems Modeling.

[29]  Tom Mens,et al.  Resolving model inconsistencies using automated regression planning , 2013, Software & Systems Modeling.

[30]  Alcino Cunha,et al.  Model repair and transformation with Echo , 2013, 2013 28th IEEE/ACM International Conference on Automated Software Engineering (ASE).

[31]  Marouane Kessentini,et al.  Searching models, modeling search: On the synergies of SBSE and MDE , 2013, 2013 1st International Workshop on Combining Modelling and Search-Based Software Engineering (CMSBSE).

[32]  Alcino Cunha,et al.  Implementing QVT-R Bidirectional Model Transformations Using Alloy , 2013, FASE.

[33]  Alcino Cunha,et al.  Least-change bidirectional model transformation with QVT-R and ATL , 2014, Software & Systems Modeling.

[34]  Jordi Cabot,et al.  Feature-based classification of bidirectional transformation approaches , 2014, Software & Systems Modeling.

[35]  Alcino Cunha,et al.  Exploring Scenario Exploration , 2015, FASE.

[36]  Jesús Manuel Almendros-Jiménez,et al.  PTL: A model transformation language based on logic programming , 2016, J. Log. Algebraic Methods Program..

[37]  Kalyanmoy Deb,et al.  Search-based detection of model level changes , 2017, Empirical Software Engineering.

[38]  Oszkár Semeráth,et al.  Iterative and Incremental Model Generation by Logic Solvers , 2016, FASE.

[39]  Manuel Wimmer,et al.  Search‐based model transformations , 2016, J. Softw. Evol. Process..

[40]  Alcino Cunha,et al.  A Feature-Based Classification of Model Repair Approaches , 2015, IEEE Transactions on Software Engineering.

[41]  Marouane Kessentini,et al.  Model Transformation Modularization as a Many-Objective Optimization Problem , 2017, IEEE Transactions on Software Engineering.