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.
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 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 Hu | Professor at the National Institute of Informatics |
Hong Mei | Professor at Peking University |
Hui Song | Ph.D. Student at Peking University |
Masato Takeichi | Professor at the University of Tokyo |
Yingfei Xiong | Associate Professor at Peking University |
Haiyan Zhao | Associate Professor at Peking University |
Dongxi Liu | Research Scentist at CSIRO ICT Center, Australia |