学习了一段时间的u2tp,仍然模糊不清,现在才知浅薄。现把相关概念整理一下,文中引用了大量他人的观点或语言,由于太多,也就不一一例出作者与引用出处。权当个人学习总结,不能当真。
a) UML:统一建模语言(Unified Modeling Language)。提供了一种对软件系统进行可视化、详述、构造和文档化的工业标准机制。它为描述系统提供了一种语言。
b) MOF:(Meta Object Facility 元对象机制)是比UML更高层次的抽象,它可以用来描述UML语言或其他的语言。MOF定义了一个很小的概念集(例如数据包、类、方法、属性、操作、引用、约束、联合以及数据类型),使用这个概念集合可以定义和操纵元数据的模型。MOF使用UML的标记,这些概念是用统一建模语言(UML)标记的一个子集来描述的。因此也可以说,MOF是UML的子集。MOF是自描述语言,UML是由MOF描述的,所以在UML的基础上进行的任何扩展都符合MOF规范。MOF规范用于管理元模型,以便于各个建模语言之间的数据交互。MOF提供一种开放的建模能力,既提供了一组基本的元模型建模结构集合,可以直接用来描述技术和应用程序域。
c) 模型:以精确的语言对某一事物进行的描述。精确的语言指没有二义性。常见的模型有软件模型(uml模型、xml schema模型等),建筑模型。
d) 元模型:是对创建一个富含语义的模型(semantic model)所需要的构造元素(construct)和规则的一个精确的定义,也可以说是基于MOF为各个领域的特定建模需求所定义的建模语言,就是DSL(Domain-specific Language,这个是很正确的。从广义来看,UML,XML等建模语言是DSL;狭义的DSL,如数据库schema,Java类文件中对象属性和方法的含义,EJB的部署表述符等);若从微观的角度来看,UML元素(类,包,方法等)都可以算作元模型。
e) 建模:利用建模语言,对现实世界进行一种描述,最终得到一种模型。
f) 元建模:同样是对现实世界的一种描述。但最终的到的是元模型。利用的建模语言可以是MOF,也可以是UML等。
g) UML Profile:定义了一个构造型化的包,通过UML的扩展机制定义了一个元模型子集而使UML具有描述某个特定领域的丰富语义。Profile是UML在某个特定领域的扩展机制应用的结果,是一个描述某个特定领域的UML语义框架。
h) U2TP:UML2 Testing Profile,是UML2的测试扩展,也可以称之为一DSL。