元对象机制

✍ dations ◷ 2025-11-12 04:54:17 #计算机语言,建模语言,软件工程,数据建模,ISO

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

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:

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节中定义。

相关

  • 疱疹病毒性脑炎单纯疱疹病毒脑炎(英文:herpesviral encephalitis、herpes simplex encephalitis、HSE)是由单纯疱疹病毒造成的脑炎。什么时候都可以发病,40岁以上多见,急性起见病, 潜伏期为2=21
  • 尿素循环尿素循环(Urea cycle),也称鸟氨酸循环(Ornithine cycle)是许多哺乳类动物的一个生物化学反应过程,由氨(NH3)生成尿素((NH2)2CO )。尿素循环将高毒性氨转化为尿素排泄。这是人们第一个
  • 绍斯塔克杰克·威廉·绍斯塔克(英语:Jack William Szostak,1952年11月9日-),美国生物学家、霍华德·休斯医学研究所研究员、哈佛医学院遗传学教授、麻省总医院亚历山大·里奇杰出研究员。
  • 清德宗清朝第11位皇帝光绪帝(1871年8月14日-1908年11月14日),名载湉(满语:ᡯᠠᡳ ᡨᡳᠶᠠᠨ,穆麟德:Dzai Tiyan,太清:Zai Tiyan),爱新觉罗氏,是清朝第11位,也是自入关以来的第九位皇帝,同时是中
  • 三闯少林《三闯少林》(英文:Shaolin Intruders)是1983年邵氏出品,著名武术指导唐佳一生中仅有的三部导演作品之一,尔冬升、白彪、高飞、刘玉璞主演。武指出身的唐佳一向擅长多人打斗,本片
  • 韩福瑞营汉弗莱营(英语:Camp Humphreys;韩语:캠프 험프리스)或译韩福瑞营,有时称作美国陆军汉弗莱基地(United States Army Garrison-Humphreys,缩写USAG-H),是一座位于韩国京畿道平泽市的驻韩
  • 蔡明昊蔡明昊 (1964年3月29日-),是一名知名美国华裔厨师。他曾在美食频道的铁人料理节目中挑战并打败美国名厨巴比·福雷。蔡明昊于1964年3月29日出生于美国加利福尼亚州新港滩,是工程
  • 外观模式外观模式(Facade pattern),是软件工程中常用的一种软件设计模式,它为子系统中的一组接口提供一个统一的高层接口,使得子系统更容易使用。这是一个抽象的示例。一个客户“you”通
  • 郭闻周郭闻周(1977年4月13日-),是一名已经退役的中国足球守门员,曾经效力于八一和上海申花。郭闻周在申花长期成为当时状态正佳的虞伟亮的替补,几乎从来没有能够挑战他的主力位置,2004年
  • 杨思一杨思一(1901年-1957年),原名云亭,男,浙江诸暨人,中国政治人物,曾任浙江省人民委员会副省长,第一届全国人大代表。