让找料更便捷
电子元器件
采购信息平台
生意随身带
随时随地找货
一站式电子元器件
采购平台
半导体行业观察第一站
标签:
摘要: 摘 要: 对于MDA横切于核心业务逻辑的关注点对封装的破坏的问题,本文给出把AOP引入到MDA的扩展策略和主要方法,并对不同的扩展策略进行了比较。关键词: 模型驱动架构; 面向方面; 扩展; 元模型; 统一建模语言 MDA是一种以模型为中心的软件开发新方法[1,2]。但是,MDA仍然不能有效地处理横切“关注点”问题。 近来MDA和AOSD两者的融合和相互支持已成为具有重要的
摘 要: 对于MDA横切于核心业务逻辑的关注点对封装的破坏的问题,本文给出把AOP引入到MDA的扩展策略和主要方法,并对不同的扩展策略进行了比较。
关键词: 模型驱动架构; 面向方面; 扩展; 元模型; 统一建模语言
MDA是一种以模型为中心的软件开发新方法[1,2]。但是,MDA仍然不能有效地处理横切“关注点”问题。
近来MDA和AOSD两者的融合和相互支持已成为具有重要的理论意义和实用价值的研究课题[1]。其中的主要研究方向之一是:采用主流开发框架MDA,在MDA的建模过程中引入AOP 的概念和思想,建立通用的具有面向方面特性的PIM。
如何把面向方面的概念和思想引入到MDA中,可以采取多种不同的扩展策略。
1 MDA引入AOP的扩展策略
在MDA的建模过程中引入面向方面的思想和概念,其中最重要的是如何表示面向方面AOP的概念和思想以及表达方式。
下面给出两种有代表性的扩展策略及其实现方法:基于MOF的扩展和基于UML 2.0 Profile的扩展,这是当前的主流。
1.1 基于MOF的扩展策略
在MDA中,MOF位于MOF四层模型的最高层。MOF体系是开放的,因而可以对它添加新的描述UML的元类型,以扩展新的功能和应用。图1给出了这种扩展的示意。 但是,这种扩展策略要做的工作较多也较为困难,必须对UML的核心语义十分熟悉。目前所做的研究还很少。基于MOF的AOP扩展也称为“重量级”的扩展。参考文献[2]比较全面地介绍了一种通用的支持AOP 的MOF 2.0元模型。
MOF扩展策略以MDA作为不同的AOP扩充方案之间的集成元素,自动或半自动地把在某开发阶段建立的模型转换成下一阶段的模型,直到最终实现为止。首先建立AO术语的被广泛接受的本体,基于这些本体的共同元素和它们之间的关系建立通用的支持AOP的MOF元模型。其扩展方法和过程可描述如下:
第一步是确定出各种不同的AOP扩充方案所共享的概念,并根据概念的目的把它们分组成包,以提高可理解性。然后,建立包与包之间的关系。由此,可以建立三个主要的包:(1)Entities包,描述分解单元和它们之间的关系的实体;(2)JoinpointModel包,包含允许注入行为对应用程序的执行进行干预的关注点的包;(3)CompositionRules包,它有两个子包,SymmetricRules描述对称规则, AsymmetricRules描述不对称规则。这三个包可以从UML 2.0元模型的内核和CommomBehaviors包的元素进行特化。
实体:UML2.0 BehaviouredClassifiers的特化。
JoinpointModel:连接点是对应用程序的运行进行干预以执行一个方面行为(AspectJ中的advice)。所以,每个实体由一个可以隐式附上方面行为的Hook集组成。在UML2.0中,这些Hooks是基本单元的Behaviors。
CompositionRules:SymmetricRules用以通过若干实体(也称为子模块)的组合产生一个更大的实体。AsymmetricRules用于说明任何在连接点(hooks)上应用aspects。
这样建立的通用元模型可以精细化为更加具体的模型,例如CBSD(Component-Based Software Development)与AOSD的集成模型CAM、Theme/UML模型。CAM与Theme/UML模型之间还可以实现相互转换。
1.2 基于UML 2.0 Profile扩展策略
这种扩展策略的基础是: UML2.0 Profile提供了很好的扩展机制。图2是其示意图。
上一篇:车载功放的高电平输入
型号 | 厂商 | 价格 |
---|---|---|
EPCOS | 爱普科斯 | / |
STM32F103RCT6 | ST | ¥461.23 |
STM32F103C8T6 | ST | ¥84 |
STM32F103VET6 | ST | ¥426.57 |
STM32F103RET6 | ST | ¥780.82 |
STM8S003F3P6 | ST | ¥10.62 |
STM32F103VCT6 | ST | ¥275.84 |
STM32F103CBT6 | ST | ¥130.66 |
STM32F030C8T6 | ST | ¥18.11 |
N76E003AT20 | NUVOTON | ¥9.67 |