Controlling Reuse in Pattern-Based Model-to-Model Transformations

Model-to-model transformation is a central activity in Model-Driven Engineering that consists of transforming models from a source to a target language. Pattern-based model-to-model transformation is our approach for specifying transformations in a declarative, relational and formal style. The approach relies on patterns describing allowed or forbidden relations between two models. These patterns are compiled into operational mechanisms to perform forward and backward transformations. Inspired by QVT-Relations, in this paper we incorporate into our framework the so-called check-before-enforce semantics, which checks the existence of suitable elements before creating them (i.e. it promotes reuse). Moreover, we enable the use of keys in order to describe when two elements are considered equal. The presented techniques are illustrated with a bidirectional transformation between Web Services Description Language and Enterprise Java Beans models.

[1]  Scott W. Ambler,et al.  Mastering Enterprise JavaBeans , 2004 .

[2]  Juan de Lara,et al.  Pattern-Based Model-to-Model Transformation: Handling Attribute Conditions , 2009, ICMT@TOOLS.

[3]  Volker Gruhn,et al.  Model-Driven Software Development , 2005 .

[4]  Peter Braun,et al.  Transforming Object Oriented Models with BOTL , 2003, GT-VMT@ICGT.

[5]  Hartmut Ehrig,et al.  Fundamentals of Algebraic Graph Transformation (Monographs in Theoretical Computer Science. An EATCS Series) , 1992 .

[6]  Gabriele Taentzer,et al.  Translation of Restricted OCL Constraints into Graph Constraints for Generating Meta Model Instances by Graph Grammars , 2008, GT-VMT@ETAPS.

[7]  Stuart Kent,et al.  A Relational Approach to Defining Transformations in a Metamodel , 2002, UML.

[8]  Hartmut Ehrig,et al.  Attributed graph transformation with node type inheritance , 2007, Theor. Comput. Sci..

[9]  Jean-Marc Jézéquel,et al.  ≪UML≫ 2002 — The Unified Modeling Language , 2002, Lecture Notes in Computer Science.

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

[11]  Hartmut Ehrig,et al.  Information Preserving Bidirectional Model Transformations , 2007, FASE.

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

[13]  Juan de Lara,et al.  Formal Support for QVT-Relations with Coloured Petri Nets , 2009, MoDELS.

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

[15]  Perdita Stevens,et al.  Bidirectional model transformations in QVT: semantic issues and open questions , 2007, MODELS'07.

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

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

[18]  Dimitri Konstantas,et al.  Object-Oriented Information Systems , 2002, Lecture Notes in Computer Science.

[19]  Louis Féraud,et al.  An Approach of Model Transformation Based on Attribute Grammars , 2003, OOIS.

[20]  Alexander Kurz,et al.  Algebra and Coalgebra in Computer Science, Third International Conference, CALCO 2009, Udine, Italy, September 7-10, 2009. Proceedings , 2009, CALCO.

[21]  Juan de Lara,et al.  Pattern-Based Model-to-Model Transformation , 2008, ICGT.

[22]  Jens Palsberg,et al.  Semantics and Algebraic Specification, Essays Dedicated to Peter D. Mosses on the Occasion of His 60th Birthday , 2009, Semantics and Algebraic Specification.

[23]  Juan de Lara,et al.  Event-driven grammars: relating abstract and concrete levels of visual languages , 2007, Software & Systems Modeling.

[24]  Andy Schürr,et al.  Tool Integration with Triple Graph Grammars - A Survey , 2006, FoVMT.

[25]  Kevin Lano,et al.  Slicing of UML models using model transformations , 2010, MODELS'10.

[26]  Hartmut Ehrig,et al.  Correctness, Completeness and Termination of Pattern-Based Model-to-Model Transformation , 2009, CALCO.

[27]  Perdita Stevens,et al.  Modelling Recursive Calls with UML State Diagrams , 2003, FASE.

[28]  Fernando Orejas,et al.  On the Specification and Verification of Model Transformations , 2009, Semantics and Algebraic Specification.

[29]  Axel Uhl,et al.  MDA Distilled , 2004 .

[30]  Hartmut Ehrig,et al.  Fundamentals of Algebraic Graph Transformation , 2006, Monographs in Theoretical Computer Science. An EATCS Series.