Sequential model synchronisation is the task of propagating changes from one model to another correlated one to restore consistency. It is challenging to perform this propagation in a least-changing way that avoids unnecessary deletions (which might cause information loss). From a theoretical point of view, so-called short-cut (SC) rules have been developed that enable provably correct propagation of changes while avoiding information loss. However, to be able to react to every possible change, an infinite set of such rules might be necessary. Practically, only small sets of pre-computed basic SC rules have been used, severely restricting the kind of changes that can be propagated without loss of information. In this work, we close that gap by developing an approach to compute more complex required SC rules on-the-fly during synchronisation. These higher-order SC rules allow us to cope with more complex scenarios when multiple changes must be handled in one step. We implemented our approach in the model transformation tool eMoflon. An evaluation shows that the overhead of computing higher-order SC rules on-the-fly is tolerable and at times even improves the overall performance. Above that, completely new scenarios can be dealt with without the loss of information.
翻译:序列模型同步任务旨在将变更从一个模型传播至另一个相关模型以恢复一致性。以最小变更方式进行传播(避免不必要的删除操作,从而防止信息丢失)具有挑战性。从理论视角出发,已发展出所谓的捷径规则,能够在避免信息丢失的前提下实现可证明正确的变更传播。然而,为应对所有可能的变更,可能需要无限数量的此类规则。实践中仅使用少量预计算的基础捷径规则,这严重限制了可在不丢失信息情况下传播的变更类型。本研究通过开发一种在同步过程中动态计算所需复杂捷径规则的方法来填补这一空白。这些高阶捷径规则使我们能够应对需要单步处理多重变更的复杂场景。我们在模型转换工具eMoflon中实现了该方法。评估表明,动态计算高阶捷径规则的开销处于可接受范围,有时甚至能提升整体性能。更重要的是,该方法能够在不丢失信息的前提下处理全新的应用场景。