0.概要
1.背景
2.MDA
3.MOF
4.CWM规范
5.CWM元模型的包结构
6.模型标准和分类
7. 元模式架构设计实践(华为ROMA)
0 概要
1. 背景
2. MDA
2.1. 定义
2.2. 三种建模方法
第二种建模方法是元对象工具(Meta Object Facility,MOF),它是作为UML构造的一个子集而建立的,具有足够的表达能力来表达重要的模型。
2.3. 三种模型层次
第一个层次模型是计算无关模型(Computational Independent Model,CIM),该模型关注于业务环境和需求,而不考虑计算环境。该模型通常由业务分析人员创建,展示了系统的业务模型,可以理解为系统需求。
第二个层次为平台无关模型(Platform Independent Model,PIM),该模型考虑在计算系统环境中的业务逻辑表示,但不关注具体的实现平台。该模型通常由系统架构师创建,关注系统功能,可以理解为分析模型。
第三个层次为平台相关模型(Platform Specific Model,PSM),该模型关注于如何在特定平台(如JavaEE)下如何实现业务逻辑;可以理解为设计模型。
基于MDA的开发过程,业务人员首先通过业务领域的分析和建模构造CIM以描述需求;之后结合相关的标准规范将CIM转换为PIM;在PIM基础上,针对不同的实现环境,可以构造出不同的PSM;最后将PSM转换成目标代码,完成开发过程。
2.4. 四个规范
1)元设施(Meta of Facility,MOF)。MOF提供了一个元数据的管理框架以及一组元数据服务,使得模型系统和元数据驱动系统的开发和互操作成为可能。在MOF中提出了4层模型的概念,分别是运行时层(MO层)、模型层(M1层)、元模型层(M2层)和元元模型层(M3层)。
2)UML。UML是一种通用的建模语言,得到了主要的面向对象和组件方法的广泛支持,并且能够被应用到所有的应用领域和实现平台。
3)元数据交换(Metadata Interchange,XMI)。XMI定义了XML标记如何表示序列化的MOF模型。其目的是为了便于UMI。建模工具之间的数据和元数据交换,并在多层分布式环境中提供元数据存储机制。
4)公共仓库元模型(Common Warehouse Metamodel,CWM)。CWM的主要目的是允许在分布式异构环境中对仓库工具,仓库平台和仓库元数据知识库进行仓库和业务智能元数据的交换。
除了以上4个规范,MDA还有两个重要的子规范:
1)对象约束语言(Object Constraint Language,OCL)。OCL是UML的一个子规范。它是一种易于使用的形式化语言,其语义等同于一阶逻辑,其目的是为了描述UML模型中的约束。OCL是保证模型精确性的重要手段,被广泛用于MOF中的4层模型中,除了描述模型约束,还可以用来定义模型转换规则。
2)模型的查询、视图、转换(Query/View/Transformation,QVT)。QVT是模型转换的标准。它定义了两种描述性的模型转换语言:关系(Relations)和核心(Core),以及两种命令式的模型转换机制:操作映射(Operational Mappings)和黑盒(Black Box)。