种豆资源网

当前位置:首页 > 百科 > 百科综合 / 正文

元对象机制

(2019-10-30 05:08:58) 百科综合

元对象机制

元对象机制(MOF,Meta-Object Facility)起源于统一建模语言(UML)。对象管理机构(Object Management Group|OMG)需要一种元模型结构来定义UML。

基本介绍

  • 中文名:元对象机制
  • 外文名:Meta-Object Facility
  • 性质:计算机
  • 类别:建模

概观

开发MOF是为了提供一个用于CORBA体系结构的类型系统,一组模式,通过它们可以定义对象的结构,含义和行为,以及一组CORBA接口,通过这些接口可以创建,存储和操作这些模式。
MOF设计为四层架构。它在顶层提供了一个元元模型,称为M3层。这个M3模型是MOF用来构建元模型的语言,称为M2模型。第2层MOF模型最突出的例子是UML元模型,即描述UML本身的模型。这些M2模型描述了M1层的元素,因此描述了M1模型。例如,这些是用UML编写的模型。最后一层是M0层或数据层。它用于描述现实世界的对象。
除了M3模型之外,MOF还描述了通过定义描述这些操作的CORBA接口来创建和操作模型和元模型的方法。由于MOF M3模型和UML结构模型之间的相似性,MOF元模型通常被建模为UML类图。 MOF的支持标準是XMI,它为M3-,M2-或M1-层上的模型定义了基于XML的交换格式。

结构

MOF被设计为4层次的结构。位于顶部的是元元模型层,即M3层。M3模型是MOF建立元模型(被称为M2模型)的语言。M2模型最明显的例子是UML元模型,该模型描述UML。M2模型描述M1层以及M1层的要素,例如,UML模型。最后一层是M0层或数据层。它描述真实世界的物体。
除了M3模型,MOF还提供创建、操作模型、元模型的方法,通过定义CORBA接口描述这些操作。由于MOF M3模型和UML结构模型相似,MOF M3元模型通常建模为UML类图。MOF的支持标準是XMI,它定义一种基于XML的M3、M2、M1层模型交换格式。
MOF是一个封闭元模型结构,它定义描述自身的M3模型。MOF是严格的元模型架构,每一层的每个模型元素都严格对应的上层模型元素。MOF只提供定义结构或语言、数据的抽象语法的方法。定义元模型时,MOF如同EBNF层定义程式语言语法。MOF是用于定义元模型的域特定语言(DSL),就像EBNF定义语法的DSL。同样,MOF也可以在自身定义。
MOF使用MOF::Classes (不要与UML::Classes混淆)在元层上定义概念(模型元素),如同众所周知的面向对象。MOF可用于定义面向对象元模型(如UML)以及非面向对象元模型(如Petri网或Web服务元模型) 。
截至2006年5月,OMG定义了两种类型的MOF:
EMOF(基本MOF)
CMOF(完全MOF)
2006年6月,徵求建议书定义了第三种:SMOF(语义MOF) 。
Eclipse Modeling Framework中定义的ECore或多或少向OMG的EMOF靠拢。
另一个相关的标準是OCL,一种用谓词逻辑定义模型的限制条件的正式语言。
一个非常重要的新标準是QVT,描述查询,视图和基于MOF的模型变换的方法。
MOF是一个国际标準:ISO/IEC 19502:2005 Information technology—Meta Object Facility (MOF)
MOF可视为写元模型的标準,例如,建模领域专用语言的抽象语法。Kermeta扩展MOF,可以执行附在EMOF元模型的动作,从而可以建模DSL操作语义并很容易得到对它的解释。
JMI定义Java API,控制MOF模型.
OMG的MOF不能与託管对象格式(Managed Object Format)混为一谈,託管对象格式由分散式管理任务组(DMTF)在公共信息模型(CIM)基础规範的第3节中定义。

元模型架构

MOF是一个封闭的元模型架构;它定义了一个符合自身的M3模型。 MOF允许严格的元建模架构;每层上的每个模型元素严格对应于上面层的模型元素。 MOF仅提供定义语言或数据的结构或抽象语法的方法。为了定义元模型,MOF完全扮演EBNF用于定义程式语言语法的角色。 MOF是用于定义元模型的域特定语言(DSL),就像EBNF是用于定义语法的DSL一样。与EBNF类似,MOF可以在MOF中定义。
简而言之,MOF使用MOF :: Classes的概念(不要与UML :: Classes混淆),如从面向对象中所知,来定义元层上的概念(模型元素)。 MOF可用于定义面向对象的元模型(例如,作为UML)以及非面向对象的元模型(作为Petri网或Web服务元模型)。
截至2006年5月,OMG已为MOF定义了两个合规点:
1、基本MOF的EMOF。
2、完整MOF的CMOF。
2006年6月,OMG发布了第三个变体SMOF(语义MOF)的提案请求。在Eclipse Modeling Framework中定义的变体ECore或多或少地与OMG的EMOF对齐。
另一个相关标準是OCL,它描述了一种可用于根据谓词逻辑定义模型约束的形式语言。
QVT引入了查询,查看和转换基于MOF的模型的方法,是一个非常重要的标準,于2005年获得批准。有关详细信息,请参阅模型转换语言。

国际标準

MOF是一个国际标準:
MOF 2.4.2:ISO / IEC 19508:2014信息技术 - 对象管理组元对象设施(MOF)核心。
MOF 1.4.1:ISO / IEC 19502:2005信息技术 - 元对象设施(MOF)。
MOF可以被视为编写元模型的标準,例如为了模拟领域特定语言的抽象语法。 Kermeta是MOF的扩展,允许将可执行动作附加到EMOF元模型,因此可以对DSL操作语义进行建模并为其轻鬆获取解释器。
JMI定义了一个用于操作MOF模型的Java API。
不要将OMG的MOF与分散式管理任务组(DMTF)在公共信息模型(CIM)基础结构规範2.5.0版的第6节中定义的託管对象格式(MOF)相混淆。

标 签

搜索
随机推荐

Powered By 种豆资源网||