專利名稱:一種基于本體元模型的領域建模方法
技術領域:
本發(fā)明涉及信息資源集成應用的語義互操作性管理與服務領域,特別涉及一種基于本體元模型的領域建模方法。
背景技術:
需求工程是當今軟件工程中面臨的一個關鍵問題,根據(jù)美國軟件行業(yè)的一項調查顯示,在8000多個軟件項目中,有三分之一的項目沒能完成,即使那些完成的項目,也有一半的項目沒有成功實施。在導致這些項目失敗的原因中,與需求相關的原因占到了45%[3]。因此,在大型信息系統(tǒng)的開發(fā)過程中,如何完整準確的獲取客戶需求,是軟件開發(fā)人員面臨的一個非常困難而且關鍵的問題[3,4,5]。
在需求工程中,參與者包括領域專家、客戶、軟件開發(fā)人員等,這些參與者具有不同的知識背景,不同的關注點,溝通上的困難無疑增加了需求工程的難度。一方面,軟件開發(fā)者進行軟件需求分析,但是他們通常都不是領域專家,因此很難理解應用領域的細節(jié),只能被動的獲取客戶提供的信息,而這些信息可能無法滿足他們的要求。另一方面,客戶不熟悉軟件開發(fā)的基本原理,難以如何按照軟件開發(fā)的要求去描述自己的需求,提供的需求往往不完全,并且經常變化。由于缺乏溝通的橋梁,二者之間的合作往往很難成功,在這種需求基礎上進行的開發(fā)很難成功實現(xiàn)。
領域模型[6]為軟件開發(fā)者和客戶之間提供了一個可以溝通的橋梁。在軟件工程中,領域是指一組具有相似或相近軟件需求的應用系統(tǒng)所覆蓋的功能區(qū)域[7]。領域模型用于收集、組織和表示領域相關的信息[8],它包括了該領域中這些系統(tǒng)的共性和變化性的知識,在軟件開發(fā)中扮演了領域專家的角色。此外,領域建模還有助于實現(xiàn)軟件復用,研究表明,在特定領域內進行軟件復用更容易獲得成功[7,9],領域模型中區(qū)分了共性和變化性的知識,幫助指導進行軟件復用。但是,當同一領域中出現(xiàn)多個領域模型時,由于缺乏明確統(tǒng)一的表示和定義,容易導致不同組織設計的領域模型缺乏互操作性,難以共享和復用。
此外,隨著互聯(lián)網的快速發(fā)展,計算系統(tǒng)范型已經發(fā)展到服務計算的時代[1]。其基本特征包括互聯(lián)網被視為虛擬的統(tǒng)一的可調控的互操作性管理、存儲、共享與服務平臺;在深度共享各種信息資源的基礎上,實現(xiàn)用戶的個性化服務;Web服務成為組成信息系統(tǒng)的基本單元。Web服務是一個嶄新的分布式計算模型,是將Web上的數(shù)據(jù)和信息進行集成的有效機制[2]。在這種新的以Web服務為基礎的計算范型下,滿足客戶需求的信息系統(tǒng)將主要由一系列的Web服務在一定的體系結構組織下構造而成。因此,如何建立領域模型,能夠利用領域模型的指導發(fā)現(xiàn)滿足客戶需要的Web服務,通過Web服務的組合來實現(xiàn)滿足客戶需求的目標系統(tǒng),是軟件開發(fā)中面臨的一個關鍵的問題。
因此,提供一種領域建模方法,使領域模型具有互操作性并能滿足應用開發(fā)的需要,是信息資源集成應用的語義互操作性管理與服務領域亟待解決的技術問題。
參考文獻[1]何克清,何非,李兵等.面向服務的本體元建模理論與方法研究[J].計算機學報,2005,28(4)524-533. 岳昆,王曉玲,周傲英.Web服務核心支撐技術研究綜述[J].軟件學報,2004,15(3)428-442. 金芝,陸汝鈐.多范例自動需求建模和分析一種基于本體的方法[J].中國科學(E輯),2003,33(4)297-312. 金芝.基于本體的需求自動獲取[J].計算機學報,2000,23(5)486-492. 陸汝鈐,金芝,陳剛.面向本體的需求分析[J].軟件學報,2000,11(8)1009-1017. Iscoe N,Williams G B,Arango G.Domain modeling for softwareengineering[J].Proceedings of ICSE’91,1991,340-343. 趙俊峰,謝冰,張路等.一種支持領域特性的Web服務組裝方法[J].計算機學報,2005,28(4)731-738. 李慶如,麥中凡.域分析為軟件復用產生有用的模型[J].計算機研究與發(fā)展,1999,36(10)1188-1196. Mili H,Mili F,Mili A.Reusing SoftwareIssues and researchdirectionS[J].IEEE Transactiors on Software Engineering,1995,21(6)528-562.
發(fā)明內容
本發(fā)明的目的在于針對現(xiàn)有技術中存在的問題提供一種基于本體元模型的領域建模方法。
為實現(xiàn)本發(fā)明所述目的,包括以下步驟,(1)構造一個面向Web服務的領域建模元模型,包括概念本體和過程本體兩類本體;
(2)將領域建模元模型與具體應用領域的知識結合起來進行實例化,從而生成具體應用領域模型;(3)使用本體工具構造具體應用領域模型,并以標準格式描述組成具體應用領域模型的本體;(4)具體應用領域模型結合客戶需求,生成客戶所需的業(yè)務工作流模型,用來進一步匹配Web服務;(5)具體應用領域模型無法滿足客戶需求時,對該領域模型進行演化。
而且,利用ISO/IEC 19763中的本體注冊元模型對領域建模元模型的概念本體進行管理,利用ISO/IEC 19763中的過程模型注冊元模型對領域建模元模型的過程本體進行管理。
而且,所述過程本體中包含領域中的業(yè)務過程,從過程的粒度考慮,業(yè)務過程分為原子過程和組合過程;從客戶需求的角度考慮,業(yè)務過程分為必須過程和變化過程,其中變化過程進一步分為可選過程和多選一過程。
而且,所述本體工具采用Protégé,所述標準格式采用OWL格式。
而且,生成客戶所需的業(yè)務工作流模型利用需求-目標-過程的建模機制,包括以下步驟,(4.1)將客戶需求轉化為目標模型中的上層目標;(4.2)上層目標逐層分解為多個子目標;(4.3)子目標與過程本體中的過程匹配。
而且,對領域模型進行演化包括概念本體演化和過程本體演化。
而且,概念本體演化是在ISO/IEC 19763的本體演化元模型的指導下進行,包括概念增加、概念刪除、概念層次重組,及屬性和約束修改。
而且,過程本體演化由客戶需求直接引發(fā)或者由概念本體演化而引發(fā),過程本體演化包括過程的輸入輸出等參數(shù)修改、過程增加、過程合并和過程刪除。
本發(fā)明提供的解決方案定義了一個面向服務的領域建模的元模型,該元模型與領域無關,通過與具體的應用領域知識相結合,可以生成相應的應用領域模型。利用本體的方式組織領域模型,其中包括兩類本體領域概念本體和領域過程本體,并建立了兩類本體之間的關聯(lián)。本體和元建模技術可以有效的解決知識共享和語義互操作問題,基于本體和元模型的領域模型可以成為軟件開發(fā)者和客戶之間的橋梁,同時,這種領域模型可以為Web服務的發(fā)現(xiàn)和組合提供有效支持。本發(fā)明還基于國際標準對組成領域模型的兩類本體進行組織和管理,與其他標準的兼容性好,具有較強的通用性和互操作性,并最終為Web服務的發(fā)現(xiàn)和組合提供支持。
圖1是面向Web服務的領域建模元模型示意圖。
圖2是本發(fā)明具體實施例的軟件開發(fā)流程圖。
圖3是國際標準ISO/IEC 19763的體系結構圖。
圖4是客戶需求引發(fā)領域模型演化的示意圖。
具體實施例方式
參見附圖,本發(fā)明提供的領域建模方法包括以下步驟,(1)構造一個面向Web服務的領域建模元模型,包括概念本體和過程本體兩類本體;(2)將領域建模元模型與具體應用領域的知識結合起來進行實例化,從而生成具體應用領域模型;
(3)使用本體工具構造具體應用領域模型,并以標準格式描述組成具體應用領域模型的本體;(4)具體應用領域模型結合客戶需求,生成客戶所需的業(yè)務工作流模型,用來進一步匹配Web服務;(5)具體應用領域模型無法滿足客戶需求時,對該領域模型進行演化。
本發(fā)明將本體和元建模技術結合起來應用到傳統(tǒng)的領域建模技術中。本體是概念模型的明確的規(guī)范說明,可用于捕獲相關的領域知識,提供對領域知識的共同理解。
元模型是用來表示模型的模型,元建模技術有助于模型的格式和表現(xiàn)形式規(guī)范和統(tǒng)一。具體的說,模型的模型稱之為元模型。元模型定義了系統(tǒng)建模時用到的元信息,是對某一特定領域建模環(huán)境和內容的規(guī)范定義,能夠表示該領域用來描述應用系統(tǒng)中運行時實體及其關系的信息組成了系統(tǒng)的模型,而定義和表示這些內的所有或全部系統(tǒng)實例?,F(xiàn)在,隨著UML(Unified ModelingLanguage)這樣的通用可視化建模語言的普及以及MOF(Meta Object Facility)規(guī)范的發(fā)布,元模型在系統(tǒng)建模、異構系統(tǒng)(模型)集成與互操作方面的應用日益廣泛。元建模是一種抽象和系統(tǒng)化的建模技術,用于創(chuàng)建和構造元模型,便于模型、數(shù)據(jù)的格式和表現(xiàn)形式規(guī)范和統(tǒng)一。
隨著元建模技術的推廣和應用,不同的領域(甚至同一領域)開始出現(xiàn)多種元模型,元模型間的互操作成為信息資源共享、交換和復用要解決的關鍵問題。究其原因,主要是由于目前相關的領域知識缺乏明確統(tǒng)一的表示和形式化的定義,造成領域內的不同主體難以進行交流而達成共識。近年來廣泛關注的本體技術可以用來解決這個問題。本體這個概念源于哲學中的本體論,用來表示客觀現(xiàn)實的抽象本質。在計算機科學領域,本體被定義為概念模型的明確的規(guī)范說明。本體可用于捕獲相關的領域知識,提供對領域知識的共同理解,確定該領域內共同認可的概念,并從不同層次的形式化模式上給出這些概念和概念之間相互關系的明確定義。此外,本體可被應用于信息知識分類、表達、推理、共享和復用。同其他方法相比,本體能為不同范圍、不同層次的研究領域統(tǒng)一認識,從而消除由于應用背景不同而造成的理解上的沖突和混亂,促進人-機、機-機之間的通信、資源共享和協(xié)同工作。因此,使用本體能很好地解決元建模存在的互操作問題,為兩者的有機融合提供了基礎。另一方面,本體中的基本組成元素是概念,從分析和組織一個領域知識的角度來看,傳統(tǒng)本體的樹型概念圖是半結構化的,在模型的描述能力和構造能力方面不強。如果將本體中的概念視為對象,將對象作為本體建模的基本元素,那么概念就可以具有對象的結構,從而可以充分利用元模型框架的建模能力。因此,使用本體元建模理論與方法能夠保證建模時模型應用的本體或者建模概念間的互操作,有助于指導軟件開發(fā)中的復用。
國際標準ISO/IEC 19763(英文簡稱為MFI)是信息技術領域一個重要的前置性標準,其理論基礎是本體元建模理論,它為復雜信息資源的分類注冊、管理、查詢以及互操作奠定了基礎,因此受到了ISO官方的高度評價和推薦。同時,由于本體元建模理論的前瞻性,這個標準可以覆蓋應用于一系列其他相關國際標準和行業(yè)標準,具有良好的開放性和通用性。本發(fā)明利用ISO/IEC 19763中的本體注冊元模型對領域建模元模型的概念本體進行管理,利用ISO/IEC19763中的過程模型注冊元模型對領域建模元模型的過程本體進行管理。
ISO/IEC 19763中的本體注冊元模型、過程模型注冊元模型和本體演化元模型(本體注冊元模型第二部分),這三部分內容及其理論基礎一本體元建模理論在本發(fā)明的領域建模方法中可起重要的指導作用。參見附圖3,圖中用虛線劃出了ISO/IEC 19763的核心結構MFI核心模型,及繼承MFI核心模型的本體注冊元模型、過程模型注冊元模型、本體演化元模型。除了MFI的核心結構外,附圖3還綜合反應了基于ISO/IEC 19763標準的領域建模方案MFI核心模型繼承MFI參考模型;針對某個具體應用領域,根據(jù)繼承MFI核心模型的三部分建立領域建模元模型,然后建立具體應用領域模型;在某個應用領域和其他應用領域之間可以進行互操作、交換。
本發(fā)明具體例實現(xiàn)步驟如下(1)通過對面向服務的業(yè)務領域模型進行分析,構造一個與具體應用領域無關的、基于本體的元模型。參見附圖1,領域建模元模型包括兩類本體領域概念本體和領域過程本體。領域概念本體包括屬性、概念、約束,概念分為參與者和資源。領域過程本體中包含領域中的業(yè)務過程,業(yè)務過程分為原子過程和組合過程;業(yè)務過程分為必須過程和變化過程,其中變化過程進一步分為可選過程和多選一過程。
(2)針對某個應用領域,通過分析該領域中的系統(tǒng)以及公共的領域需求,獲取具體應用領域的知識,這些知識既包括領域中的共性知識,也包括非公共的變化性知識。具體實施時可在相關領域專家的協(xié)助下獲取知識。將領域建模元模型與具體應用領域知識結合起來進行實例化,從而生成具體應用領域模型。在進行知識獲取和分析的基礎上,從中抽取關鍵的領域概念(類),定義概念的屬性及概念間的關系和約束。在ISO/IEC 19763本體注冊元模型的指導下,構造一個良構的領域概念本體。
由于領域概念本體中的概念都是類層次中的概念,并不包括實例級別的概念。因此,在領域概念本體的基礎上,需要進一步定義實例級別的個體,力求完善領域的概念模型部分,從而生成具體應用領域模型。這部分工作與步驟(1)中領域建模元模型的結構是相應的。
在ISO/IEC 19763過程模型注冊元模型的指導下,構造領域過程本體。過程本體中包含的過程指的是應用領域中的業(yè)務過程。過程的輸入、輸出等參數(shù)的類型要使用概念本體中定義的概念,從而實現(xiàn)兩類本體的有機結合。
從兩個角度對過程本體中的過程進行分類。
從過程的粒度考慮,分為原子過程和組合過程。原子過程指那些能夠完成某個功能的最小粒度的業(yè)務活動,不能夠進行細分。而組合過程則是由原子過程和(或)組合過程通過控制結構組合而成。二者的區(qū)別在于是否包含控制結構,組合過程中包含至少一個控制結構,而原子過程中則不包含。
從客戶需求的角度考慮。在一個應用領域中,客戶需求可以分為三類必須需求、可選需求和多選一需求。類似的,將過程分為必須過程和變化過程,其中變化過程又可以進一步分為可選過程和多選一過程。必須過程是指領域中客戶公共的過程,可選過程與多選一過程對不同客戶是變化的過程,二者的區(qū)別在于多選一過程表示客戶可以從多個過程中進行選擇,但必須從中選擇一個。
(3)使用本體工具構造具體應用領域模型,并以標準格式描述組成具體應用領域模型的本體。所述本體工具采用Protégé,所述標準格式采用OWL格式。
利用OWL格式描述的本體文件可以便于利用工具解析。概念本體利用Jena進行解析,過程本體利用OWL-S API進行解析。
(4)生成客戶所需的業(yè)務工作流模型利用需求-目標-過程的建模機制,包括以下步驟,(4.1)將客戶需求轉化為目標模型中的上層目標;(4.2)上層目標逐層分解為多個子目標;(4.3)子目標與過程本體中的過程匹配。
具體過程為,首先利用需求-目標-過程的建模機制將客戶需求轉化為目標模型中的上層目標。然后將上層目標逐層分解為多個子目標,直至有過程與子目標相關聯(lián)。同時,定義各個子目標之間的依賴關系,便于定義客戶所需的業(yè)務流程,即目標與過程本體中的過程匹配。這樣,客戶目標模型與領域過程模型結合起來,可以構成客戶所需的業(yè)務工作流模型。
根據(jù)過程本體和概念本體的指導來匹配相應的Web服務,從而為生成以Web服務為組成構件的客戶目標系統(tǒng)提供支持。在進行Web服務匹配時,根據(jù)過程本體的輸入、輸出和完成的功能,同時通過計算領域本體中概念間的相似度,在服務注冊庫中查找所需的服務?;诒倔w元模型的領域模型驅動的軟件開發(fā)過程見附圖2,進行上述步驟(1)~(4)后,生成滿足客戶需求的業(yè)務工作流模型;通過與客戶交互,在具體應用領域模型的支持下,實現(xiàn)Web服務的發(fā)現(xiàn)、組合;最終生成客戶目標系統(tǒng),利用本發(fā)明提供的領域建模方法驅動的軟件開發(fā)完畢。
(5)具體應用領域模型無法滿足客戶需求時,對該領域模型進行演化。對領域模型進行演化包括概念本體演化和過程本體演化。演化過程參見附圖4。
概念本體的動態(tài)演化??蛻粜枨笫穷I域模型發(fā)生演化的動因,當現(xiàn)有的領域模型無法滿足客戶需求時,需要對領域模型進行演化以便對客戶提供支持。概念本體的演化具體表現(xiàn)在概念增加,概念刪除,概念層次重組,屬性/約束修改。本發(fā)明具體實施的本體演化(變更)規(guī)則和變更傳播規(guī)則遵循ISO/IEC19763的本體演化元模型。
過程本體的動態(tài)演化。主要包括兩種方式,一種是領域模型中缺乏客戶需要的業(yè)務過程,此時需要在領域模型中增加該業(yè)務過程。另一種是概念本體的演化引起過程本體的演化,這體現(xiàn)在兩個方面一方面,業(yè)務過程的輸入、輸出等參數(shù)的類型引用了概念本體中的概念,當這些概念改變時,過程中的這些參數(shù)類型也要相應的改變,即過程參數(shù)修改;另一方面,概念的變化會引起過程增加、過程合并和過程刪除。
權利要求
1.一種基于本體元模型的領域建模方法,其特征是包括以下步驟,(1)構造一個面向Web服務的領域建模元模型,包括概念本體和過程本體兩類本體;(2)將領域建模元模型與具體應用領域的知識結合起來進行實例化,從而生成具體應用領域模型;(3)使用本體工具構造具體應用領域模型,并以標準格式描述組成具體應用領域模型的本體;(4)具體應用領域模型結合客戶需求,生成客戶所需的業(yè)務工作流模型,用來進一步匹配Web服務;(5)具體應用領域模型無法滿足客戶需求時,對該領域模型進行演化。
2.如權利要求1所述的領域建模方法,其特征在于利用ISO/IEC 19763中的本體注冊元模型對領域建模元模型的概念本體進行管理,利用ISO/IEC 19763中的過程模型注冊元模型對領域建模元模型的過程本體進行管理。
3.如權利要求1或2所述的領域建模方法,其特征在于所述過程本體中包含領域中的業(yè)務過程,從過程的粒度考慮,業(yè)務過程分為原子過程和組合過程;從客戶需求的角度考慮,業(yè)務過程分為必須過程和變化過程,其中變化過程進一步分為可選過程和多選一過程。
4.如權利要求1或2所述的領域建模方法,其特征在于所述本體工具采用Protégé,所述標準格式采用OWL格式。
5.如權利要求1或2所述的領域建模方法,其特征在于生成客戶所需的業(yè)務工作流模型利用需求-目標-過程的建模機制,包括以下步驟,(4.1)將客戶需求轉化為目標模型中的上層目標;(4.2)上層目標逐層分解為多個子目標;(4.3)子目標與過程本體中的過程匹配。
6.如權利要求1或2所述的領域建模方法,其特征在于對領域模型進行演化包括概念本體演化和過程本體演化。
7.如權利要求6所述的領域建模方法,其特征在于概念本體演化是在ISO/IEC19763的本體演化元模型的指導下進行,包括概念增加、概念刪除、概念層次重組,及屬性和約束修改。
8.如權利要求6所述的領域建模方法,其特征在于過程本體演化由客戶需求直接引發(fā)或者由概念本體演化而引發(fā),過程本體演化包括過程的輸入輸出等參數(shù)修改、過程增加、過程合并和過程刪除。
全文摘要
本發(fā)明涉及一種基于本體元模型的領域建模方法,包括以下步驟(1)構造一個面向Web服務的領域建模元模型,包括概念本體和過程本體兩類本體;(2)將領域建模元模型與具體應用領域的知識結合起來進行實例化,從而生成具體應用領域模型;(3)使用本體工具構造具體應用領域模型,并以標準格式描述組成具體應用領域模型的本體;(4)具體應用領域模型結合客戶需求,生成客戶所需的業(yè)務工作流模型,用來進一步匹配Web服務;(5)具體應用領域模型無法滿足客戶需求時,對該領域模型進行演化。本發(fā)明生成的具體應用領域模型將幫助獲取客戶需求,指導發(fā)現(xiàn)和組合Web服務,從而為最終實現(xiàn)滿足客戶需求的目標系統(tǒng)提供有效的支持。
文檔編號H04L29/08GK1952882SQ200610125050
公開日2007年4月25日 申請日期2006年11月16日 優(yōu)先權日2006年11月16日
發(fā)明者何克清, 王健, 彭蓉, 劉瑋, 何揚帆, 王翀 申請人:武漢大學