1.UML 定义文档(UML Definition Documents)
UML 由一系列Object Management Group[UML-98]出版的文档定义。解释在这些文档描述的UML 语义模型的结构。
UML 使用元模型正式定义——也就是说,UML 中的构成物的模型。元模型本身在UML 中表达。这是元循环解释的一个例子——即用其自身来定义的一种语言。事物不是完全循环的。只有UML 的一个小子集被用来定义元模型。原则上,定义的固定点可以从一个更基本的定义引导而来。实际中,不必如此费劲。
语义文档的每个部分包含一个显示部分元模型的类图;定义在各个部分的元模型类的文字描述,以及它们的属性和联系;一系列作用在元素上由自然语言和OCL 语言表达的限制;定义在各部分的UML 构成物的动态语义的文本描述。所以动态语义是非正式的,但是一个完全正式的描述是不可行而且也是不可读的。表示法在一个独立的章里进行描述,该章引用了语义章并把符号映射到元模型类上。
2.元模型结构(Metamodel Structure)
元模型分为三个基本的包(图A-1)。
* 定义了UML 静态语义的基本包
* 定义了UML 动态语义的行为元素包
* 定义了UML 模型的组织结构的模型管理包
UML 元模型的包结构
3.基本包(Foundation Package)
基本包包含四个子包。
核心
核心包描述了UML 的主要静态构成物。包括类元,它们的内容以及它们的内容。它们的内容包括属性,操作,方法和参数。它们的联系包括泛化,关联和依赖。也定义了几个抽象的元类,例如可泛化元素,名称空间和模型元素。这个包也定义了模板和各种依赖子类,还有组件、接点和注释。
数据类型
数据类型包定义了用于元模型的数据类型。
扩展机制
扩展机制包描述了约束、构造型和标签值机制。
4.行为元素包(Behavioral Elements Package)
行为包给三个主要视图共享的行为结构提供了一个子包,也为每个主要视图提供了一个子包。
公共行为
公共行为包描述了信号、操作和动作。它也描述了对应于各种描述的实例类。
合作
合作包描述了合作、交互、消息、类元角色和关联。
用例
用例描述了参与者和用例。
状态机
状态机包描述了状态机结构,包括状态和各种伪状态、事件、信号、转换和监护条件。它也描述了活动模型的额外的结构,例如动作状态,活动状态和对象流状态。
5.模型管理包(Model Management Package)
模型管理包描述了包、模型和子系统。它也描述了拥有关系和名称空间和包的可见性属性。它没有子包。