Synchronizing concurrent model updates based on bidirectional transformation

Synchronizing concurrent model updates based on bidirectional transformation
复制标题

DOI:
10.1007/s10270-010-0187-3
复制
发表时间:
2013-02
影响因子:
2
通讯作者:
Yingfei Xiong;Hui Song;Zhenjiang Hu;M. Takeichi
Yingfei Xiong;Hui Song;Zhenjiang Hu;M. Takeichi
中科院分区:
计算机科学3区
文献类型:
--
作者:
Yingfei Xiong;Hui Song;Zhenjiang Hu;M. Takeichi

文献摘要

相似文献

模型驱动的软件开发通常涉及几个相关的模型。当模型更新时,更新需要在所有模型之间传播,以使它们保持一致。双向模型转换通过根据一个模型更新另一个模型来保持两个模型的一致性。但是,当两个模型同时修改时,它不起作用。在本文中,我们首先检查同步并发更新的要求。我们认为同步器的并发更新作为一个功能,两个原始模型和两个更新的模型作为输入,并产生两个新的模型,更新同步。我们认为,同步器应该满足三个属性,我们定义,以确保一个合理的同步行为。然后,我们提出了一个新的算法来包装任何双向转换到一个同步器的帮助下,模型差异的方法。我们表明,我们的算法产生的同步器,以确保满足这三个属性,如果双向转换满足正确性和非对称性的性质。我们还表明,历史忽略属性有助于我们的算法的对称性。我们的算法的实现表明,它工作得很好,在一个实际的运行时管理框架。
Model-driven software development often involves several related models. When models are updated, the updates need to be propagated across all models to make them consistent. A bidirectional model transformation keeps two models consistent by updating one model in accordance with the other. However, it does not work when the two models are modified at the same time. In this paper we first examine the requirements for synchronizing concurrent updates. We view a synchronizer for concurrent updates as a function taking the two original models and the two updated models as input, and producing two new models where the updates are synchronized. We argue that the synchronizer should satisfy three properties that we define to ensure a reasonable synchronization behavior. We then propose a new algorithm to wrap any bidirectional transformation into a synchronizer with the help of model difference approaches. We show that synchronizers produced by our algorithm are ensured to satisfy the three properties if the bidirectional transformation satisfies the correctness property and the hippocraticness property. We also show that the history ignorance property contributes to the symmetry of our algorithm. An implementation of our algorithm shows that it worked well in a practical runtime management framework.