元建模
元模型(或称替代模型)是“模型的模型”, 元建模则指建立元模型的过程(meta-physics 为”形而上学“,即“科学的科学”)。因此,元建模的工作包括:分析、构建和开发一套用于给某类指定问题建模的框架、规则、约束、模型和理论等。在软件工程和系统工程中,顾名思义,这正符合元和建模的概念。元模型种类多样,应用广泛。
概要
元建模是在一特定领域内构建“概念”(事件、条件等)集合。模型是真实世界中现象的抽象,元模型又是另一种抽象,关注模型本身的属性,所以可以把一个元模型看做对模型的抽象。模型应该服从它元模型的定义,如同一种计算机程序服从这种编程语言语法定义一样。
元模型的应用:
- 作为需要交换或存储的语义数据的概要
- 作为支持特定的方法或过程的语言
- 作为表达现有信息额外的语义的语言
因为元建模的“元”特性,其实践和理论都与科学学,元哲学,超理论和系统学,和元意识相关。这一概念可应用于数学,并已实际应用于计算机科学和计算机工程/软件工程的相关领域。
元建模专题
定义
软件工程中,使用模型越来越普遍,这相对于传统的以代码为基础的发展技术。模型应于一个元模型保持一致。目前模型驱动工程(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.。
与本体关系
元模型与本体密切相关。两个经常被用来描述和分析的概念之间的关系
- 本体:在特定事物范围或论述领域内,使用词汇、利用语法表述一些有意义事情。语法指定一个完整的声明,断言,查询等是什么意思。(正式的限制)在什么条件下,在本体控制的词汇中可一起使用。[Metamodel-b]
- 元建模:可视为一个明确的说明(结构和规则),如何创建域特定模型。尤其是,包括一个域特定标记的正式规范。通常情况下,元模型是,而且始终遵循一个严格规则集。[Metamodel-a] 。“有效的元模型是一种本体,但并非所有本体可明确建模为元模型” [Metamodel-b] 。
元模型类型
软件工程中,模型(及其相应的建模活动)分为以下几种类型:
- 元数据建模(元数据模型)
- 元过程建模(元过程模型)
- 可执行元建模(结合上述以及更多,如一般用途的工具Kermeta)
- 模型转换语言
- 多项式元模型
- 人工神经网络元模型
- Kriging元模型
- 分段多项式(样条)元模型
- 梯度增强Kriging元模型(GEK)
元模型动物园(zoos)
存放一些相互类似的元模型的集合被称为一个元模型动物园。有几种类型的元模型动物园。一些在ECore中表述;另一些在MOF1.4 - XMI1.2中提到。UML-XMI1.2中的元模型可能被上传到Poseidon for UML,一个UML CASE工具。