高效模型同步:基于优先级三元图语法的方法
1. 引言
在应对现代软件系统日益增长的复杂性方面,模型驱动工程(MDE)成为了一种极具前景的手段,而模型转换在其中起着核心作用。工业应用对可靠性和效率的要求,催生了对能保证模型转换有用属性的形式化框架的需求。特别是在双向模型转换中,定义精确的语义以及高效的工具支持来实现模型的操作和同步是一项挑战。
三元图语法(TGG)不仅有坚实的形式基础,还有多种工具实现。它提供了一种基于规则的声明式方法,用于指定两个模型在各自领域的一致性,并通过对应模型明确跟踪元素间的跨域关系。虽然TGG描述了源、对应和目标模型三元组的并行推导,但实际场景中大多涉及现有模型的单向转换。
TGG工具基于从单一TGG规范自动推导的单向正向和反向操作规则进行模型转换,并使用控制算法来决定规则的应用位置。批量转换是模型转换的标准场景,即从头开始完全转换现有模型。
相比之下,增量模型转换支持对已关联模型进行更改并适当传播差异。挑战在于高效地执行更新,同时保留模型中未受影响的元素以避免信息丢失。确定这样的更新序列是一项艰巨任务,因为需要撤销已删除元素及其依赖项的转换,以及处理新添加元素的潜在依赖项的转换。
当前的增量TGG方法存在两种情况:一些能保证正确性(仅生成一致的图三元组)和完整性(能从源或目标图推导出所有可能的一致三元组),但效率低下(运行时复杂度取决于整体模型的大小);另一些效率高(与更改和受影响元素的数量成比例),但不考虑形式化方面。
本文介绍了一种新颖的增量TGG控制算法用于模型同步,并证明了其正确性、完整性和效率。基于之前提出的优先级驱动的TGG批量算法,通过静态优先级分析来确定元素的添加和删除可能影响
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



