构建保持完整性的三元图语法:从双向模型转换到全局约束处理
双向模型转换与TGGs
TGGs(三元图语法)可通过自动推导正向和反向单向规则实现双向模型转换。这些操作规则构成了由控制算法确定的完整转换序列的原子步骤。TGG的实现面临两个挑战:一是确定TGG规则的合适操作化方式;二是提供一个高效(多项式时间)的控制算法,以高效地确定和控制输入图节点使用操作规则进行转换的顺序。
元模型不仅规定了模型的允许结构(抽象语法),还通过诸如多重性或OCL(静态语义)等约束形式限制了有效模型的类别。在形式化过程中,我们引入了负约束来补充类型图。
- 负约束和模式合规性定义 :
- 模式是类型三元图TG和负约束集NC的对(TG, NC)。
- 若不存在单态射nc : NC → G,则类型化三元图G满足负约束NC,记为G |= NC。
- 负源约束形式为NCS ∅←∅ ∅→∅ ,负目标约束类似定义。
- 模式合规的三元图集合L(TG, NC) := {G ∈ L(TG) | ∀NC ∈ NC, G |= NC} 。
- TGG = (TG, R) 是模式合规的,当且仅当L(TGG) ⊆ L(TG, NC) 。
- 示例 :如图5所示,∅ ∅←∅ ∅→NC1 禁止块满足自身依赖,∅ ∅←∅ ∅→NC2 禁止将所需端口连接到多个提供者。考虑规则(V)和∅ ∅←∅ ∅→NC1 ,由五条规则组成的TGG不是模式合规的,因为通过规则(V)在同一块的端口之间创
超级会员免费看
订阅专栏 解锁全文
15

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



