元建模
元模型(或稱替代模型)是「模型的模型」, 元建模則指建立元模型的過程(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工具。