A compositional approach to bidirectional model transformation

Bidirectional model transformation plays an important role in maintaining consistency between two models, and has many potential applications in software development, including model synchronization, round-trip engineering, software evolution, multiple-view software development, and reverse engineering. However, unclear bidirectional semantics, domain-specific bidirectionalization method, and lack of systematic development framework are known problems that prevent it from being practically used. In this paper, we propose a novel compositional framework for bidirectional model transformation based on an existing graph querying language UnQL, so that one can develop various useful bidirectional model transformation by combination of a fixed number of primitive bidirectional model transformations. We have implemented a prototype system, and the experimental results show promise of the new approach.

[1]  Jim Steel,et al.  Transformation: The Missing Link of MDA , 2002, ICGT.

[2]  Umeshwar Dayal,et al.  On the correct translation of update operations on relational views , 1982, TODS.

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

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

[5]  Michal Antkiewicz,et al.  Framework-Specific modeling languages with round-trip engineering , 2006, MoDELS'06.

[6]  Georg Gottlob,et al.  Properties and update semantics of consistent views , 1988, TODS.

[7]  Rudolf K. Keller,et al.  A compositional approach to software design , 1998, Proceedings of the Thirty-First Hawaii International Conference on System Sciences.

[8]  Holger Giese,et al.  Incremental model synchronization with triple graph grammars , 2006, MoDELS'06.

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

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

[11]  Keishi Tajima,et al.  A polymorphic calculus for views and object sharing (extended abstract) , 1994, PODS '94.

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

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

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

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

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

[17]  Zhenjiang Hu,et al.  An Algebraic Approach to Bidirectional Model Transformation , 2008 .

[18]  Haiyan Zhao,et al.  A feature-oriented approach to modeling requirements dependencies , 2005, 13th IEEE International Conference on Requirements Engineering (RE'05).

[19]  T. Gardner,et al.  A review of OMG MOF 2 . 0 Query / Views / Transformations Submissions and Recommendations towards the final Standard , 2003 .

[20]  Shin-Cheng Mu,et al.  An Algebraic Approach to Bi-directional Updating , 2004, APLAS.

[21]  Serge Abiteboul On Views and XML , 1999, PODS.

[22]  Miguel Garcia Bidirectional Synchronization of Multiple Views of Software Models , 2008, DSML.

[23]  Shin-Cheng Mu,et al.  A programmable editor for developing structured documents based on bidirectional transformations , 2004, PEPM '04.

[24]  Hong Mei ABC: supporting software architectures in the whole lifecycle , 2004, Proceedings of the Second International Conference on Software Engineering and Formal Methods, 2004. SEFM 2004..

[25]  Stuart Kent,et al.  The Bidirectional Mapping Problem , 2003, Electron. Notes Theor. Comput. Sci..

[26]  Michal Antkiewicz,et al.  Design Space of Heterogeneous Synchronization , 2007, GTTSE.

[27]  Krzysztof Czarnecki,et al.  Classification of Model Transformation Approaches , 2003 .

[28]  John C. Grundy,et al.  Inconsistency Management for Multiple-View Software Development Environments , 1998, IEEE Trans. Software Eng..

[29]  Gabor Karsai,et al.  On the Use of Graph Transformation in the Formal Specification of Model Interpreters , 2003, J. Univers. Comput. Sci..

[30]  Haiyan Zhao,et al.  Transformation from CIM to PIM: a feature-oriented component-based approach , 2005, MoDELS'05.

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

[32]  Masami Hagiya,et al.  Programming by example in computing-as-editing paradigm , 1995, Proceedings of Symposium on Visual Languages.