元模型
元模型,是特定领域的模型,用于创建该领域中的模型的构建元素。典型的元模型结构可以分为四种:实例层、模型层、元模型层和元元模型层。
是关于模型的模型。这是特定领域的模型,定义概念并提供用于创建该领域中的模型的构建元素。例如,可以将
SPEM 视为流程工程元模型。
四层元模型体系结构
采用元模型驱动的体系结构对于企业建模有重要价值,它解决了产品数据一致性与企业信息共享问题。元建模理论是从80年代后期发展起来的,虽然起步晚,但发展速度很快。到目前为止,为了不同的目的,已经定义了很多元元模型和元模型,例如最早由EIA(电子工业协会)定义的CIDF(CASE Data Interchange Format)元元模型,OMG(
对象管理组织)定义的MOF(Meta Object Facility)元元模型等。这些元元模型的建立都是以经典的四层元数据体系结构为基础的。
四层元模型是OMG组织指定的UML的语言体系结构。这种体系结构是精确定义一个复杂模型语义的基础。除此之外,该体系结构具有,通过递归地将语义应用到不同层次上,完成
语义结构的定义,为UML的元模型扩展提供体系结构基础,为UML元模型实现与其他的基于四层元模型体系结构的标准相结合提供体系结构基础。
OMG提出的MOF是一个标准。为了描述某一特定的模型,需要描述组成该类模型的建模结构集,MOF能对建模结构进行描述。MOF的4层元建模架构提供一组建模元素以及使用这些元素的规则[21]。
典型的元模型结构可以描述为:实例层、模型层、元模型层和元元模型层。每一层描述如下[22]:
1.信息层(information layer)
信息是由我们希望描述的数据组成,这些数据通常是一些用户数据(user data),主要职责是描述信息领域中的详细信息。
2.模型层(model layer)
模型层是由元数据组成,元数据是描述信息层的数据,元数据的集合被称作为模型。
模型层的主要职责是为描述信息层而定义的一种“抽象语言”(即没有具体语法或符号的语言)。信息层的数据,即用户数据,是模型层的一个实例。
3.元模型层(metamodel layer)
元模型层是由元一元数据组成,元一元
数据定义了元数据的结构和语义,元一元数据的集合被称作为元模型。元模型层的主要职责是为了描述模型层而定义的一种“抽象语言”,是对模型层的进一步抽象。也就是说,模型层描述的内容通常要比元模型层描述的内容丰富、详细。一个模型是元模型的一个实例。数据词典中的元数据是对数据模型的描述[23]。
4.元元模型层(meta-metamodel layer)
元元模型层是由元元数据的结构和语义的描述组成,这层的主要职责是为了描述元模型而定义的一种“抽象语言”。元元模型的定义要比元模型更加抽象、简洁。一个元元模型可以定义多个元模型,而每个元模型也可以与多个元元模型相关联。通常所说的相关联的元模型和元元模型共享同一个设计原理和构造,这也不是绝对的准则。每一层都需要维护自己设计的完整性。一个元模型是元元模型的一个实例。
下图进一步说明了四层元数据体系结构:该图只给出了一个模型和一个元模型作为例子。四层元模型的目的是为了支持多个模型和多个元模型。