元模型特定的耦合演化与编辑器实时同步技术解析
1. 元模型演化与模型迁移
1.1 元模型元素操作规则
在元模型操作中,新的 WValue 值应在创建时设置。多数情况下,新元素创建时需添加到现有容器对象中,但新的根元素(如元模型中的新包)除外。删除元模型元素时,该元素的所有实例也应被删除。例如在 Henshin 中,可使用带星号的动作原型来实现。像规则 createArcPT 里, EReference “src” 会和其所有实例链接一起被删除。同理,类应和其所有实例一起删除,属性应和其所有值一起删除。若规则未删除被删类型的实例,可能意味着迁移有误。
1.2 类型一致性静态检查
链接和属性值的类型一致性是可静态检查的重要方面。链接的目标应是链接引用的有效类型类。可在设计时使用图 9 中的规则模式来确保这一点,属性值的类型一致性也能如此保证。结合上述约束,这些模式能在设计时自动检测迁移中可能出现的问题,类型一致性是关键的正确性标准,可静态确保。
1.3 运行时一致性检查
除静态分析方法外,还会进行运行时一致性检查。最简单的方法是直接检查转换结果是否符合定义 1 中的一致性约束。若检查通过,转换结果就是一致且合规的。此外,在规则应用过程中也能拦截可能的不一致性。通过采用双推出图转换,只有在不产生悬空边时规则才可应用,这确保了只有当元模型元素的所有实例都被删除时,该元素才会被删除。静态和运行时一致性检查有助于开发者安全执行耦合演化。
1.4 模型迁移的解耦执行
实际中,同时进行元模型演
超级会员免费看
订阅专栏 解锁全文
116

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



