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

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

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

四層元模型體系結(jié)構(gòu)

采用元1模型驅(qū)動(dòng)的體系結(jié)構(gòu)對(duì)于企業(yè)建模有重要價(jià)值,它解決了產(chǎn)品數(shù)據(jù)一致性與企業(yè)信息共享問(wèn)題。元建模理論是從80年代后期發(fā)展起來(lái)的,雖然起步晚,但發(fā)展速度很快。到目前為止,為了不同的目的,已經(jīng)定義了很多元元模型和元模型,例如最早由EIA(電子工業(yè)協(xié)會(huì))定義的CIDF(CASE Data Interchange Format)元元模型,OMG(對(duì)象管理組織)定義的MOF(Meta Object Facility)元元模型等。這些元元模型的建立都是以經(jīng)典的四層元數(shù)據(jù)體系結(jié)構(gòu)為基礎(chǔ)的。

四層元模型是OMG組織指定的UML的語(yǔ)言體系結(jié)構(gòu)。這種體系結(jié)構(gòu)是精確定義一個(gè)復(fù)雜模型語(yǔ)義的基礎(chǔ)。除此之外,該體系結(jié)構(gòu)具有,通過(guò)遞歸地將語(yǔ)義應(yīng)用到不同層次上,完成語(yǔ)義結(jié)構(gòu)的定義,為UML的元模型擴(kuò)展提供體系結(jié)構(gòu)基礎(chǔ),為UML元模型實(shí)現(xiàn)與其他的基于四層元模型體系結(jié)構(gòu)的標(biāo)準(zhǔn)相結(jié)合提供體系結(jié)構(gòu)基礎(chǔ)。

OMG提出的MOF是一個(gè)標(biāo)準(zhǔn)。為了描述某一特定的模型,需要描述組成該類(lèi)模型的建模結(jié)構(gòu)集,MOF能對(duì)建模結(jié)構(gòu)進(jìn)行描述。MOF的4層元建模架構(gòu)提供一組建模元素以及使用這些元素的規(guī)則[21]。

結(jié)構(gòu)信息層(information layer)信息是由我們希望描述的數(shù)據(jù)組成,這些數(shù)據(jù)通常是一些用戶(hù)數(shù)據(jù)(user data),主要職責(zé)是描述信息領(lǐng)域中的詳細(xì)信息。

模型層(model layer)模型層是由元數(shù)據(jù)組成,元數(shù)據(jù)是描述信息層的數(shù)據(jù),元數(shù)據(jù)的集合被稱(chēng)作為模型。

模型層的主要職責(zé)是為描述信息層而定義的一種“抽象語(yǔ)言”(即沒(méi)有具體語(yǔ)法或符號(hào)的語(yǔ)言)。信息層的數(shù)據(jù),即用戶(hù)數(shù)據(jù),是模型層的一個(gè)實(shí)例。

元模型層(metamodel layer)元模型層是由元一元數(shù)據(jù)組成,元一元數(shù)據(jù)定義了元數(shù)據(jù)的結(jié)構(gòu)和語(yǔ)義,元一元數(shù)據(jù)的集合被稱(chēng)作為元模型。元模型層的主要職責(zé)是為了描述模型層而定義的一種“抽象語(yǔ)言”,是對(duì)模型層的進(jìn)一步抽象。也就是說(shuō),模型層描述的內(nèi)容通常要比元模型層描述的內(nèi)容豐富、詳細(xì)。一個(gè)模型是元模型的一個(gè)實(shí)例。數(shù)據(jù)詞典中的元數(shù)據(jù)是對(duì)2數(shù)據(jù)模型的描述。

元元模型層(meta-metamodel layer)元元模型層是由元元數(shù)據(jù)的結(jié)構(gòu)和語(yǔ)義的描述組成,這層的主要職責(zé)是為了描述元模型而定義的一種“抽象語(yǔ)言”。元元模型的定義要比元模型更加抽象、簡(jiǎn)潔。一個(gè)元元模型可以定義多個(gè)元模型,而每個(gè)元模型也可以與多個(gè)元元模型相關(guān)聯(lián)。通常所說(shuō)的相關(guān)聯(lián)的元模型和元元模型共享同一個(gè)設(shè)計(jì)原理和構(gòu)造,這也不是絕對(duì)的準(zhǔn)則。每一層都需要維護(hù)自己設(shè)計(jì)的完整性。一個(gè)元模型是元元模型的一個(gè)實(shí)例。

下圖進(jìn)一步說(shuō)明了四層元數(shù)據(jù)體系結(jié)構(gòu):該圖只給出了一個(gè)模型和一個(gè)元模型作為例子。四層元模型的目的是為了支持多個(gè)模型和多個(gè)元模型。