From state- to delta-based bidirectional model transformations: the symmetric case

A bidirectional transformation (BX) keeps a pair of interrelated models synchronized. Symmetric BXs are those for which neither model in the pair fully determines the other. We build two algebraic frameworks for symmetric BXs, with one correctly implementing the other, and both being delta-based generalizations of known state-based frameworks. We identify two new algebraic laws--weak undoability and weak invertibility, which capture important semantics of BX and are useful for both state- and delta-based settings. Our approach also provides a flexible tool architecture adaptable to different user's needs.

[1]  Haiyan Zhao,et al.  Supporting automatic model inconsistency fixing , 2009, ESEC/SIGSOFT FSE.

[2]  Hartmut Ehrig,et al.  Correctness of model synchronization based on triple graph grammars , 2011, MODELS'11.

[3]  Hui Song,et al.  Synchronizing concurrent model updates based on bidirectional transformation , 2013, Software & Systems Modeling.

[4]  Francesca Arcelli Fontana,et al.  Using Design Pattern Clues to Improve the Precision of Design Pattern Detection Tools , 2011, J. Object Technol..

[5]  Zinovy Diskin,et al.  Algebraic Models for Bidirectional Model Synchronization , 2008, MoDELS.

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

[7]  João Saraiva,et al.  Generative and Transformational Techniques in Software Engineering II , 2007, Lecture Notes in Computer Science.

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

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

[10]  Martin Hofmann,et al.  Symmetric lenses , 2011, POPL '11.

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

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

[13]  Hui Song,et al.  Instant and incremental QVT transformation for runtime models , 2011, MODELS'11.

[14]  Zinovy Diskin Model Synchronization , Mappings , Tile Algebra , and Categories , 2009 .

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

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

[17]  Eleni Stroulia,et al.  UMLDiff: an algorithm for object-oriented design differencing , 2005, ASE.

[18]  Ivan Porres,et al.  Difference and Union of Models , 2003, UML.

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

[20]  Krzysztof Czarnecki,et al.  From State- to Delta-Based Bidirectional Model Transformations: the Asymmetric Case , 2011, J. Object Technol..

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

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

[23]  Zinovy Diskin,et al.  Model Synchronization: Mappings, Tiles, and Categories , 2009, GTTSE.