软件查询与模型组合:挑战与创新解决方案
在现代软件开发中,查询软件工件和模型组合是两个至关重要且新兴的设计问题。随着诸如模型驱动架构(MDA)和面向方面软件开发(AOSD)等新技术的出现,对强大的元素指定手段的需求日益增长。本文将深入探讨这两个领域的挑战,并介绍相应的创新解决方案。
1. 模型组合相关工作
在模型组合领域,不同的学者提出了多种方法。
- 基于主题的方法 :有学者描述了一种类似于面向方面建模(AOM)的基于主题的方法。在这种方法中,每个主题都是综合系统的一个特定视图,没有主要设计,整个系统设计通过所有主题的组合获得。主题的组合包括在模型中添加或覆盖命名元素。然而,该方法存在局限性,它不支持合并与模型相关的约束,除了元素被覆盖时隐式删除外,也不支持元素的删除。虽然该操作通过冲突元素之间的优先级和覆盖关系支持冲突调和,但功能有限。
- 方面组合过程 :Brito和Moreira描述了一个方面组合过程,该过程识别设计元素中的匹配点并定义组合规则。规则使用已识别的匹配点、量化对其他方面影响的二元贡献值(正或负)以及给定方面的优先级。在面向方面编程(AOP)的背景下,Kienzle等人描述了基于方面之间依赖关系的组合规则。这两篇论文主要关注方面之间可能存在的关系。与之不同的是,我们将方面之间的可能关系描述为编织顺序关系和覆盖关系,而不是Brito和Moreira所采用的优先级和依赖关系。
2. 模型组合指令
我们定义了一组组合指令,这些指令有助于模型组合的定制。
- 指令的特性 :这些指令具有两个重要特性。首先
超级会员免费看
订阅专栏 解锁全文
5万+

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



