Toward Bidirectionalization of ATL with GRoundTram

ATL is a language for describing model transformations currently in uni-direction. In our previous work we have shown that transformations of graph structures given in some form can be bidirectionalized and have implemented a system called GRoundTram system for bidirectional graph transformations. We say a transformation t is bidirectionalized when we obtain a backward transformation t′ so that the pair (t, t′) of transformations satisfies certain well-behavedness properties. Bidirectional model transformation is used to reflect the changes in the target model back to the source model, and vice versa. In this paper, as a first step toward realizing practical bidirectional model transformations, we present bidirectionalization of core part of the ATL by encoding it in the UnQL language, which is used as a transformation language in the GRound-Tram system. We give the algorithm for the encoding, based on which we have implemented the system for bidirectionalizing the core ATL in OCaml language.

[1]  Shin-Cheng Mu,et al.  A programmable editor for developing structured documents based on bidirectional transformations , 2008, High. Order Symb. Comput..

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

[3]  Nicolas Spyratos,et al.  Update semantics of relational views , 1981, TODS.

[4]  Dan Suciu,et al.  UnQL: a query language and algebra for semistructured data based on structural recursion , 2000, The VLDB Journal.

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

[6]  Jean-Michel Bruel,et al.  Satellite Events at the MoDELS 2005 Conference , 2006 .

[7]  Soichiro Hidaka,et al.  Towards a compositional approach to model transformation for software development , 2009, SAC '09.

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

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

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

[11]  Benjamin C. Pierce,et al.  Matching lenses: alignment and view update , 2010, ICFP '10.

[12]  Kazutaka Matsuda,et al.  Bidirectionalization transformation based on automatic derivation of view complement functions , 2007, ICFP '07.

[13]  Benjamin C. Pierce,et al.  Relational lenses: a language for updatable views , 2006, PODS '06.

[14]  Janis Voigtländer Bidirectionalization for free! (Pearl) , 2009, POPL '09.

[15]  Kazutaka Matsuda,et al.  Bidirectionalizing graph transformations , 2010, ICFP '10.

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

[17]  Jean Bézivin,et al.  Model Transformations in Practice Workshop , 2005, MoDELS.

[18]  Jean Bézivin,et al.  ATL: A model transformation tool , 2008, Sci. Comput. Program..

[19]  Meng Wang,et al.  Combining syntactic and semantic bidirectionalization , 2010, ICFP '10.

[20]  SuciuDan,et al.  UnQL: a query language and algebra for semistructured data based on structural recursion , 2000, VLDB 2000.

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