基于元模型转换的重构技术解析
1. 引言
在软件开发领域,模型驱动架构(MDA)正经历着从面向对象软件开发到以模型为中心开发的范式转变。MDA由对象管理组织(OMG)提出,旨在推动独立于特定平台的抽象模型的创建,随后通过工具将这些模型自动转换为特定平台或技术的模型或代码。
MDA区分了至少三种不同类型的模型:
- 平台无关模型(PIM) :不涉及实现平台的抽象模型。
- 平台特定模型(PSM) :根据特定实现平台的构造来描述系统的模型。
- 实现特定模型(ISM) :以源代码形式描述系统的模型。
模型驱动开发(MDD)通过一系列模型转换来实现,主要包括细化和重构两种转换类型。细化是构建更详细规范以符合更抽象规范的过程;而重构则是在不改变模型行为的前提下,提升模型的非功能性质量因素,如简单性、灵活性、可理解性和性能。
尽管在设计层面(如PIM或PSM)进行重构最为有效,但基于MDA的CASE工具仅能通过设计者的显式选择对源代码进行有限的重构。因此,提出了一种元建模技术,以统一的方式在不同抽象级别定义重构,并将重构指定为基于元模型的OCL合约,用于验证和测试转换。
2. 重构与MDD
MDA的关键在于模型在软件开发过程中的重要性,它定义了一个将系统功能规范与特定平台实现分离的框架。在MDD中,所有软件开发过程中生成的工件都使用元建模语言表示,主要是UML类图和OCL约束的组合,核心元建模构造包括类、二元关联、数据类型和包。
模型之间的转换通过在元模型级别将源模
超级会员免费看
订阅专栏 解锁全文
1157

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



