MATHEMATICAL ENGINEERING TECHNICAL REPORTS On-Site Synchronization of Software Artifacts

AbstractSoftware development often involves multiple artifacts, such as featuremodels, UML models and code, which are in different formats but share acertain amount of information. When users change one artifact or changeseveral artifacts simultaneously, we need to propagate these changes acrossall artifacts to ensure them consistent.Existing approaches focus on off-site synchronization, that is, manipu-lating application data on external copies. However, in many software de-velopment tools, synchronization happens “on-site”. The synchronization istightly integrated into the tool and manipulates the internal data.In this paper we propose a new approach to on-site synchronization,which takes modification operations on artifacts and produc es new modifica-tion operations to make them consistent. The synchronization is incremental,ensuring short response time. We evaluate the performance of our approachby experiments. 1 Introduction Software development often involves multiple artifacts, such as UML models, codeand abstract views of code, which are in different formats but share a certainamount of information. When users change one artifact or change several arti-facts simultaneously, we need to propagate these changes across all artifacts toensure consistency among the artifacts. This process of propagating changes iscalled synchronization [ACar].1

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

[2]  Ekkart Kindler,et al.  Reconciling TGGs with QVT , 2007, MODELS'07.

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

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

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

[6]  Robert Harper,et al.  Self-adjusting computation , 2004, Proceedings of the 19th Annual IEEE Symposium on Logic in Computer Science, 2004..

[7]  Robert Harper Self-adjusting computation , 2004, LICS 2004.

[8]  Tobias Rötschke,et al.  MOFLON: A Standard-Compliant Metamodeling Framework with Graph Transformations , 2006, ECMDA-FA.

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

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

[11]  D. Gabbay,et al.  Inconsistency Handling in Multiperspective Specifications , 1994 .

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

[13]  John Hosking,et al.  A declarative approach to inter-schema mappings , 1995 .

[14]  Shinya Kawanaka,et al.  biXid: a bidirectional transformation language for XML , 2006, ICFP '06.

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

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

[17]  Ulrich Nickel,et al.  The FUJABA environment , 2000, Proceedings of the 2000 International Conference on Software Engineering. ICSE 2000 the New Millennium.