Least-change bidirectional model transformation with QVT-R and ATL

QVT Relations (QVT-R) is the standard language proposed by the OMG to specify bidirectional model transformations. Unfortunately, in part due to ambiguities and omissions in the original semantics, acceptance and development of effective tool support have been slow. Recently, the checking semantics of QVT-R has been clarified and formalized. In this article, we propose a QVT-R tool that complies to such semantics. Unlike any other existing tool, it also supports meta-models enriched with OCL constraints (thus avoiding returning ill-formed models) and proposes an alternative enforcement semantics that works according to the simple and predictable “principle of least change.” The implementation is based on an embedding of both QVT-R transformations and UML class diagrams (annotated with OCL) in Alloy, a lightweight formal specification language with support for automatic model finding via SAT solving. We also show how this technique can be applied to bidirectionalize ATL, a popular (but unidirectional) model transformation language.

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

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

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

[4]  Martin Gogolla,et al.  Verification of ATL Transformations Using Transformation Models and Model Finders , 2012, ICFEM.

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

[6]  Frédéric Jouault,et al.  Towards Incremental Execution of ATL Transformations , 2010, ICMT@TOOLS.

[7]  José Nuno Oliveira,et al.  Extended Static Checking by Calculation Using the Pointfree Transform , 2009, LerNet ALFA Summer School.

[8]  Aleksandar Milicevic,et al.  Preventing arithmetic overflows in Alloy , 2014, Sci. Comput. Program..

[9]  Dongxi Liu,et al.  Towards automatic model synchronization from model transformations , 2007, ASE.

[10]  Emina Torlak,et al.  Kodkod: A Relational Model Finder , 2007, TACAS.

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

[12]  Joel Greenyer,et al.  Preventing Information Loss in Incremental Model Synchronization by Reusing Elements , 2011, ECMFA.

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

[14]  J de Lara,et al.  Recursive Checkonly QVT-R Transformations with General when and where Clauses via the Modal Mu Calculus , 2012 .

[15]  Soichiro Hidaka,et al.  Toward Bidirectionalization of ATL with GRoundTram , 2011, ICMT@TOOLS.

[16]  Derek Rayside,et al.  Extending Alloy with Partial Instances , 2012, ABZ.

[17]  Lambert Meertens,et al.  Designing Constraint Maintainers for User Interaction , 1998 .

[18]  Artur Boronat,et al.  Algebraic Specification of a Model Transformation Engine , 2006, FASE.

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

[20]  Juan de Lara,et al.  An Algebraic Semantics for QVT-Relations Check-only Transformations , 2012, Fundam. Informaticae.

[21]  Daniel Jackson,et al.  Software Abstractions - Logic, Language, and Analysis , 2006 .

[22]  Hartmut Ehrig,et al.  From state- to delta-based bidirectional model transformations: the symmetric case , 2011, MODELS'11.

[23]  Konrad Voigt,et al.  Structural graph-based metamodel matching , 2011 .

[24]  Albert L. Baker,et al.  Preliminary design of JML: a behavioral interface specification language for java , 2006, SOEN.

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

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

[27]  Benjamin C. Pierce,et al.  Combinators for bi-directional tree transformations: a linguistic approach to the view update problem , 2005, POPL '05.

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

[29]  Perdita Stevens,et al.  Enforcing QVT-R with mu-Calculus and Games , 2013, FASE.

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

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

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

[33]  José Nuno Oliveira,et al.  Composing Least-change Lenses , 2013, Electron. Commun. Eur. Assoc. Softw. Sci. Technol..

[34]  Alcino Cunha,et al.  Towards a Framework for Multidirectional Model Transformations , 2014, EDBT/ICDT Workshops.

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

[36]  Alcino Cunha,et al.  Translating Alloy specifications to the point-free style , 2010 .

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

[38]  Felix Sheng-Ho Chang,et al.  Automatic Visualization of Relational Logic Models , 2007, Electron. Commun. Eur. Assoc. Softw. Sci. Technol..

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

[40]  Soichiro Hidaka,et al.  GRoundTram: An integrated framework for developing well-behaved bidirectional model transformations , 2011, 2011 26th IEEE/ACM International Conference on Automated Software Engineering (ASE 2011).

[41]  Nazareno Aguirre,et al.  An Equational Calculus for Alloy , 2004, ICFEM.

[42]  Miguel García Formalization of QVT-Relations : OCL-based Static Semantics and Alloy-based Validation , 2008 .

[43]  Alcino Cunha,et al.  Target Oriented Relational Model Finding , 2014, FASE.

[44]  Joseph P. Near,et al.  An Imperative Extension to Alloy , 2010, ASM.

[45]  Hartmut Ehrig,et al.  Model synchronization based on triple graph grammars: correctness, completeness and invertibility , 2012, Software & Systems Modeling.