GRACE TECHNICAL REPORTS Beanbag: Operation-based Synchronization with Intra-relations

Modern development environment often involves data with complex relationships. When users update some part of the data, we need to synchronize the update to make all data consistent. Bidirectional transformation supports synchronization by propagating updates between two replicas, from one replica to the other or vice versa. However, replicas are often constrained with intra-relations, and we may have to propagate updates within one replica. Such kind of propagation is not well supported by current bidirectional transformation. In this paper we propose Beanbag, a new language for operation-based synchronization of data with intra-relations. Beanbag treats inter-relations and intra-relations in a unified way, and allows users to define these relations declaratively. A Beanbag program can be compiled into a synchronizer, which takes user updates as input and produces new updates to make all data consistent. We have implemented Beanbag in Java, applied it to several applications and tested its performance by experiments.

[1]  Dongxi Liu,et al.  Bidirectional interpretation of XQuery , 2007, PEPM '07.

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

[3]  Laurence Tratt,et al.  Model transformations and tool integration , 2005, Software & Systems Modeling.

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

[5]  Yijun Yu,et al.  Enforcing a security pattern in stakeholder goal models , 2008, QoP '08.

[6]  John Grundy,et al.  MaramaTatau: Extending a Domain Specific Visual Language Meta Tool with a Declarative Constraint Mechanism , 2007 .

[7]  Gang Huang,et al.  Runtime recovery and manipulation of software architecture of component-based systems , 2006, Automated Software Engineering.

[8]  Perdita Stevens Bidirectional Model Transformations in QVT: Semantic Issues and Open Questions , 2007, MoDELS.

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

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

[11]  Laurence Tratt,et al.  A change propagating model transformation Language , 2008, J. Object Technol..

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

[13]  Dov M. Gabbay,et al.  Inconsistency Handling in Multperspective Specifications , 1994, IEEE Trans. Software Eng..

[14]  John C. Grundy,et al.  Generating Domain-Specific Visual Language Editors from High-level Tool Specifications , 2006, 21st IEEE/ACM International Conference on Automated Software Engineering (ASE'06).

[15]  Benjamin C. Pierce,et al.  Boomerang: resourceful lenses for string data , 2008, POPL '08.

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

[17]  Edward P. K. Tsang,et al.  Foundations of constraint satisfaction , 1993, Computation in cognitive science.

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