Heterogeneous Data Synchronization in Software Engineering



Software development often involves multiple artifacts, such as feature models, UML models and code, which are in different formats but share a certain amount of information. When users change one artifact or change several artifacts simultaneously, we need to propagate these changes across all artifacts to ensure them consistent. This process of propagating changes among artifacts in different formats is called heterogeneous synchronization.

In this project we study the heterogeneous synchronization in software engineering area. We develop languages and tools to support heterogeneous synchronization. In particular, we identify two types of synchronization in software engineering. 1) Applications export data to some intermediate replicas and synchronizers work on these replicas. This is called state-based synchronization. 2) Synchronizers are more tightly coupled with applications and synchronize through update operations. This is called operation-based synchronization. The two types of synchronization are studied respectively through the two sub projects below.

Sub Projects

Operation-based Synchronization

In this sub project, we propose languages and tools to support operation-based synchronization. We have designed a new language, Beanbag, to synchronize data on-site through updates on data. The features of Beanbag include:

State-based Synchronization from Model Transformation

State-based transformation has been supported by many languages and tools, such as QVT. However, one problem remains unclear: what is the relation between unidirectional transformation and bidirectional transformation? In this project, we study the relation between uni-directional transformation and heterogeneous synchronization. In our approach, users only need to write a forward transformation, and the source model and the target model will be automatically synchronized.

We have implemented a model synchronization tool to synchronize Ecore models related by a forward ATL byte-code program.



Zhenjiang HuProfessor at the National Institute of Informatics
Hong MeiProfessor at Peking University
Hui SongPh.D. Student at Peking University
Masato TakeichiProfessor at the University of Tokyo
Yingfei XiongAssistant Professor at Peking University
Haiyan ZhaoAssociate Professor at Peking University


Dongxi LiuResearch Scentist at CSIRO ICT Center, Australia