A Satisficing Bi-Directional Model Transformation Engine using Mixed Integer Linear Programming

The use of model transformation in software engineering has increased significantly during the past decade, with the ability to rapidly transform models and ensure consistency between those models being a key property of Model Driven Architecture. However, these approaches can be applied to a wide variety of dierent model types and some of these models and associated transformations require dierent semantics than those popularised by current model transformation tools. Specifically, current relational model transformation languages typically prioritise matching relation patterns in the source model over creating a target model that is compliant with its meta-model. In this paper we describe a relational model transformation engine implemented as a series of Mixed Integer Linear Programs (MILP). This engine has a key novel feature; it prioritises target model compliance with its meta-model by considering multiple interpretations of applying the transformation specification in order to ensure a correct target model is generated. In this paper the MILP transformation engine and the representations it uses are described, followed by the results of applying it to examples of varying complexity.

[1]  Uwe Aßmann,et al.  Safe Composition of Transformations , 2010, ICMT@TOOLS.

[2]  Andy Schürr,et al.  Dagstuhl seminar on bidirectional transformations (BX) , 2011, SGMD.

[3]  Benoit Baudry,et al.  On Combining Multi-formalism Knowledge to Select Models for Model Transformation Testing , 2008, 2008 1st International Conference on Software Testing, Verification, and Validation.

[4]  SenSagar,et al.  Towards Domain-specific Model Editors with Automatic Model Completion , 2010 .

[5]  S. Gass,et al.  Linear Programming: Methods and Applications. , 1960 .

[6]  Andy Schürr,et al.  Specification of Graph Translators with Triple Graph Grammars , 1994, WG.

[7]  Juan de Lara,et al.  A UML/OCL framework for the analysis of graph transformation rules , 2009, Software & Systems Modeling.

[8]  Toni Mancini,et al.  Finite Model Reasoning on UML Class Diagrams Via Constraint Programming , 2007, AI*IA.

[9]  Chris W. Bailey,et al.  Developing Coherent, Concise and Comprehensive User Requirements Using the MoD Architectural Framework (MODAF) , 2005 .

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

[11]  Frédéric Jouault,et al.  On the architectural alignment of ATL and QVT , 2006, SAC '06.

[12]  Hans Vangheluwe,et al.  Towards Domain-specific Model Editors with Automatic Model Completion , 2010, Simul..

[13]  Perdita Stevens A Simple Game-Theoretic Approach to Checkonly QVT Relations , 2009, ICMT@TOOLS.

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

[15]  J. Hauser,et al.  The House of Quality , 1988 .

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

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

[18]  Jim Steel,et al.  MOF QVT final adopted specification: meta object facility (MOF) 2.0 query/view/transformation specification. , 2005 .

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

[20]  Jordi Cabot Sagrera,et al.  Verification of UML/OCL Class Diagrams Using Constraint Programming , 2008 .

[21]  Emanuel Falkenauer,et al.  A hybrid grouping genetic algorithm for bin packing , 1996, J. Heuristics.

[22]  Ekkart Kindler,et al.  Comparing relational model transformation technologies: implementing Query/View/Transformation with Triple Graph Grammars , 2009, Software & Systems Modeling.

[23]  Benoit Baudry,et al.  Automatic Model Generation Strategies for Model Transformation Testing , 2009, ICMT@TOOLS.

[24]  Paolo Toth,et al.  Algorithms for the Bin Packing Problem with Conflicts , 2010, INFORMS J. Comput..

[25]  Roy Kalawsky,et al.  Addressing systems verification of autonomous systems through Bi-directional model transformations: A systems model driven architecture approach , 2011, 2011 6th International Conference on System of Systems Engineering.

[26]  E. Kindler,et al.  Triple Graph Grammars : Concepts , Extensions , Implementations , and Application Scenarios , 2007 .

[27]  Frank Budinsky,et al.  EMF: Eclipse Modeling Framework 2.0 , 2009 .