版权归原作者所有,如有侵权,请联系我们

[科普中国]-元建模

科学百科
原创
科学百科为用户提供权威科普内容,打造知识科普阵地
收藏

概要

元建模是在一特定领域内构建“概念”(事件、条件等)集合。模型是真实世界中现象的抽象,元模型又是另一种抽象,关注模型本身的属性,所以可以把一个元模型看做对模型的抽象。模型应该服从它元模型的定义,如同一种计算机程序服从这种编程语言语法定义一样。

元模型的应用:

作为需要交换或存储的语义数据的概要;

作为支持特定的方法或过程的语言;

作为表达现有信息额外的语义的语言;

因为元建模的“元”特性,其实践和理论都与科学学,元哲学,超理论和系统学,和元意识相关。这一概念可应用于数学,并已实际应用于计算机科学和计算机工程/软件工程的相关领域1。

元建模专题定义软件工程中,使用模型越来越普遍,这相对于传统的以代码为基础的发展技术。模型应于一个元模型保持一致。目前模型驱动工程(MDE)的最活跃分支是Object Management Group(OMG)提出的模型驱动架构(MDA)解决方案。该解决方案基于语言的使用,描述被称为元对象机制或MOF的元模型。OMG提出的典型元模型是UML,SysML,SPEM或CWM。国际标准化组织(ISO)也发表了元模型的标准ISO/IEC 24744。下文涉及的所有语言都定义为MOF元模型。

元数据建模元数据建模是元建模的一种,在软件工程和系统工程中用于分析,构建适用于问题的预定义类的模型。

模型变换模型驱动工程(MDE)一个重要的里程是系统使用模型转换语言。OMG提出了QVT标准,查询/视图/变换模型。QVT基于元对象机制或MOF。在其他的模型转换语言(MTLs)中,实现了这一标准的例子是AndroMDA, VIATRA, Tefkat 或 MT.。

与本体关系元模型与本体密切相关。两个经常被用来描述和分析的概念之间的关系

本体:在特定事物范围或论述领域内,使用词汇、利用语法表述一些有意义事情。语法指定一个完整的声明,断言,查询等是什么意思。(正式的限制)在什么条件下,在本体控制的词汇中可一起使用。

元建模:可视为一个明确的说明(结构和规则),如何创建域特定模型。尤其是,包括一个域特定标记的正式规范。通常情况下,元模型是,而且始终遵循一个严格规则集。。“有效的元模型是一种本体,但并非所有本体可明确建模为元模型” 。

元模型类型软件工程中,模型(及其相应的建模活动)分为以下几种类型:

元数据建模(元数据模型);

元过程建模(元过程模型);

可执行元建模(结合上述以及更多,如一般用途的工具Kermeta);

模型转换语言;

元模型动物园(zoos)存放一些相互类似的元模型的集合被称为一个元模型动物园。有几种类型的元模型动物园。一些在ECore中表述;另一些在MOF1.4 - XMI1.2中提到。UML-XMI1.2中的元模型可能被上传到Poseidon for UML,一个UML CASE工具。

建模工具的集成元建模主要应用于领域建模,其所建立的领域语言应用范围较小。这虽然有利于提高抽象层次、有利于代码的自动生成(从而有利于 MDA 的实现),但是也给复杂系统的建模带来了一些问题。一个复杂系统往往涉及多个领域的多个方面,比如嵌入式系统需要对硬件和软件建模,需要对系统静态结构和动态行为建模。此时,有两种方案可供选择:合成一个新的综合元模型或者将现有建模工具集成。合成新的综合元模型相对比较简单,但是必须为合成的元模型开发新的建模工具以及代码生成器。而且,当某个领域语言变化时,合成的元模型也需要作相应变化。人们在合成元模型上作了许多探索,比如 Ledecz 等人在 UML 中引入 3 个新关系: Equivalence(等价)、Implementation Inheritance(实现继承)和 Interface Inheritance(接口继承)以辅助元模型的合成.但总的来说,以合成元模型的方式来解决对复杂系统的建模问题依然困难重重2。