關於元建模的一些東西,應該比較有用吧,來自於
http://www.metamodel.com/staticpages/index.php?page=20021010231056977
什麼是元建模?
十年前,元建模是什麼太清楚了,因為用的人都是很小一個圈子裡面的。
現在應用得廣了,反而大家不清楚了。很多人號稱自己是在元建模,把這個概念給弄糊塗了。
這裡試圖給個解釋吧。
首先,元模型是對建立一個富含語義的模型(semantic model)所需要的構造元素(construct)和規則的一個精確的定義。
那麼,元建模就是得到元模型和其它一些東西的一種活動。
元建模和建模一樣,也是為了特定目的,對現實世界進行的一種描述。
^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^
這兩個地方是關鍵
元建模的通常目的是:
1) 作為需要進行exchange的語義資料(semantic data)的“schema”。
例如為了在CASE工具的資料之間進行interchange,而有CDIF,為了在UML模型之間進行交換,而有XMI,為了在資料之間進行交換,而有XML。
2) 作為需要儲存的語義資料“schema”。
3) 作為支援某個特別的方法論或者過程的語言。
UML元模型的最初目的就是為此,結果後來UML又用在了儲存和exchange了,結果帶來了N多問題。因此一定要注意“特定目的”。
4) 作為一種為已有的資訊表示額外語義的語言。
例如,現在的“語義網”這個熱門的東東的作用就是使得網路上的資訊更加的“可計算(computable)
”
語義
現在來談談語義這個東東。
“semantic”的意思是不僅要為現實世界中的某個東西建模,而且還要model這個某個東西所包含的意思。呵呵,這個“意思”這個東西就是仁者見仁,智者見智的一個東西了,它取決於這個元模型的目的。
打個比方,你看到一個景色,譬如一個美女,你要把它(sorry,應該是她)畫在你的機器上,一般來說,結果和你看到是差別巨大的。這是因為你腦袋裡面的元模型和畫圖工具腦袋裡面的元模型差別太大了。畫圖工具想的是:圓圈、正方形、三角形、直線,而你想的是:秀髮、大眼、小嘴 ……(呵呵,不能再往下了)
現在你應該清楚了吧,元模型就是一堆概念的集合,它是你在描述一個指定的域時用到的詞彙。
那麼傳統上,都是誰在用元模型呢?
1) CASE工具開發商
假如說你是一個UML工具的開發商,而你的使用者現在想要在你的工具中使用除了類之外其它的東西,比如說介面,那麼你就要知道,這個新的東東是不是會和原來工具中已經支援的概念衝突,工具的資料結構是否需要做出改動來捕捉關於這個新的概念的資訊。
2) 倉庫開發商
比如你要開發一個倉庫來儲存使用者的系統開發中的資訊,他們把它叫做“metadata”,為了在一個倉庫中儲存各種系統開發中涉及到的工作產品,你需要一個schema。就像資料庫需要shema一樣,元模型這個時候就是倉庫的conceptual schema。
3) 系統整合商
系統整合商需要瞭解各種被整合的系統中資料的意思。哪些資料有著相同的意義,哪些是互為補充的、哪些是關聯的。這個分析的結構就是產生了待整合資料的一個語義模型,或者說,一個元模型。
4) 終端使用者
當你需要評價不同的軟體哪個更有威力時…… 切,這個有些亂扯了吧。
5) 國內這些為了湊論文畢業並不知道元建模到底為何目的但是木有辦法不得不元建模的可憐的不可氣的同學們。