提升架构语言互操作性的模型驱动技术
1. 现有方法的问题
在架构描述语言(ALs)互操作性方面,如xADL、AADL、UML等都采用了扩展机制,DUALLY是目前支持各种ALs互操作性较为成熟的框架,但它存在一些不足:
- 多扩展管理不清晰 :当需要两个或更多扩展时,例如同时需要实时和行为扩展,有三种扩展顺序可供选择:先扩展实时概念再扩展行为概念;先扩展行为概念再扩展实时概念;同时扩展两个概念。这三种场景可能产生不同的内核枢轴,且目前没有如何管理这种多重扩展的指南。
- 扩展缺乏复用性 :当前的解决方案倾向于创建临时扩展,未考虑复用性。即使按上述顺序扩展,中间内核通常也会丢失,扩展本身未被视为一等元素,只是对原始枢轴的改进。
2. 扩展机制
我们提出了用内核扩展 e 扩展现有内核 A 的机制,扩展 e 是一个元模型,可用于扩展不同内核,该机制依赖于编织模型。
2.1 编织模型
编织模型 wm 包含内核 A 元素与扩展 e 元素之间的链接,用于将给定扩展应用于现有内核。正式定义如下:
设 A 是所有可能内核的集合,E 是所有可能扩展的集合,W 是所有可能编织模型的集合。我们用 wmAe∈W 表示在内核 A∈A 和扩展 e∈E 之间定义的编织模型。编织模型 wmAe = {wl1Ae, wl2Ae, · · ·, wlnAe} 可视为一组编织链接,每个链接通过扩展运算符实现,建立 A 元素与 e 元素之间的对应关系。
例如,对于内核 A0,有扩展 y(包含 SoftComp 和 HardComp 元类)和扩展 x
超级会员免费看
订阅专栏 解锁全文

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



