A generic approach to model generation operations

Abstract 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]  Douglas C. Schmidt,et al.  Automated Diagnosis of Product-Line Configuration Errors in Feature Models , 2008, 2008 12th International Software Product Line Conference.

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

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

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

[5]  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).

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

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

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

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

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

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

[12]  Marcos Didonet Del Fabro,et al.  Transformation as Search , 2013, ECMFA.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[29]  Indrakshi Ray,et al.  On challenges of model transformation from UML to Alloy , 2008, 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]  Stephen A. Cook,et al.  The complexity of theorem-proving procedures , 1971, STOC.

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

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

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

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

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

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

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

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

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

[41]  Daniel Jackson Automating first-order relational logic , 2000, SIGSOFT '00/FSE-8.

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

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

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