版權(quán)歸原作者所有,如有侵權(quán),請(qǐng)聯(lián)系我們

[科普中國(guó)]-元建模

科學(xué)百科
原創(chuàng)
科學(xué)百科為用戶提供權(quán)威科普內(nèi)容,打造知識(shí)科普陣地
收藏

概要

元建模是在一特定領(lǐng)域內(nèi)構(gòu)建“概念”(事件、條件等)集合。模型是真實(shí)世界中現(xiàn)象的抽象,元模型又是另一種抽象,關(guān)注模型本身的屬性,所以可以把一個(gè)元模型看做對(duì)模型的抽象。模型應(yīng)該服從它元模型的定義,如同一種計(jì)算機(jī)程序服從這種編程語(yǔ)言語(yǔ)法定義一樣。

元模型的應(yīng)用:

作為需要交換或存儲(chǔ)的語(yǔ)義數(shù)據(jù)的概要;

作為支持特定的方法或過程的語(yǔ)言;

作為表達(dá)現(xiàn)有信息額外的語(yǔ)義的語(yǔ)言;

因?yàn)樵5摹霸碧匦?,其?shí)踐和理論都與科學(xué)學(xué),元哲學(xué),超理論和系統(tǒng)學(xué),和元意識(shí)相關(guān)。這一概念可應(yīng)用于數(shù)學(xué),并已實(shí)際應(yīng)用于計(jì)算機(jī)科學(xué)和計(jì)算機(jī)工程/軟件工程的相關(guān)領(lǐng)域1。

元建模專題定義軟件工程中,使用模型越來越普遍,這相對(duì)于傳統(tǒng)的以代碼為基礎(chǔ)的發(fā)展技術(shù)。模型應(yīng)于一個(gè)元模型保持一致。目前模型驅(qū)動(dòng)工程(MDE)的最活躍分支是Object Management Group(OMG)提出的模型驅(qū)動(dòng)架構(gòu)(MDA)解決方案。該解決方案基于語(yǔ)言的使用,描述被稱為元對(duì)象機(jī)制或MOF的元模型。OMG提出的典型元模型是UML,SysML,SPEM或CWM。國(guó)際標(biāo)準(zhǔn)化組織(ISO)也發(fā)表了元模型的標(biāo)準(zhǔn)ISO/IEC 24744。下文涉及的所有語(yǔ)言都定義為MOF元模型。

元數(shù)據(jù)建模元數(shù)據(jù)建模是元建模的一種,在軟件工程和系統(tǒng)工程中用于分析,構(gòu)建適用于問題的預(yù)定義類的模型。

模型變換模型驅(qū)動(dòng)工程(MDE)一個(gè)重要的里程是系統(tǒng)使用模型轉(zhuǎn)換語(yǔ)言。OMG提出了QVT標(biāo)準(zhǔn),查詢/視圖/變換模型。QVT基于元對(duì)象機(jī)制或MOF。在其他的模型轉(zhuǎn)換語(yǔ)言(MTLs)中,實(shí)現(xiàn)了這一標(biāo)準(zhǔn)的例子是AndroMDA, VIATRA, Tefkat 或 MT.。

與本體關(guān)系元模型與本體密切相關(guān)。兩個(gè)經(jīng)常被用來描述和分析的概念之間的關(guān)系

本體:在特定事物范圍或論述領(lǐng)域內(nèi),使用詞匯、利用語(yǔ)法表述一些有意義事情。語(yǔ)法指定一個(gè)完整的聲明,斷言,查詢等是什么意思。(正式的限制)在什么條件下,在本體控制的詞匯中可一起使用。

元建模:可視為一個(gè)明確的說明(結(jié)構(gòu)和規(guī)則),如何創(chuàng)建域特定模型。尤其是,包括一個(gè)域特定標(biāo)記的正式規(guī)范。通常情況下,元模型是,而且始終遵循一個(gè)嚴(yán)格規(guī)則集。?!坝行У脑P褪且环N本體,但并非所有本體可明確建模為元模型” 。

元模型類型軟件工程中,模型(及其相應(yīng)的建模活動(dòng))分為以下幾種類型:

元數(shù)據(jù)建模(元數(shù)據(jù)模型);

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

可執(zhí)行元建模(結(jié)合上述以及更多,如一般用途的工具Kermeta);

模型轉(zhuǎn)換語(yǔ)言;

元模型動(dòng)物園(zoos)存放一些相互類似的元模型的集合被稱為一個(gè)元模型動(dòng)物園。有幾種類型的元模型動(dòng)物園。一些在ECore中表述;另一些在MOF1.4 - XMI1.2中提到。UML-XMI1.2中的元模型可能被上傳到Poseidon for UML,一個(gè)UML CASE工具。

建模工具的集成元建模主要應(yīng)用于領(lǐng)域建模,其所建立的領(lǐng)域語(yǔ)言應(yīng)用范圍較小。這雖然有利于提高抽象層次、有利于代碼的自動(dòng)生成(從而有利于 MDA 的實(shí)現(xiàn)),但是也給復(fù)雜系統(tǒng)的建模帶來了一些問題。一個(gè)復(fù)雜系統(tǒng)往往涉及多個(gè)領(lǐng)域的多個(gè)方面,比如嵌入式系統(tǒng)需要對(duì)硬件和軟件建模,需要對(duì)系統(tǒng)靜態(tài)結(jié)構(gòu)和動(dòng)態(tài)行為建模。此時(shí),有兩種方案可供選擇:合成一個(gè)新的綜合元模型或者將現(xiàn)有建模工具集成。合成新的綜合元模型相對(duì)比較簡(jiǎn)單,但是必須為合成的元模型開發(fā)新的建模工具以及代碼生成器。而且,當(dāng)某個(gè)領(lǐng)域語(yǔ)言變化時(shí),合成的元模型也需要作相應(yīng)變化。人們?cè)诤铣稍P蜕献髁嗽S多探索,比如 Ledecz 等人在 UML 中引入 3 個(gè)新關(guān)系: Equivalence(等價(jià))、Implementation Inheritance(實(shí)現(xiàn)繼承)和 Interface Inheritance(接口繼承)以輔助元模型的合成.但總的來說,以合成元模型的方式來解決對(duì)復(fù)雜系統(tǒng)的建模問題依然困難重重2。