求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Modeler   Code  
会员   
要资料
 
追随技术信仰

随时听讲座
每天看新闻
 
UML2.5教程
UML2.5 图概述
UML 类和对象图概述
UML 类概述
UML 类
UML 接口
UML 数据类型
UML 属性
UML 操作
UML 多重性
UML 的可见性
UML约束
UML对象
UML关联
UML聚合
UML组合
UML的泛化
UML中的依赖
UML抽象
嵌套分类器
UML类图参考
UML 复合结构图
UML结构分类器
UML封装分类器
UML部件
UML连接器
UML端口
UML协作
UML协作使用
UML协作模板
复合结构的参考
UML 包图
UML包图符号
UML元素导入
UML包导入
UML包合并
UML模型
UML封装图参考
UML 组件图
UML 组件
UML 连接器
UML 部署图
UML 用例图
UML 信息流程图
UML 活动图
UML 状态机图
UML 序列图
UML 通信图
UML 时间图
UML交互概述图
UML配置文件图
UML用例图示例-网上购物
UML用例图示例-网站管理
UML、元元模型和配置文件
 
 
UML, Meta Meta Models and Profiles 
翻译:俎涛-火龙果软件
1075 次浏览
4次  

如果有人想把自己的头脑搞晕,最简单的方法是尝试理解 UML 元模型的建模方法(元模型建模被 OMG 用来描述 UML )

元建模( metamodelin )方法意味着 “ 一个元模型( metamodel  )被用于定义模型( model  ), UML 就是被元模型定义的模型之一 ” 。   这种方法被认为 “ 为大多数工具开发者和应用建模者提供了更直观和更实用的形式 ” 。   让我们来看看这种方法的一些细节。

UML 规范( UML specification )分为两卷 “UML 2: 基础设施 ( Infrastructure ) ” 和 “UML 2: 上层结构 ( Superstructure ) ” 。  

UML Infrastructure 由两个包表示 : 基础设施库 ( Infrastructure Library ) 和基本类型 ( Primitive Types ) 。   Infrastructure Library 由两个包 Core Profiles 组成 。  

UML Infrastructure 的 Core   包是为高复用性而设计的,和其同一级别还有其他元模型 ……  既可以导入,也可以特化它的指定的元类( metaclass )。  MOF 、 UML 和 CWM 都依赖于公共的 Core 包。  

基础架构库( Infrastructure Library )定义了实际的元类( metaclass ),这些元类可以被用于实例化 UML 、 MOF 、 CWM 的元素,以及基础架构库( Infrastructure Library )本身的元素。   在这方面,基础设施库( Infrastructure Library )被认为是自描述的,或者是可以反射的。   这里一个明显的问题是, UML Infrastructure 被用来定义 MOF ,而 MOF 又被用来定义 UML Superstructure 。   如果 Infrastructure 是可复用的和通用的,那么它应该与 UML 分开定义。  

OMG 认为一个模型( model )可以被用作元模型( metamodel ) , 例如 , Infrastructure Library 有时被当作 meta-metamodel  ( M3 ) 来使用,有时候又被当作 metamodel  ( M2 ) 来使用。这样,它就同时作为 M2 和 M3 元级别( metalevel )被复用。

Meta Meta Models,UML and Profiles

OMG说:

元 - 元建模层( meta-metamodeling layer )构成了元建模( metamodeling )层次结构的基础。   这一层的主要职责是定义用于指定元模型( metamodel )的语言。   该层通常被称为 M3, MOF 是 meta-metamodel 的一个实例。

请继续阅读 : 在四层元模型( metamodel )层次结构中, MOF 通常被称为元 - 元模型( meta-metamodel ),尽管严格地说它是一个元模型( metamodel )。    Infrastructure Library 有时是元元模型(   meta-metamodel ),有时是元模型( metamodel )。同样的, MOF 通常是元元模型( meta-metamodel ),而实际上它是元模型( metamodel ) !  

MOF 不仅被用作 UML 的元元模型( meta-metamodel ),还被用作其他语言的元元模型,例如公共仓库元模型 ( CWM ) 。   上图中的 UML 包就是 UML Superstructure 元模型。   UML 被定义为一个基于 MOF 的模型( model  )。  UML 的每个模型元素都是 MOF 中一个模型元素的实例。   一个模型( model )是一个元模型( metamodel )的实例。  UML 是一种语言规范 ( 元模型 ) ,用户可以使用 UML 建立自己的模型。  

Infrastructure Library 的 Profiles 包具有允许从现有元模型( metamodel )中扩展元类( metaclass )以适应不同目的的机制,例如,修改 UML 元模型以便适应不同平台 ( 如 J2EE 或 .net) 或领域。   因此,它可以被考虑在与 MOF 相同的元元级别( meta-metalevel )上 —— 比 UML 元模型高一个级别。  

UML Superstructure ——来自辅助构造( Auxiliary Constructs )的 Profiles  包合并了 Infrastructure Library 的 Profiles  包。一个 profile 是元模型( metamodel  )的一种受限制的形式,他必须扩展一些引用的元模型(被从 MOF 创建,例如 UML 或 CWM )。  

 


您可以捐助,支持我们的公益事业。

1元 10元 50元





认证码: 验证码,看不清楚?请点击刷新验证码 必填



1075 次浏览
4次
欢迎参加课程:
基于UML和EA进行系统分析设计
基于SysML和EA进行系统设计与建模
领域驱动的建模与设计