潘文林
(云南民族大學(xué) 數(shù)學(xué)與計(jì)算機(jī)學(xué)院,云南 昆明 650500)
概念模型是信息系統(tǒng)開發(fā)的基礎(chǔ),概念模型的質(zhì)量決定了信息系統(tǒng)開發(fā)的成敗.概念模型的質(zhì)量由概念建模過程中的各項(xiàng)活動和建模語言的表達(dá)能力決定.以下幾位學(xué)者給出了概念建模質(zhì)量相關(guān)的研究綜述:
1) Moody[1]評述了概念模型質(zhì)量相關(guān)的研究,并分析了需要解決的主要理論問題和實(shí)踐問題.他細(xì)致分析了如何構(gòu)造、開發(fā)、驗(yàn)證和應(yīng)用概念模型質(zhì)量評價框架.他認(rèn)為,目前提出的概念模型質(zhì)量評價框架已經(jīng)太多了,但太多的框架反而會增加應(yīng)用的難度,建議業(yè)界相關(guān)人員應(yīng)共同建立一個通用的概念模型質(zhì)量標(biāo)準(zhǔn).最后他列舉了開發(fā)數(shù)據(jù)模型質(zhì)量通用標(biāo)準(zhǔn)的一些初期工作,在將來的概念模型質(zhì)量標(biāo)準(zhǔn)化工作中可以借鑒.
2) Genero和Piattini[2]總結(jié)了已提出的質(zhì)量框架和度量方法.不同框架和度量方法的目標(biāo)不同,例如增強(qiáng)可閱讀性、提高可維護(hù)性、評價簡潔性和保證完整性等.對概念建模的質(zhì)量評價還沒有一個全面的視圖,因此,很難建立一個具體的概念建模質(zhì)量保證體系.
3) Olivé[3]總結(jié)了5條用來保證或驗(yàn)證概念模型質(zhì)量的準(zhǔn)則或特性:完整性(即百分之百準(zhǔn)則)、正確性、簡潔性、概念化和穩(wěn)定性.
質(zhì)量是過程質(zhì)量而不是事后質(zhì)量,概念建模過程的每個步驟都必須有質(zhì)量保證才能確保獲得高質(zhì)量的概念模型.目前有文獻(xiàn)提出了概念模型質(zhì)量的重要性和評價方法,但沒有文獻(xiàn)從建模過程交流環(huán)節(jié)這個角度討論語義損失對模型質(zhì)量的影響.本文對概念建模過程中的知識抽取、傳遞和轉(zhuǎn)換過程進(jìn)行深入剖析,找出影響概念模型質(zhì)量的關(guān)鍵因素.
構(gòu)建應(yīng)用領(lǐng)域的概念模型,需要該應(yīng)用領(lǐng)域的專家和信息建模人員(知識工程師、信息分析師)的緊密合作.圖1是對概念建模過程的詳細(xì)分析.
概念建模是對應(yīng)用領(lǐng)域的知識抽取和知識表達(dá)活動,即建模者首先把領(lǐng)域?qū)<乙宰匀徽Z言及圖表等描述的領(lǐng)域知識轉(zhuǎn)換成某種建模語言描述的概念模型,然后再把概念模型轉(zhuǎn)換為自然語言及圖表表達(dá)的領(lǐng)域知識以便領(lǐng)域?qū)<因?yàn)證模型是否正確.從應(yīng)用領(lǐng)域到概念模型是知識抽取和知識表達(dá)的過程;從概念模型到應(yīng)用領(lǐng)域是模型正確性和完整性的檢查過程.一個完整的概念建模過程如下:
1) 領(lǐng)域?qū)<曳治龊统橄髴?yīng)用領(lǐng)域,然后使用自然語言和圖表詳細(xì)描述所理解和抽象的應(yīng)用領(lǐng)域知識;
2) 建模人員聽取領(lǐng)域?qū)<铱陬^描述的應(yīng)用領(lǐng)域知識,閱讀自然語言文本和圖表描述的應(yīng)用領(lǐng)域知識,通過分析后將所理解的應(yīng)用領(lǐng)域知識轉(zhuǎn)換為某種建模語言描述的概念模型;
3) 建模人員分析和解釋概念模型,然后使用自然語言或圖表來描述該模型所表達(dá)的領(lǐng)域知識;
4) 領(lǐng)域?qū)<衣犎〗H藛T對概念模型口頭解釋,閱讀自然語言文本和圖表描述的對概念模型的解釋,通過分析,檢查和驗(yàn)證所理解的概念模型解釋是否正確、完整、一致地反映了應(yīng)用領(lǐng)域.如果存在問題,反饋問題,并從⑴開始在現(xiàn)有基礎(chǔ)上繼續(xù)建模并檢驗(yàn)?zāi)P偷恼_性與完整性;否則,概念建模過程結(jié)束,保存概念模型.
可以看出,概念建模過程是一個增量迭代的活動.
從現(xiàn)實(shí)世界到概念模型,再回到現(xiàn)實(shí)世界進(jìn)行驗(yàn)證的概念建模過程可以看作是信息抽取和信息轉(zhuǎn)換的過程,因此,不可避免地會出現(xiàn)信息損失或信息理解錯誤的問題;此外,領(lǐng)域?qū)<液徒H藛T關(guān)注應(yīng)用領(lǐng)域的視角不同,也會引起信息傳遞和理解上的錯誤.
從信息抽取和模型構(gòu)建過程來看,導(dǎo)致信息損失或錯誤的原因可能包括以下方面:
1) 由于應(yīng)用領(lǐng)域過于龐大,未做領(lǐng)域分解和邊界限定的處理,領(lǐng)域?qū)<铱赡懿恢澜H藛T需要獲取哪方面的知識,提供了與建模目標(biāo)領(lǐng)域無關(guān)的知識;
2) 領(lǐng)域?qū)<覍?yīng)用領(lǐng)域的理解存在錯誤或不完整,導(dǎo)致所提供的領(lǐng)域知識不正確、不一致或不完整;
3) 領(lǐng)域?qū)<颐枋鲋R的能力有限,不能把所理解的領(lǐng)域知識正確、完整、一致地傳遞給建模人員;
4) 建模人員對領(lǐng)域?qū)<姨峁┑念I(lǐng)域知識理解能力有限,不能正確地理解所接收到的領(lǐng)域知識;
5) 建模人員的概念建模能力有限,不能正確地將所理解的領(lǐng)域知識表達(dá)為概念模型;
6) 所采用的概念建模語言的表達(dá)能力有限,不能正確、完整、一致地表達(dá)建模人員所理解的信息.
從概念模型的正確性、完整性和一致性檢查過程來看,導(dǎo)致信息損失或錯誤的原因可能包括以下方面:
1) 建模人員對概念模型的語義解釋有偏差,錯誤地解釋了模型的語義;
2) 建模人員將模型的語義解釋描述為自然語言或圖表的能力有限,不能正確、完整、一致地傳遞模型的語義解釋;
3) 領(lǐng)域?qū)<覍H藛T提供的模型解釋有理解偏差.
上述原因可以歸結(jié)為以下3個方面:
1) 建模策略或建模管理方面,即上面分析的原因1);
2) 領(lǐng)域?qū)<液徒H藛T的個人技能和溝通交流的能力,包括上面分析的原因2)、3)、4)、5),即領(lǐng)域?qū)<依斫忸I(lǐng)域知識、描述領(lǐng)域知識、理解模型知識的能力和建模人員理解知識、表達(dá)知識、解釋模型、描述模型的能力;
3) 信息轉(zhuǎn)換方法和建模語言的表達(dá)能力,即上面分析的原因6).
上述分析印證了“知識獲取任務(wù)中大部分的困難來自所用的提取方法和與領(lǐng)域?qū)<业臏贤ā边@一說法[4].這里所說的提取方法包括領(lǐng)域知識的理解、分析、抽象和表達(dá)的方法,既包括建模相關(guān)人員的各種能力,也包括所采用的建模策略和建模語言的表達(dá)能力.
上述歸結(jié)出來的3類原因中,建模邊界的問題比較容易解決,其它2類問題則可進(jìn)一步討論其理想的狀況.從建模相關(guān)人員的個人技能和溝通交流的能力角度來看,減少信息損失最理想的人選是高水平的領(lǐng)域?qū)<冶旧磉€是一個高水平的建模人員,但這樣的人選很難找到,此時的建模過程如圖2所示.
從信息轉(zhuǎn)換方法和建模語言表達(dá)能力角度來看,理想的建模方法及建模過程如圖3所示.這種方法借助自動化建模工具,在建模人員的輔助下,該工具不僅能夠通過分析自然語言描述的領(lǐng)域知識構(gòu)建出建模語言表達(dá)的模型,同時還能夠生成模型解釋的自然語言描述文本和相應(yīng)的樣例.
可以看出,這種建模方法是基于自然語言分析技術(shù)的.在現(xiàn)有的概念建模方法中,只有面向事實(shí)的信息建模方法(fact-oriented modeling)具備這樣的建模特征[5].有幾個面向事實(shí)建模工具提供了通過自然語言分析構(gòu)建信息模型的輔助交互界面[6],還有幾個工具則實(shí)現(xiàn)了生成模型解釋的偽自然語言描述的功能[7-9].因此,從技術(shù)實(shí)現(xiàn)角度看,這種借助自動化建模工具的建模方法是可行的.
從前面的分析可以看出,如果領(lǐng)域?qū)<液徒H藛T的能力是一定的,那么,建模語言是影響模型質(zhì)量的唯一原因了.本節(jié)專門討論建模語言的表達(dá)能力、語言結(jié)構(gòu)和復(fù)雜度對建模過程和模型表達(dá)的影響.
從應(yīng)用領(lǐng)域到概念模型經(jīng)過抽象、描述和表達(dá)等符號轉(zhuǎn)換過程,概念模型的正確性、完整性和一致性檢查則經(jīng)過解釋、描述和實(shí)例驗(yàn)證的逆過程.在這些過程中,我們假設(shè):
1) 領(lǐng)域?qū)<覍︻I(lǐng)域知識足夠清楚,抽象和描述的領(lǐng)域知識完全正確;
2) 領(lǐng)域?qū)<遗c建模人員之間使用自然語言或偽自然語言交流和閱讀不會產(chǎn)生任何歧義;
3) 建模人員完全掌握某種語言的建模方法,能夠正確解釋和描述模型.
在上述假設(shè)的前提下,只有建模語言具有足夠強(qiáng)大的表達(dá)能力,建模人員才能夠?qū)⑺斫獾某橄箢I(lǐng)域知識完全轉(zhuǎn)換為模型符號表達(dá).圖4是按照表達(dá)能力和推理能力強(qiáng)弱組織的所有信息建模語言譜系[10].
從圖4中可以看出,包括描述邏輯在內(nèi)的所有邏輯語言都具有支持情景互操作的信息表達(dá)和推理能力,因此,使用邏輯語言能夠最大程度地表達(dá)應(yīng)用領(lǐng)域的知識.如果使用表達(dá)能力較弱的建模語言,所構(gòu)建的概念模型只能表達(dá)應(yīng)用領(lǐng)域的部分知識.
雖然邏輯語言具有強(qiáng)大的表達(dá)和推理能力,但其數(shù)學(xué)化的語言符號使用起來具有一定的難度,在建模過程中,建模人員很難直接使用邏輯語言來表達(dá)所獲取的知識.因此,我們認(rèn)為邏輯語言更適合于用來表達(dá)已經(jīng)確認(rèn)了的信息模型,并不適合用于概念建模過程中.
由于自然語言是人類日常交流的語言,如果建模語言的模型表達(dá)方法與自然語言中的命題與規(guī)則描述方法相近,建模人員很容易掌握和使用,建模工作的主要任務(wù)是將領(lǐng)域知識轉(zhuǎn)換為結(jié)構(gòu)相近的模型符號表達(dá).
如果建模語言和自然語言的結(jié)構(gòu)相差較大,將領(lǐng)域知識轉(zhuǎn)換為建模語言的模型符號表達(dá)時,建模者需要對領(lǐng)域知識的結(jié)構(gòu)進(jìn)行處理才能完成領(lǐng)域知識到模型的符號映射工作.這樣一來,符號轉(zhuǎn)換過程就不再是只對抽象知識的符號描述,而是對抽象知識的結(jié)構(gòu)變換.這樣的轉(zhuǎn)換過程實(shí)際上潛在地引入了建模人員對抽象知識結(jié)構(gòu)的設(shè)計(jì),建模人員必須具有很強(qiáng)的邏輯結(jié)構(gòu)等價變換技術(shù)才能勝任這樣的工作.但即使是高水平的建模人員,面對那些過于復(fù)雜的信息結(jié)構(gòu)可能也會束手無策.而且有些信息結(jié)構(gòu)根本無法等價轉(zhuǎn)換為建模語言的模型結(jié)構(gòu),我們把這樣的情況稱為結(jié)構(gòu)失配.對于結(jié)構(gòu)失配的情況,只能根據(jù)重要程度取舍其中的信息.
下面給出一個簡單的例子來說明語言易用性的問題.例如,對于“某房間在某時段只能安排一種活動,在某時段只能將某種活動安排在一個房間”這樣的領(lǐng)域知識,采用一階邏輯、OWL 2、RDF、ER、UML和ORM建立的概念模型分別如下:
1) 一階邏輯:
?xywc[房間(x)∧房間(w)∧時段(y)∧活動(z)∧活動(v)];
∧活動安排(x,y,z)∧活動安排(w,y,z);
∧活動安排(x,y,z)→(x=w)∧(z=v)].
2) OWL(抽象語法):
Declaration( Class(活動) )
Declaration( Class(房間) )
Declaration( Class(時段) )
Declaration( ObjectProperty(活動地點(diǎn)) )
Declaration( ObjectProperty(活動時間) )
ObjectPropertyDomain(活動地點(diǎn) 活動)
ObjectPropertyDomain(活動時間 活動)
ObjectPropertyRange(活動地點(diǎn) 房間)
ObjectPropertyRange(活動時間 時段)
HasKey(活動 (活動地點(diǎn) 活動時間))
Declaration( ObjectProperty(舉辦活動) )
Declaration( ObjectProperty(舉辦時間) )
ObjectPropertyDomain(舉辦活動 房間)
ObjectPropertyDomain(舉辦時間 房間)
ObjectPropertyRange(舉辦活動 活動)
ObjectPropertyRange(舉辦時間 時段)
HasKey(房間 (舉辦活動 舉辦時間)).
3) RDF如圖5.
4) ER模型如圖6.
5) UML模型如圖7.
6) ORM模型如圖8.
上述模型中,只有一階邏輯、OWL 2和ORM的模型可完整地表達(dá)領(lǐng)域知識,而其中只有ORM模型的結(jié)構(gòu)與自然語言的領(lǐng)域知識描述語句相似,并且可直接生成為偽自然語言文本描述.對于多數(shù)建模人員,一階邏輯語言的數(shù)學(xué)符號模型并不容易理解,更不要說表達(dá).OWL的模型雖然完整地表達(dá)了領(lǐng)域知識,但過于繁瑣,不易閱讀.RDF可以看作是OWL的一種圖形化表達(dá),但無法表達(dá)約束信息.ER可以表達(dá)其中一種約束,如果兩個約束都要表達(dá)出來則會使模型冗余.UML使用直接表達(dá)三元關(guān)系的方式來建模,但無法表達(dá)約束.
從這個例子可以看出,ORM之所以能夠簡單、正確、完整地表達(dá)領(lǐng)域知識,與ORM直接采用帶對象占位符的謂詞來表達(dá)事實(shí)有直接的關(guān)系,因?yàn)閹ο笳嘉环闹^詞與自然語言的陳述句結(jié)構(gòu)相近.ORM能夠如此直接地表達(dá)領(lǐng)域知識,和該語言的設(shè)計(jì)初衷有直接的關(guān)系.ORM起源于自然語言信息分析方法,用帶對象占位符的謂詞來直接表達(dá)事實(shí)類型是其核心.因此,ORM特別適合用于概念建模過程.
從建模語言的發(fā)展歷史來看,大部分建模語言源自邏輯理論、程序設(shè)計(jì)語言、接口定義語言(IDL)或數(shù)據(jù)庫邏輯模式的描述.例如,ER起源于數(shù)據(jù)庫邏輯模式的描述,UML起源于面向?qū)ο笤O(shè)計(jì)語言,OWL的基礎(chǔ)是描述邏輯.此類建模語言設(shè)計(jì)之初所關(guān)注的就是如何描述模型的邏輯結(jié)構(gòu),開始并未考慮語用的問題,即建模語言在建模過程中如何作為交流工具使用的問題.因此,此類建模語言更適用于邏輯模型的描述和設(shè)計(jì),只有改進(jìn)其可用性才適合用于概念建?;顒?從這個角度上看,除了ORM外,各種信息建模方法學(xué)從未真正重視過概念建?;顒又薪UZ言的可用性,沒有為建?;顒咏o出有效的方法學(xué)支持.
通過對概念建模的知識抽象、傳遞和轉(zhuǎn)換以及模型的解釋和驗(yàn)證過程進(jìn)行詳細(xì)地分析,辨識出影響概念建模質(zhì)量的關(guān)鍵因素有如下2類:①領(lǐng)域?qū)<液徒H藛T的個人技術(shù)水平、語言表達(dá)和交流能力;②建模語言的表達(dá)能力和可用性.
建模者的技能可通過教育和訓(xùn)練來提高,某些交流環(huán)節(jié)可通過自動化工具輔助實(shí)現(xiàn),非本文討論的重心.本文重點(diǎn)分析建模語言的表達(dá)能力和可用性對概念模型質(zhì)量的影響,通過簡單但頗具代表性的案例分析,對比分析了多個主流建模語言表達(dá)的概念模型,結(jié)論是:除了面向事實(shí)建模方法ORM,多數(shù)建模語言并不適合用于概念建?;顒樱鼈冞m合用于描述系統(tǒng)的邏輯模型,而邏輯模型通常是經(jīng)過設(shè)計(jì)獲得的.
因?yàn)榻H藛T可能使用任意UML等建模語言進(jìn)行概念建模,為了減少建模者受到建模語言的影響而在建模過程中加入設(shè)計(jì)的行為,本文提出一個概念建模準(zhǔn)則:概念建模的任務(wù)是描述領(lǐng)域知識,而不是設(shè)計(jì),即概念模型是描述出來的而不是設(shè)計(jì)出來的;一旦設(shè)計(jì),概念建模就成為系統(tǒng)設(shè)計(jì),概念模型就成為目標(biāo)系統(tǒng)的邏輯模型,而不再是業(yè)務(wù)模型.
參考文獻(xiàn):
[1] MOODY D L. Theoretical and practical issues in evaluating the quality of conceptual models: current state and future directions[J]. Data & Knowledge Engineering, 2005, 55(3): 243-276.
[2] GENERO M, PIATTINI A. Metrics for software conceptual models[M]. London: Imperial College Press, 2005.
[3] OLIVé A. Conceptual modeling of information systems[M]. Berlin Heidelberg: Springer, 2007.
[4] 蔡自興. 高級專家系統(tǒng):原理、設(shè)計(jì)及應(yīng)用[M]. 北京: 科學(xué)出版社, 2005.
[5] HALPIN T. Fact-oriented modeling: past, present and future[C]//Conceptual Modelling in Information Systems Engineering. Berlin Heidelberg: Springer, 2007: 19-38.
[6] BAKEMA G, ZWART J P, van der LEK H. Fully communication oriented information modeling[R]. Bommeljé Crompvoets en Partners (BCP), 2002.
[7] HALPIN T, CURLAND M. Automated verbalization for ORM 2[C]// On the Move to Meaningful Internet Systems 2006: OTM 2006 Workshops. Springer, 2006: 1181-1190.
[8] AZIZAH F N, BAKEMA G P, SITOHANG B, et al. Generic data model patterns using fully communication oriented information modeling (FCO-IM)[C]//Electrical Engineering and Informatics, 2009. IEEE, 2009, 2: 484-490.
[9] NIJSSEN M, LEMMENS I. Verbalization for business rules and two flavors of verbalization for fact examples[C]// On the Move to Meaningful Internet Systems: OTM 2008 Workshops. Springer, 2010: 760-769.
[10] DAVIS M. Semantic wave 2008 report: industry roadmap to web 3.0 & multibillion dollar market opportunities[R]. Executive Summary, 2008.