專利名稱:一種基于領(lǐng)域模型的服務(wù)需求獲取與建模方法
技術(shù)領(lǐng)域:
本發(fā)明屬于計(jì)算機(jī)軟件技術(shù)領(lǐng)域,特別是涉及一種基于領(lǐng)域模型的服務(wù)需求獲取
與建模方法。
背景技術(shù):
需求獲取與建模是長(zhǎng)期困擾軟件開發(fā)者的一個(gè)重要問題,糟糕的需求是造成軟件 危機(jī)的根本原因之一。研究表明,需求引發(fā)的問題在軟件工程中占據(jù)的比重越來越大。以 著名的Chaos報(bào)告為例,1995年的Chaos報(bào)告表明[1],在軟件項(xiàng)目的成功因素中,42%的因 素直接與需求工程有關(guān)。同時(shí),在導(dǎo)致項(xiàng)目失敗的原因中,有43%的因素直接與需求工程有 關(guān);在2003年的Chaos報(bào)告中指出[2],項(xiàng)目管理人員認(rèn)為不合格的需求是導(dǎo)致軟件開發(fā)項(xiàng) 目失敗的主要原因之一。在歐洲范圍內(nèi),對(duì)17個(gè)國(guó)家的3800多個(gè)組織的調(diào)查表明了類似 的結(jié)果[3]:大多數(shù)可以感知的軟件問題發(fā)生在需求規(guī)約(> 50% )和需求管理(50% )階 段。圖靈獎(jiǎng)得主F.P. Brooks在《人月神話》一書中也強(qiáng)調(diào)[4],"構(gòu)造軟件系統(tǒng)中最困難的部 分在于精確地決定要構(gòu)造什么,沒有其它的概念化工作象建立詳細(xì)的技術(shù)需求那樣困難"。 上述調(diào)查和相關(guān)研究表明,需求工程已經(jīng)成為軟件工程研究和實(shí)踐中最值得關(guān)注的領(lǐng)域之 需求分析與建模是需求工程中的一項(xiàng)重要研究?jī)?nèi)容。經(jīng)典的需求分析方法主要分 為4類面向過程、面向數(shù)據(jù)、面向控制、面向?qū)ο蟆C嫦蜻^程的分析方法主要研究系統(tǒng)各個(gè) 模塊輸入輸出的轉(zhuǎn)化,以結(jié)構(gòu)化分析方法為代表;面向數(shù)據(jù)的分析方法注重?cái)?shù)據(jù)結(jié)構(gòu)的分 析,以ER圖為代表;面向控制的分析方法強(qiáng)調(diào)進(jìn)程的同步、死鎖、互斥、并發(fā)等,以數(shù)據(jù)流圖 為代表;面向?qū)ο蟮姆治龇椒ㄊ悄壳白顬榱餍械囊环N方法,它以建立系統(tǒng)對(duì)象和對(duì)象之間 的交互為基礎(chǔ),典型的代表是UML和RUP方法。 上述方法都是在結(jié)構(gòu)化程序設(shè)計(jì)和面向?qū)ο蟪绦蛟O(shè)計(jì)中廣泛采用的。隨著 S0A(面向服務(wù)的架構(gòu))、SaaS(軟件即服務(wù))等開發(fā)技術(shù)和開發(fā)理念的提出,面向服務(wù)的軟 件開發(fā)已經(jīng)成為一種新的軟件范型。Web服務(wù)是分布式的、松散耦合的軟件構(gòu)件,在SOA環(huán) 境中,分布在網(wǎng)絡(luò)中的各種資源可以被封裝為可訪問的服務(wù),而無須關(guān)注其底層的平臺(tái)實(shí) 現(xiàn)。服務(wù)為開發(fā)和集成大規(guī)模信息系統(tǒng)奠定了基礎(chǔ)。在這種面向服務(wù)的軟件新范型下,軟 件開發(fā)方式也正經(jīng)歷著一系列的變革。面向服務(wù)的軟件開發(fā)強(qiáng)調(diào)通過重用或組裝已經(jīng)存在 的服務(wù)資源來開發(fā)復(fù)雜的應(yīng)用系統(tǒng),從而滿足用戶的各種需求。 面向服務(wù)的軟件開發(fā)針對(duì)的用戶主要包括兩類終端用戶和服務(wù)提供商。對(duì)于終 端用戶而言,由于缺乏專業(yè)知識(shí),他們提出的需求往往相對(duì)比較抽象,希望得到滿足其特定 需求的服務(wù)或服務(wù)組合,更注重基本的功能和特定的偏好。如某個(gè)終端用戶要查詢天氣情 況,其功能需求是"查詢天氣",其偏好需求可以是要求免費(fèi)的查詢服務(wù)、通過手機(jī)短信返回 查詢結(jié)果等。根據(jù)用戶的需求,可以在網(wǎng)絡(luò)中找到功能上可以滿足的若干服務(wù),并按照其偏 好的滿足程度對(duì)服務(wù)進(jìn)行排序。 對(duì)于服務(wù)提供商而言,其基本需求是開發(fā)新的服務(wù)、或發(fā)現(xiàn)已有的服務(wù)并將其組合成為新的服務(wù)。服務(wù)提供商往往具有一定的專業(yè)知識(shí),他們考慮的不僅僅是服務(wù)的功能, 還要考慮輸入、輸出、接口間的綁定和控制結(jié)構(gòu)等問題。 現(xiàn)有的面向服務(wù)的需求獲取方法[5]往往需要服務(wù)請(qǐng)求者明確提供希望得到的 服務(wù)名稱、輸入、輸出等信息,而不能對(duì)終端用戶的抽象需求提供有效支持,而且,在進(jìn)行動(dòng) 態(tài)服務(wù)組合時(shí)如果缺乏導(dǎo)向性的支持,這將使得服務(wù)組合的效率降低。
參考文獻(xiàn)如下 [l]The Standish Group , "The Chaos Report", The Standish Grouplnternational, Inc. ,1995. [2]The Standish Group, "Chaos Chronicles v3.0',, The Standish Grouplnternational, Inc. ,2003. [3]European Software Institute, "European User Survey Analysis,,, R印ortUSV—EUR 2.1,ESPITI Project, 1996. [4]F. P. Brooks, The Mythical Man-month :Essays on Software Engineering, Anniversary Edition, Addison Wesley Longman,1995. [5]Eran Toch, Iris Reinhartz-Berger, Avigdor Gal, and Dov, Dori0P0SSUM : Bridging the Gap between Web Services and the Semantic Web,Proceedings ofNGITS 2006 :357-358
發(fā)明內(nèi)容
針對(duì)服務(wù)這種新的軟件形態(tài),本發(fā)明提出一種基于領(lǐng)域模型的服務(wù)需求獲取與建 模方法,該方法能獲取用戶需求,對(duì)需求進(jìn)行分析和處理,構(gòu)建滿足用戶需求的服務(wù)組合模 型。
本發(fā)明所提供技術(shù)方案包括以下步驟 步驟1 ,根據(jù)領(lǐng)域中的共性需求和服務(wù)資源,構(gòu)造領(lǐng)域模型,所述領(lǐng)域模型包括領(lǐng) 域角色模型、領(lǐng)域目標(biāo)模型、領(lǐng)域過程模型和領(lǐng)域服務(wù)模型;構(gòu)建實(shí)現(xiàn)包括以下步驟,
步驟l. l,構(gòu)造一個(gè)面向服務(wù)的RGPS需求元模型框架,其中包括四個(gè)層次的元模 型,并在四個(gè)層次間建立相應(yīng)的關(guān)聯(lián)關(guān)系;所述四個(gè)層次為角色層、目標(biāo)層、過程層和服務(wù) 層,所述四個(gè)層次的元模型即角色層元模型、目標(biāo)層元模型、過程層元模型和服務(wù)層元模 型; 步驟1. 2,針對(duì)具體應(yīng)用領(lǐng)域,根據(jù)領(lǐng)域中的基本概念構(gòu)造領(lǐng)域?qū)嶓w本體和領(lǐng)域操 作本體,所述領(lǐng)域?qū)嶓w本體用于描述領(lǐng)域中的實(shí)體概念及其之間的關(guān)系,所述領(lǐng)域操作本
體用于描述領(lǐng)域中的操作概念及其之間的關(guān)系; 步驟1. 3,針對(duì)領(lǐng)域中的某一共性問題,基于步驟2構(gòu)造所得領(lǐng)域?qū)嶓w本體和領(lǐng) 域操作本體,按照步驟1所得RGPS需求元模型框架構(gòu)建領(lǐng)域角色模型、領(lǐng)域目標(biāo)模型和領(lǐng) 域過程模型,并在建模過程中利用領(lǐng)域?qū)嶓w本體和領(lǐng)域操作本體對(duì)這三類模型進(jìn)行語義標(biāo) 識(shí); 步驟1. 4,采用步驟1所得RGPS需求元模型框架中的服務(wù)層元模型注冊(cè)領(lǐng)域中的 服務(wù)資源;利用領(lǐng)域?qū)嶓w本體和領(lǐng)域操作本體,對(duì)領(lǐng)域中的服務(wù)資源進(jìn)行描述和語義標(biāo)識(shí), 得到領(lǐng)域服務(wù)模型;
步驟2,分析用戶通過結(jié)構(gòu)化自然語言描述的需求,得到初始需求模型;將初始需 求模型與步驟1所得領(lǐng)域目標(biāo)模型進(jìn)行語義匹配; 步驟3,將步驟2所得匹配結(jié)果返回給用戶,允許用戶對(duì)返回的匹配結(jié)果進(jìn)行選 擇,然后確認(rèn)用戶所選擇結(jié)果為需求模型; 步驟4,在領(lǐng)域模型中利用目標(biāo)層與過程層的關(guān)聯(lián)、過程層與服務(wù)層之間的關(guān)聯(lián), 返回與步驟3所得需求模型對(duì)應(yīng)的領(lǐng)域服務(wù)模型中服務(wù)。 而且,步驟2中,所述分析用戶通過結(jié)構(gòu)化自然語言描述的需求,實(shí)現(xiàn)過程如下,
對(duì)結(jié)構(gòu)化自然語言描述的需求進(jìn)行分詞與詞性標(biāo)注,得到分詞序列;分析分詞序 列,得到需求中的功能目標(biāo)和非功能目標(biāo);將功能目標(biāo)與非功能目標(biāo)關(guān)聯(lián),得到初始需求模型。 用戶提出的需求是以目標(biāo)的形式呈現(xiàn)的,可以是功能目標(biāo)或非功能目標(biāo)。在面向 服務(wù)的軟件范型下,用戶的需求呈現(xiàn)出多樣化和個(gè)性化的特點(diǎn),非功能需求顯得尤為重要, 本發(fā)明可以有效的獲取用戶的非功能需求。眾所周知,服務(wù)的動(dòng)態(tài)組合算法復(fù)雜,如果缺乏 導(dǎo)向性的指導(dǎo),就容易導(dǎo)致組合效率低下。本發(fā)明采用基于領(lǐng)域模型的分析方法,以目標(biāo)模 型的形式描述領(lǐng)域共性需求,以過程模型的形式描述為滿足這些共性需求而提供的服務(wù)組 合方案。由于用戶需求往往是面向特定領(lǐng)域的,所以本發(fā)明的方法將有助于提高服務(wù)組合 效率。此外,本發(fā)明采用了領(lǐng)域本體技術(shù),增加了支持用戶需求表達(dá)形式多樣化的能力,并 且,通過與用戶的交互,有助于準(zhǔn)確理解需求,并能充分復(fù)用領(lǐng)域資源,增加用戶的服務(wù)體 驗(yàn)質(zhì)量。
圖1基于領(lǐng)域模型的服務(wù)需求獲取的流程圖;圖2本發(fā)明實(shí)施例的角色層元模型;圖3本發(fā)明實(shí)施例的目標(biāo)層元模型;圖4本發(fā)明實(shí)施例的過程層元模型;圖5本發(fā)明實(shí)施例的服務(wù)層元模型;圖6本發(fā)明實(shí)施例的RGPS層次間關(guān)系元模型;圖7有限狀態(tài)自動(dòng)機(jī)中功能模式部分;圖8有限狀態(tài)自動(dòng)機(jī)中屬性定量描述模式部分圖9初始需求模型的元模型。
具體實(shí)施例方式
下面結(jié)合附圖和具體實(shí)施方式
對(duì)本發(fā)明作進(jìn)一步說明,所舉例子來自城市交通領(lǐng)
域的需求獲取與建模,實(shí)施例中所述的具體應(yīng)用領(lǐng)域不應(yīng)構(gòu)成對(duì)本發(fā)明的限制。 如圖1所示,本發(fā)明包括以下順序執(zhí)行步驟 步驟1,根據(jù)領(lǐng)域中的共性需求和服務(wù)資源,構(gòu)造領(lǐng)域模型,所述領(lǐng)域模型包括領(lǐng) 域角色模型、領(lǐng)域目標(biāo)模型、領(lǐng)域過程模型和領(lǐng)域服務(wù)模型。共性需求是指根據(jù)共性問題需 要建立的領(lǐng)域角色模型、領(lǐng)域目標(biāo)模型和領(lǐng)域過程模型。領(lǐng)域服務(wù)模型則是針對(duì)已有的服 務(wù)資源構(gòu)建的,不屬于需求。所有領(lǐng)域模型構(gòu)建實(shí)現(xiàn)又可以細(xì)分為步驟1. 1 1. 4這4個(gè)步驟 步驟l. l,構(gòu)造一個(gè)面向服務(wù)的RGPS需求元模型框架,其中包括四個(gè)層次的元模 型,并在四個(gè)層次間建立相應(yīng)的關(guān)聯(lián)關(guān)系;所述四個(gè)層次為角色層、目標(biāo)層、過程層和服務(wù) 層,所述四個(gè)層次的元模型即角色層元模型、目標(biāo)層元模型、過程層元模型和服務(wù)層元模 型; 步驟1. 2,針對(duì)具體應(yīng)用領(lǐng)域,根據(jù)領(lǐng)域中的基本概念構(gòu)造領(lǐng)域?qū)嶓w本體和領(lǐng)域操 作本體,所述領(lǐng)域?qū)嶓w本體用于描述領(lǐng)域中的實(shí)體概念及其之間的關(guān)系,所述領(lǐng)域操作本
體用于描述領(lǐng)域中的操作概念及其之間的關(guān)系; 步驟1. 3,針對(duì)領(lǐng)域中的某一共性問題,基于步驟2構(gòu)造所得領(lǐng)域?qū)嶓w本體和領(lǐng) 域操作本體,按照步驟1所得RGPS需求元模型框架構(gòu)建領(lǐng)域角色模型、領(lǐng)域目標(biāo)模型和領(lǐng) 域過程模型,并在建模過程中利用領(lǐng)域?qū)嶓w本體和領(lǐng)域操作本體對(duì)這三類模型進(jìn)行語義標(biāo) 識(shí); 步驟1. 4,采用步驟1所得RGPS需求元模型框架中的服務(wù)層元模型注冊(cè)領(lǐng)域中的 服務(wù)資源;利用領(lǐng)域?qū)嶓w本體和領(lǐng)域操作本體,對(duì)領(lǐng)域中的服務(wù)資源進(jìn)行描述和語義標(biāo)識(shí), 得到領(lǐng)域服務(wù)模型。 為了得到向?qū)缘闹С?,本發(fā)明建立了領(lǐng)域模型。該領(lǐng)域模型采用規(guī)?;ㄖ频?思想,基于RGPS需求元模型框架構(gòu)建,因此可稱為0-RGPS領(lǐng)域模型。通過預(yù)先對(duì)特定領(lǐng)域 的領(lǐng)域知識(shí)和共性需求進(jìn)行建模,得到的領(lǐng)域模型可以為具體應(yīng)用服務(wù)系統(tǒng)的建模提供公 共的可重用基礎(chǔ)。從而,有效地組織領(lǐng)域中可重用的服務(wù)資源,建立起用戶需求到服務(wù)之間 的橋梁。本發(fā)明提出的需求獲取方法將利用O-RGPS領(lǐng)域模型對(duì)服務(wù)需求的獲取和服務(wù)組 合提供指導(dǎo),主要針對(duì)終端用戶,同時(shí)也可以對(duì)服務(wù)提供商提供支持。 首先,介紹一下RGPS需求元模型框架,其中包括角色-目標(biāo)-過程-服務(wù) (Role-Goal-Process-Service)四個(gè)層次的元模型,通過這四個(gè)層次元模型之間的關(guān)聯(lián),能 夠?yàn)轭I(lǐng)域模型的互操作提供有力的支持。建立了 RGPS需求元模型框架,并以此作為模板來 進(jìn)行領(lǐng)域資產(chǎn)建模,從而使整個(gè)建模過程擺脫了對(duì)建模人員的領(lǐng)域知識(shí)和建模經(jīng)驗(yàn)的過分 依賴,并促進(jìn)領(lǐng)域資產(chǎn)的高效復(fù)用。本發(fā)明中的RGPS需求元模型框架包括角色-目標(biāo)-過 程-服務(wù)(Role-Goal-Process-Service)四個(gè)層次的元模型,通過這四個(gè)層次元模型之間 的關(guān)聯(lián),能夠?yàn)轭I(lǐng)域模型的互操作提供有力的支持。 角色層描述需求問題空間中組織、角色、扮演角色的參與者,及其之間的交互與協(xié) 同。圖2中展示了角色層元模型的基本結(jié)構(gòu)。組織(Organization)包含許多相互關(guān)聯(lián)的 角色(Role),而組織的運(yùn)轉(zhuǎn)依賴于多個(gè)角色根據(jù)一定的業(yè)務(wù)規(guī)則進(jìn)行交互完成。角色(如 "游客"、"司機(jī)")是在特定的組織情境下,對(duì)組織中的部分行為和責(zé)任所進(jìn)行的抽象刻畫。 角色可以由一到多個(gè)參與者(Actor)扮演,每個(gè)參與者也可以扮演一到多個(gè)角色。在一個(gè) 組織中,角色目標(biāo)(RoleGoal)是角色負(fù)責(zé)承擔(dān)的組織目標(biāo),如"制定出行規(guī)劃"。同時(shí),扮演 角色的參與者也有其偏好的個(gè)人目標(biāo)(Personal Goal),如"最少時(shí)間到達(dá)"。參與者可以 為人或軟件代理。 目標(biāo)層對(duì)目標(biāo)的逐層精化過程進(jìn)行刻畫,直到將所有目標(biāo)分解為可操作目標(biāo)為 止。同時(shí),定義目標(biāo)之間的約束關(guān)系。圖3列出了目標(biāo)層元模型的基本結(jié)構(gòu)。目標(biāo)(Goal) 被定義為用戶期望系統(tǒng)能夠達(dá)到的目的狀態(tài)。根據(jù)目標(biāo)的提出角度不同,可以分為角色目標(biāo)和個(gè)人目標(biāo)。而根據(jù)目標(biāo)的完成準(zhǔn)則不同,可以分為功能目標(biāo)(Functional Goal)和非 功能目標(biāo)(Nonfunctional Goal)。功能目標(biāo)(如"通過視頻顯示出行路線")包括三個(gè)部 分操作(如"顯示")、操作所處理的業(yè)務(wù)對(duì)象(如"出行路線")、以及方式(如"通過視 頻")。其中,操作是領(lǐng)域操作本體(Operation Ontology)中的概念,而業(yè)務(wù)對(duì)象則是領(lǐng)域 實(shí)體本體(Entity Ontology)中的概念。非功能目標(biāo)可由過程促進(jìn)完成,非功能目標(biāo)通過 轉(zhuǎn)化,最終是需要功能目標(biāo)來實(shí)現(xiàn)的,功能目標(biāo)是通過過程來完成的。非功能目標(biāo)中包括有 非功能目標(biāo)類型(如"響應(yīng)時(shí)間"、"可靠性"),此外根據(jù)其描述方式可以進(jìn)一步分為定量目 標(biāo)(Quantitative Goal)和定性目標(biāo)(QualitativeGoal)。定量目標(biāo)(如"響應(yīng)時(shí)間小于 2秒")包括三個(gè)部分比較符(如"小于")、值(如"2")和計(jì)量單位(如"秒");定性目 標(biāo)(如"可靠性高")包括一個(gè)部分程度(如"高")。 用戶提出的目標(biāo)通常是比較抽象的、高層次的。這種高層目標(biāo)需要進(jìn)行精化或分 解,才能指導(dǎo)后續(xù)的開發(fā)。目標(biāo)的分解到可操作目標(biāo)(Operational Goal,能由過程層中的 過程直接完成的目標(biāo))結(jié)束,即當(dāng)所有的最下層目標(biāo)都是可操作目標(biāo)時(shí),目標(biāo)分解過程結(jié) 束??刹僮髂繕?biāo)是一種功能目標(biāo),同時(shí)具備非功能目標(biāo)的屬性。 在目標(biāo)分解時(shí),采用了類似于特征分解的方式,上層目標(biāo)和下層目標(biāo)集之間定 義了四種關(guān)系必選(Mandatory)、可選(Optional)、多選一 (Alternative)和多選多 (0R)。除了縱向的分解關(guān)系外,目標(biāo)之間還存在約束(Constraint)關(guān)系,分為兩類依賴 (D印end)和排斥(Exclude)。"必選"關(guān)系意味著,當(dāng)上層目標(biāo)被選擇到結(jié)果目標(biāo)集里,與該 目標(biāo)有"必選"關(guān)聯(lián)的下層目標(biāo)集也必須被選擇到結(jié)果目標(biāo)集里;"可選"關(guān)系意味著,當(dāng)上 層目標(biāo)被選擇到結(jié)果目標(biāo)集里,與該目標(biāo)有"可選"關(guān)聯(lián)的下層目標(biāo)集中的目標(biāo)可以被選擇 或不被選擇到結(jié)果目標(biāo)集里;"多選一"關(guān)系意味著,當(dāng)上層目標(biāo)被選擇到結(jié)果目標(biāo)集里,與 該目標(biāo)有"多選一"關(guān)聯(lián)的下層目標(biāo)集中,有且只有一個(gè)目標(biāo)被選擇到結(jié)果目標(biāo)集里;"多選 多"關(guān)系意味著,當(dāng)上層目標(biāo)被選擇到結(jié)果目標(biāo)集里,與該上層目標(biāo)有"多選多"關(guān)聯(lián)的下層 目標(biāo)集中,允許有一到多個(gè)目標(biāo)被選擇到結(jié)果目標(biāo)集里。"依賴"關(guān)系意味著,如果某個(gè)目標(biāo) A被選擇到結(jié)果目標(biāo)集中,與該目標(biāo)A具有"依賴"關(guān)聯(lián)的目標(biāo)B也必須被選擇到結(jié)果目標(biāo) 集中。目標(biāo)A稱為源端,目標(biāo)B稱為目的端。"排斥"關(guān)系意味著,如果某個(gè)目標(biāo)被選擇到結(jié) 果目標(biāo)集中,與該目標(biāo)具有"排斥"關(guān)聯(lián)的目標(biāo)必須不能同時(shí)被選擇到結(jié)果目標(biāo)集中。
過程層定義了過程的輸入/輸出以及前置/后置條件,并基于控制結(jié)構(gòu)對(duì)過程 進(jìn)行組合。圖4給出過程層元模型的結(jié)構(gòu),目標(biāo)和過程是一個(gè)雙向關(guān)聯(lián)關(guān)系,目標(biāo)可以關(guān) 聯(lián)過程,同樣,過程也可以關(guān)聯(lián)目標(biāo),表示該過程可以實(shí)現(xiàn)該目標(biāo)。過程可以分為原子過 程(Atomic Process)和組合過程(Composite Process)。組合過程通過控制結(jié)構(gòu)將一組 過程(原子過程或組合過程)進(jìn)行組合起來構(gòu)成的?,F(xiàn)有典型的控制結(jié)構(gòu)一般包括順序 (Sequence)、循環(huán)(Loop)、選擇(Choice)、并發(fā)(Join)和任意次序(Any Order)。過程中定 義了輸入(Input)、輸出(Output)、前置條件(Precondition)、后置條件(Effect)和質(zhì)量期 望(Quality E鄧ectation)。輸入和輸出表示過程所轉(zhuǎn)換的數(shù)據(jù)流,而前置條件和后置條件 分別表示過程開始執(zhí)行和結(jié)束時(shí)所必須保持的約束條件。質(zhì)量期望描述了用戶對(duì)過程的非 功能性方面的要求。 服務(wù)層用來指導(dǎo)服務(wù)資源的聚合,為用戶需求提供基于服務(wù)的實(shí)現(xiàn)方案。圖5展 示了服務(wù)層元模型的基本結(jié)構(gòu)。服務(wù)包括如下屬性輸入消息、輸出消息前置條件、后置條件、服務(wù)描述語言、訪問協(xié)議、異常、質(zhì)量屬性、資源、過程。每個(gè)消息都有其數(shù)據(jù)類型,數(shù)據(jù) 類型決定了消息的取值范圍,數(shù)據(jù)類型可以是整型、字符串型等簡(jiǎn)單數(shù)據(jù)類型,也可以是來 自于領(lǐng)域?qū)嶓w本體中的概念。前置條件和后置條件分別表示服務(wù)開始執(zhí)行和結(jié)束時(shí)所必須 保持的約束條件。服務(wù)可以由特定的服務(wù)描述語言進(jìn)行描述,并可以通過相應(yīng)的訪問協(xié)議 進(jìn)行訪問。異常用于刻畫服務(wù)可能會(huì)遇到的非正確執(zhí)行時(shí)的情形。服務(wù)的質(zhì)量屬性用于描 述服務(wù)在響應(yīng)時(shí)間、可用性等非功能類型的取值。資源表示服務(wù)所封裝的數(shù)據(jù)和業(yè)務(wù)邏輯。 過程則是該服務(wù)可以實(shí)現(xiàn)的過程。 四個(gè)層次間的關(guān)系描述如圖6。角色層與目標(biāo)層之間的關(guān)系體現(xiàn)在角色承擔(dān)相 應(yīng)的角色目標(biāo);每個(gè)參與者都扮演特定的角色,除了具有其所承擔(dān)的角色目標(biāo)外,參與者還 具有偏好性的個(gè)人目標(biāo)。目標(biāo)層與過程層之間的關(guān)系體現(xiàn)在目標(biāo)的完成或滿足要依賴于 相關(guān)的業(yè)務(wù)過程,每個(gè)過程都與目標(biāo)進(jìn)行關(guān)聯(lián), 一方面,過程可以完成相應(yīng)的功能目標(biāo),直 接完成用戶對(duì)功能方面的要求;另一方面,過程可以促進(jìn)非功能目標(biāo)的實(shí)現(xiàn),能夠提高非功 能目標(biāo)的滿足程度。過程層與服務(wù)層之間的關(guān)系體現(xiàn)在服務(wù)可以實(shí)現(xiàn)過程,這意味著服務(wù) 不只是在功能上滿足過程的需要,還要保證服務(wù)的非功能性屬性能夠滿足過程的非功能性 期望。即,過程層描述的是一個(gè)基于業(yè)務(wù)流程的解決方案,該解決方案中的每個(gè)任務(wù)或活動(dòng) 都通過服務(wù)來實(shí)現(xiàn)。 本發(fā)明充分利用了本體的標(biāo)識(shí)和推理功能。在基于RGPS需求元模型框架,針對(duì)具 體應(yīng)用領(lǐng)域進(jìn)行建模時(shí),構(gòu)造的領(lǐng)域資產(chǎn)包括領(lǐng)域本體和領(lǐng)域模型,構(gòu)成領(lǐng)域資產(chǎn)庫。之前 所有構(gòu)建的內(nèi)容都存在領(lǐng)域資產(chǎn)庫中,以便以后復(fù)用。利用領(lǐng)域本體確保領(lǐng)域模型之間的 語義協(xié)同,利用領(lǐng)域問題本體建立領(lǐng)域模型的分類和索引。 首先構(gòu)造領(lǐng)域本體,本發(fā)明中定義了領(lǐng)域?qū)嶓w本體和領(lǐng)域操作本體兩類領(lǐng)域本 體。實(shí)施例中,領(lǐng)域?qū)嶓w本體描述了領(lǐng)域中的實(shí)體概念(如"出行路線"、"天氣預(yù)報(bào)")及其 之間的關(guān)聯(lián)關(guān)系和約束,領(lǐng)域操作本體定義了領(lǐng)域中的操作(如"顯示"、"查詢")概念及其 之間的關(guān)聯(lián)關(guān)系和約束。在構(gòu)造領(lǐng)域本體時(shí),通過對(duì)領(lǐng)域的相關(guān)文檔進(jìn)行分詞,抽取領(lǐng)域中 的基本概念。輸出的文件格式為OWL。 然后,基于上述兩類領(lǐng)域本體,在RGPS需求元模型的指導(dǎo)下,構(gòu)造領(lǐng)域角色模型、 領(lǐng)域目標(biāo)模型、領(lǐng)域過程模型這三類領(lǐng)域模型。在具體建模時(shí),首先分析根據(jù)應(yīng)用問題列出 其所涉及的角色,描述出它們之間的關(guān)聯(lián)關(guān)系,并給出每個(gè)角色的頂層需求目標(biāo),從而完成 角色建模;然后針對(duì)每個(gè)頂層需求目標(biāo)進(jìn)行精化,將其細(xì)化為一系列功能和非功能子目標(biāo), 直到細(xì)化為可操作目標(biāo)為止,并通過將所涉及的角色作為頂層需求目標(biāo)屬性的方法建立目 標(biāo)模型與角色模型的關(guān)聯(lián)關(guān)系;進(jìn)而由系統(tǒng)根據(jù)同一目標(biāo)模型內(nèi)的不同目標(biāo)之間的關(guān)系自 動(dòng)將該目標(biāo)模型轉(zhuǎn)化為過程模型,從而完成過程模型的構(gòu)建。 為了便于對(duì)領(lǐng)域模型進(jìn)行解析和推理,促進(jìn)領(lǐng)域模型的共享和服務(wù),利用本體的 方式對(duì)這三類模型進(jìn)行描述。其中,領(lǐng)域角色模型和領(lǐng)域目標(biāo)模型利用OWL進(jìn)行描述,領(lǐng)域 過程模型利用OWL-S進(jìn)行描述。在本發(fā)明中,本體在領(lǐng)域建模中的作用體現(xiàn)在三個(gè)方面一 方面,利用領(lǐng)域本體對(duì)領(lǐng)域模型進(jìn)行語義標(biāo)識(shí),為領(lǐng)域模型提供了語義互操作性支持。其具 體實(shí)施方法是利用領(lǐng)域?qū)嶓w本體中的概念對(duì)領(lǐng)域角色模型中所涉及的角色及領(lǐng)域目標(biāo)模 型和領(lǐng)域過程模型中的操作對(duì)象、場(chǎng)所、方式進(jìn)行標(biāo)識(shí);同時(shí)利用領(lǐng)域操作本體中的概念對(duì) 領(lǐng)域資產(chǎn)庫中的目標(biāo)模型和過程模型中的操作進(jìn)行標(biāo)識(shí)。另一方面,領(lǐng)域模型利用本體的描述方式(0WL或0WL-S格式)進(jìn)行描述,便于進(jìn)行領(lǐng)域模型的語義推理和共享。最后,領(lǐng) 域問題本體用于對(duì)所有領(lǐng)域模型按照其功能進(jìn)行分類,并將隸屬于同一領(lǐng)域問題的領(lǐng)域模 型組織起來,建立其相互之間的對(duì)應(yīng)關(guān)系。 進(jìn)而,基于RGPS需求元模型框架中的服務(wù)層元模型作為注冊(cè)模板,具體實(shí)施時(shí)可 以構(gòu)建服務(wù)注冊(cè)庫,在服務(wù)注冊(cè)庫中對(duì)領(lǐng)域中可用的服務(wù)資源進(jìn)行注冊(cè);利用領(lǐng)域?qū)嶓w本 體和領(lǐng)域操作本體,對(duì)領(lǐng)域中的服務(wù)資源進(jìn)行描述和語義標(biāo)識(shí),得到領(lǐng)域服務(wù)模型。領(lǐng)域服 務(wù)模型利用0WL-S進(jìn)行描述。具體實(shí)施時(shí),可以用領(lǐng)域?qū)嶓w本體中的概念來標(biāo)識(shí)服務(wù)的輸 入和輸出屬性,利用領(lǐng)域操作本體中的概念來標(biāo)識(shí)服務(wù)的操作屬性;同時(shí),描述服務(wù)的安全 性、可靠性、響應(yīng)時(shí)間等非功能屬性;最后,建立服務(wù)與過程模型的關(guān)聯(lián),并登記在服務(wù)注冊(cè) 庫中。 上述四層模型的主要建模元素之間存在相應(yīng)的關(guān)聯(lián)關(guān)系1個(gè)角色擁有0到多個(gè) 目標(biāo),1個(gè)目標(biāo)至少屬于1個(gè)角色,1個(gè)目標(biāo)可以分解為1到多個(gè)可操作目標(biāo),1個(gè)可操作目 標(biāo)至少可以由1個(gè)過程來完成,1個(gè)過程至少可以通過1個(gè)服務(wù)實(shí)現(xiàn)。圖2 6按照UML 圖的畫法提供,其中1. . *表示一個(gè)到多個(gè),1. . 1表示當(dāng)且僅當(dāng)1個(gè),0. . *表示0個(gè)到多個(gè), 0. . l表示0個(gè)到l個(gè)。 步驟2 :分析用戶通過結(jié)構(gòu)化自然語言描述的需求,得到初始需求模型;將初始需 求模型與步驟1所得領(lǐng)域目標(biāo)模型進(jìn)行語義匹配。 本發(fā)明借助于結(jié)構(gòu)化的自然語言,以一種簡(jiǎn)便的、易于用戶接受的方式提出需求, 這種方式可以獲取用戶提出的抽象需求。實(shí)施例所用結(jié)構(gòu)化語言分為四個(gè)層次,按粒度從 大到小可分為語句、模式、短語、單詞。他們之間的關(guān)系如下一個(gè)語句可以由一個(gè)或多個(gè) 模式構(gòu)成;一個(gè)模式可以由一個(gè)或多個(gè)短語構(gòu)成;一個(gè)短語可以由一個(gè)或多個(gè)單詞構(gòu)成。
單詞包括領(lǐng)域本體中的概念、句型中的關(guān)鍵詞、地名列表中的詞、表示時(shí)間的詞, 也可以是現(xiàn)代漢語中的其他詞。 短語包括時(shí)間短語、地點(diǎn)短語、比較符短語和單位短語。時(shí)間短語表示時(shí)間的詞 (如X年X月X日X時(shí)X分X秒,早晨、中午…);地點(diǎn)短語表示地點(diǎn)的詞(如省、 城市、街道的名稱…);比較符短語表示比較關(guān)系的詞(如大于|小于|不大于|不小于 等于I不等于I多于I少于I不多于I不少于I高于I低于I不高于I不低于…);單位 短語表示單位的詞(如米、元…)。 模式包括功能模式,時(shí)間模式,地點(diǎn)模式,方式模式,定性描述模式,定量描述模 式,屬性定性描述模式,屬性定量描述模式,原子條件模式,條件模式,原子效應(yīng)模式,效應(yīng) 模式。這些模式涵蓋功能目標(biāo),非功能目標(biāo)的各種提出方式。
實(shí)施例用巴科斯范式來描述模式與語句。首先,說明巴科斯范式的語法規(guī)范 在雙引號(hào)中的字("word")代表著這些字符本身。 在雙引號(hào)外的字(有可能有下劃線)代表著語法部分。 尖括號(hào)(〈>)內(nèi)包含的為必選項(xiàng)。 方括號(hào)([])內(nèi)包含的為可選項(xiàng)。 大括號(hào)({})內(nèi)包含的為可重復(fù)O至無數(shù)次的項(xiàng)。 豎線(I)表示在其左右兩邊任選一項(xiàng),相當(dāng)于〃 0R〃的意思。::=是"被定義為"的意思。
實(shí)施例中,巴科斯范式描述的模式與語句如下 功能模式=[角色]動(dòng)詞名詞{("和"| "與"| "以及")名詞} 時(shí)間模式::="在"時(shí)間短語| "從"時(shí)間短語"到"時(shí)間短語| "到"時(shí)間短語 地點(diǎn)模式::="在"地點(diǎn)短語| "從"地點(diǎn)短語"到"地點(diǎn)短語| "到"地點(diǎn)短語
"經(jīng)過"地點(diǎn)短語I "途經(jīng)"地點(diǎn)短語
方式模式=("根據(jù)"| "依據(jù)"| "通過"| "按"| "按照")名詞
定性描述模式=名詞["是"]名詞修飾語
定量描述模式=名詞比較符短語數(shù)字[單位短語]
屬性定性描述模式=名詞"的"名詞["是"]名詞修飾語
屬性定量描述模式=名詞"的"名詞比較符短語數(shù)字[單位短語]
原子條件模式=定性描述模式I定量描述模式I屬性定性描述模式I屬性定 量描述模式 條件模式=原子條件模式{("并"l "并且"l "或"l "或者")原子條件模式}
原子效應(yīng)模式=(名詞動(dòng)詞|動(dòng)詞名詞)"后",(定性描述模式|定量描述模 式I屬性定性描述模式I屬性定量描述模式)K "并"l "并且"l "或"l "或者")(定性描 述模式I定量描述模式I屬性定性描述模式I屬性定量描述模式M 效應(yīng)模式=原子效應(yīng)模式{("并"l "并且"l "或"l "或者")原子效應(yīng)模式}
語句包括簡(jiǎn)單語句、并列語句和條件語句。 簡(jiǎn)單語句=[方式模式][時(shí)間模式][地點(diǎn)模式]功能模式"。"I屬性定性描
述模式"。"I屬性定量描述模式"。"I效應(yīng)模式"。" 并列語句::=簡(jiǎn)單語句{("并"| "并且")簡(jiǎn)單語句}"。" 條件語句="如果"條件模式,(簡(jiǎn)單語句|并列語句)[(","| ";")"否
則",(簡(jiǎn)單語句|并列語句)]"。" 語句=簡(jiǎn)單語句|條件語句|并列語句 如可以用該結(jié)構(gòu)化語句提出如下需求"安排出行并且通過短信顯示出行規(guī)劃。"
這條需求是并列語句連接的兩個(gè)功能模式的子句。還可以提出需求"搜索停車場(chǎng)。停車場(chǎng)
的價(jià)格小于4元每小時(shí)。"這條需求中,前者是只包含一個(gè)功能模式的簡(jiǎn)單語句,而后者是
只包含一個(gè)定量描述模式的簡(jiǎn)單語句。
具體實(shí)施中,步驟2又可以細(xì)分為如下幾步 (1)分詞與詞性標(biāo)注分詞需要借助于詞典,在此,在常用詞典的基礎(chǔ)上加入領(lǐng)域 詞匯、上述結(jié)構(gòu)化自然語言中的關(guān)鍵詞。其中,領(lǐng)域詞匯是由領(lǐng)域本體中的概念組成的。詞 典中的每一個(gè)詞,都會(huì)有一個(gè)詞性(如名詞、動(dòng)詞)。此外,規(guī)定關(guān)鍵詞的詞性就是其本身 (如地點(diǎn)模式中的"經(jīng)過",它的詞性為"經(jīng)過"),以便標(biāo)識(shí)出關(guān)鍵詞供語法分析。由于領(lǐng)域 詞匯可能由多個(gè)單詞組成,因此,采用現(xiàn)有技術(shù)中的正向最大匹配算法,以防將領(lǐng)域詞匯拆 散。 為便于實(shí)施參考起見,提供正向最大匹配算法說明如下 假設(shè)句子S = CA… ,某一詞Wi = c^…Cm,m為詞典中最長(zhǎng)詞的字?jǐn)?shù)。 1)令i = O,當(dāng)前指針Pi指向輸入字串的初始位置,執(zhí)行下面的操作 2)計(jì)算當(dāng)前指針Pi到字串末端的字?jǐn)?shù)(即未被切分字串的長(zhǎng)度)n,如果n二 1,轉(zhuǎn)4),結(jié)束算法。否則,令m =詞典中最長(zhǎng)單詞的字?jǐn)?shù),如果n < m,令m = n ;
3)從當(dāng)前Pi起取m個(gè)漢字作為詞Wi,判斷 a)如果Wi確實(shí)是詞典中的詞,則在Wi后添加一個(gè)切分標(biāo)志,轉(zhuǎn)c);
b)如果Wi不是詞典中的詞且Wi的長(zhǎng)度大于l,將Wi從右端去掉一個(gè)字,轉(zhuǎn)a)步; 否則(Wi的長(zhǎng)度等于1),則在Wi后添加一個(gè)切分標(biāo)志,將Wi作為單字詞添加到詞典中,執(zhí)行 c)步; c)根據(jù)Wi的長(zhǎng)度修改指針Pi的位置,如果Pi指向字串末端,轉(zhuǎn)4),否則,i = i+l, 返回2); 4)輸出切分結(jié)果,結(jié)束分詞程序。 分詞的同時(shí),進(jìn)行詞性標(biāo)注。例如,將需求"安排出行并且通過短信顯示出行規(guī) 劃。"進(jìn)行分詞,可以得到分詞序列"安排動(dòng)詞/出行名詞/并且并且/通過通過/短 信名詞/顯示動(dòng)詞/出行規(guī)劃名詞。"將需求"搜索停車場(chǎng)。停車場(chǎng)的價(jià)格小于4元每 小時(shí)。"進(jìn)行分詞,可以得到分詞序列"搜索動(dòng)詞/停車場(chǎng)名詞。停車場(chǎng)名詞/的的/ 價(jià)格名詞/小于比較符短語/4 :數(shù)字/元每小時(shí)單位短語。" (2)語法分析根據(jù)上述句型,具體實(shí)施時(shí)可以構(gòu)建語法分析器來分析分詞之后 的序列,從而確定句型。該語法分析器的核心是一個(gè)有限狀態(tài)自動(dòng)機(jī),語句中的各種模式在
自動(dòng)機(jī)中分別有相應(yīng)的部分與之對(duì)應(yīng),如圖7、圖8分別描述了與功能模式和屬性定量描述 模式相對(duì)應(yīng)的有限自動(dòng)機(jī)。圖中的圈表示狀態(tài),帶箭頭的邊表示狀態(tài)的轉(zhuǎn)換,邊上字表示 當(dāng)輸入的字符串與它相同時(shí)發(fā)生狀態(tài)轉(zhuǎn)換。圈中的字符串表示狀態(tài)的名稱,除了 Start表 示開始狀態(tài),End表示結(jié)束狀態(tài)外,其他的數(shù)字只是為了區(qū)分不同的狀態(tài)。邊上的字如果有 '7 "分隔表示它們是"或"的關(guān)系,如"和/與/以及"表示當(dāng)輸入"和"或"與"或"以及" 時(shí),都從狀態(tài)2轉(zhuǎn)換到狀態(tài)3。
0103] 如圖7:
處于開始狀態(tài)Start時(shí),如果輸入為"角色",則轉(zhuǎn)向中間狀態(tài)1 ; 處于開始狀態(tài)Start時(shí),如果輸入為"動(dòng)詞",則轉(zhuǎn)向中間狀態(tài)2 ; 處于中間狀態(tài)1時(shí),如果輸入為"動(dòng)詞",則轉(zhuǎn)向中間狀態(tài)2 ;
禾口"或"與"或"以及",則轉(zhuǎn)向中間狀態(tài)3 ; 名詞",則轉(zhuǎn)向結(jié)束狀態(tài)End; 名詞",則轉(zhuǎn)向結(jié)束狀態(tài)End。
0104] 0105] 0106] 0107] 0108] 0109] 0110]
0112] 0113] 0114] 0115] 0116]
處于中間狀態(tài)2時(shí),如果輸入為 處于中間狀態(tài)2時(shí),如果輸入為 處于中間狀態(tài)3時(shí),如果輸入為 如圖8 :
處于開始狀態(tài)Start時(shí),如果輸入為"名詞",則轉(zhuǎn)向中間狀態(tài)1 處于中間狀態(tài)1時(shí),如果輸入為"的",則轉(zhuǎn)向中間狀態(tài)2 ; 處于中間狀態(tài)2時(shí),如果輸入為 處于中間狀態(tài)3時(shí),如果輸入為 處于中間狀態(tài)4時(shí),如果輸入為 處于中間狀態(tài)4時(shí),如果輸入為 處于中間狀態(tài)5時(shí),如果輸入為
名詞",則轉(zhuǎn)向中間狀態(tài)3; 比較符短語",則轉(zhuǎn)向中間狀態(tài)4 ; 數(shù)字",則轉(zhuǎn)向中間狀態(tài)5 ; 數(shù)字",則轉(zhuǎn)向結(jié)束狀態(tài)End; 單位短語",則轉(zhuǎn)向結(jié)束狀態(tài)End。
0117]
0118] 這兩個(gè)圖的輸入都是分詞后得到的分詞序列的詞性,即進(jìn)行分詞,可以得到分詞 字列"安排動(dòng)詞/出行名詞/并且并且/通過通過/短信名詞/顯示動(dòng)詞/出行規(guī)劃名詞。",輸入其中的"動(dòng)詞名詞并且通過名詞動(dòng)詞名詞"。 在句型確定之后,便可以方便地提取功能目標(biāo)的操作、業(yè)務(wù)對(duì)象、方式,定性非功 能目標(biāo)的非功能類型、程度,定量非功能目標(biāo)的非功能類型、比較符、數(shù)值、單位,構(gòu)建一個(gè) 包含這些信息的初始需求模型,其元模型如圖9。例如,分析上述分詞結(jié)果,可以得到功能目 標(biāo)"安排出行"、"通過短信顯示出行規(guī)劃"、"搜索停車場(chǎng)"和非功能目標(biāo)"價(jià)格小于4元每 小時(shí)"。 (3)將功能目標(biāo)與非功能目標(biāo)關(guān)聯(lián)"屬性定性描述模式"和"屬性定量描述模式" 中的第一個(gè)名詞表示功能目標(biāo),第二個(gè)名詞則是非功能類型。據(jù)此,可以將功能目標(biāo)和非功 能目標(biāo)關(guān)聯(lián)起來。例如,上述結(jié)果中的非功能目標(biāo)"價(jià)格小于4元每小時(shí)"可以被關(guān)聯(lián)到"搜 索停車場(chǎng)"。
(4)語義匹配領(lǐng)域模型上述步驟(1) 、 (2) 、 (3)之后已經(jīng)得到了用戶的初始需求
模型,為了重用領(lǐng)域模型中共性的解決方案,需要將用戶的初始需求模型與領(lǐng)域模型中的
領(lǐng)域目標(biāo)模型進(jìn)行匹配,從而找到與初始需求模型最相似的領(lǐng)域目標(biāo)模型。
功能目標(biāo)的匹配的依據(jù)是操作和對(duì)象,如果目標(biāo)中包含方式,還要考慮方式;定性
非功能目標(biāo)匹配的依據(jù)是非功能類型;定量的非功能目標(biāo)匹配的依據(jù)是非功能類型和比較符。 由于采用的是語義匹配,返回的領(lǐng)域模型中的目標(biāo)并不一定與需求模型中的目標(biāo) 完全一致,這時(shí)可以借助于領(lǐng)域本體(領(lǐng)域?qū)嶓w本體和領(lǐng)域操作本體)進(jìn)行相似度匹配。在 匹配過程中遵循最優(yōu)匹配的原則,按此原則返回一系列領(lǐng)域模型中存在的功能目標(biāo)和非功 能目標(biāo),并按兩者接近的程度進(jìn)行排序。這一原則就是定義用戶需求和領(lǐng)域模型中共性需 求相似程度的原則。 在介紹該原則之前,先定義一些約定。 用戶需求中的屬性(如操作、對(duì)象、非功能類型)與領(lǐng)域模型中的相應(yīng)的屬性字 符串匹配稱為兩者"精確匹配"。 如果需求中的某個(gè)屬性在領(lǐng)域本體中找不到一個(gè)和它字符串匹配的概念,則稱該 屬性與領(lǐng)域模型"不匹配"(因?yàn)轭I(lǐng)域模型中的每一個(gè)屬性在領(lǐng)域本體中都有一個(gè)概念對(duì) 應(yīng))。如果需求中的某個(gè)屬性在領(lǐng)域本體中存在一個(gè)和它字符串匹配的概念,我們將領(lǐng)域本 體中的這個(gè)概念叫做該屬性的"映像"。為方便描述,以下不區(qū)分屬性和它的"映像"。
如果需求中的某個(gè)屬性和領(lǐng)域模型中的某個(gè)屬性在領(lǐng)域本體中存在"相等"的關(guān) 系,也稱為兩者"精確匹配"。"被包含匹配"指需求中的某個(gè)屬性在本體中是領(lǐng)域模型中同類型屬性的子類(該 子類可以是間接的,即子類的子類);"包含匹配"指需求中的某個(gè)屬性在本體中是領(lǐng)域模 型中同類型屬性的父類(該父類可以是間接的,即父類的父類);不滿足"精確匹配"、"被包 含匹配"、"包含匹配"以上條件的稱為"不匹配"。"精確匹配"、"被包含匹配"和"包含匹配" 統(tǒng)稱為"匹配"。 實(shí)施例規(guī)定這四類匹配的相似度為"精確匹配" > "被包含匹配" > "包含匹配" >"不匹配"。 功能目標(biāo)的匹配相似度為如果需求中不包括"方式",則"操作">"對(duì)象";如果 需求中包括"方式",則"操作" > "對(duì)象" > "方式"。
定性非功能目標(biāo)只考慮"非功能類型",因而不用規(guī)定匹配相似度。 由于定量非功能目標(biāo)的"比較符"只有"精確匹配"與"不匹配"兩種,故,匹配相似
度根據(jù)"非功能類型"的匹配類型,并且"兩者都匹配"優(yōu)于"其中之一不匹配","其中之一
不匹配"等于"兩者都不匹配"。
(5)將語義匹配得到的目標(biāo)按相似程度從高到低返回給用戶。語義匹配得到的 目標(biāo)可能是一個(gè)領(lǐng)域目標(biāo)模型中的多個(gè)目標(biāo),也可能是多個(gè)領(lǐng)域目標(biāo)模型分別都有提供目 標(biāo)。因此具體實(shí)施時(shí),返回的目標(biāo)除了寫明目標(biāo)名稱,還可寫明來自哪個(gè)領(lǐng)域目標(biāo)模型。
步驟3,將步驟2所得匹配結(jié)果返回給用戶,允許用戶對(duì)返回的匹配結(jié)果進(jìn)行選 擇,然后確認(rèn)用戶所選擇結(jié)果為需求模型。 步驟2中返回的每一個(gè)用戶初始需求中的目標(biāo)都有一組(0到多個(gè))領(lǐng)域目標(biāo)模 型中的目標(biāo)與之對(duì)應(yīng)。如果與初始需求中的目標(biāo)對(duì)應(yīng)的目標(biāo)數(shù)多于l個(gè),那么用戶可以從 中選擇一個(gè)目標(biāo)來匹配該需求。否則,該需求在領(lǐng)域中不存在與之匹配的共性目標(biāo),即在領(lǐng) 域模型中不存在相關(guān)的共性解決方案,這時(shí),建議基于關(guān)鍵詞搜索的方式在互聯(lián)網(wǎng)上直接 搜索滿足該需求的服務(wù)。 步驟4,在領(lǐng)域模型中利用目標(biāo)層與過程層的關(guān)聯(lián)、過程層與服務(wù)層之間的關(guān)聯(lián), 返回與步驟3所得需求模型對(duì)應(yīng)的領(lǐng)域服務(wù)模型中服務(wù)。 如圖3、4、5中可以看到可操作目標(biāo)與過程有關(guān)聯(lián),過程與目標(biāo)有關(guān)聯(lián),服務(wù)又與 過程有關(guān)聯(lián),因此根據(jù)用戶所選擇的目標(biāo),通過關(guān)聯(lián)搜索到相應(yīng)過程,再搜索到相應(yīng)服務(wù), 返回提供了領(lǐng)域服務(wù)模型中對(duì)應(yīng)的服務(wù)給用戶即可。 以上方法技術(shù)方案可以采用計(jì)算機(jī)軟件技術(shù)實(shí)現(xiàn),也可以采用裝置形式實(shí)現(xiàn)。為 便于實(shí)施參考,本發(fā)明提供相應(yīng)的一種服務(wù)需求獲取與建模系統(tǒng),包括如下模塊,
1)領(lǐng)域建模模塊,用于構(gòu)建領(lǐng)域本體和領(lǐng)域模型。領(lǐng)域本體包括領(lǐng)域?qū)嶓w本體和 領(lǐng)域操作本體。所述領(lǐng)域?qū)嶓w本體用于描述領(lǐng)域中的實(shí)體概念及其之間的關(guān)系,所述領(lǐng)域 操作本體用于描述領(lǐng)域中的操作概念及其之間的關(guān)系。在構(gòu)建領(lǐng)域本體后,利用面向服務(wù) 的RGPS需求元模型框架,構(gòu)建領(lǐng)域模型,包括領(lǐng)域角色模型、領(lǐng)域目標(biāo)模型、領(lǐng)域過程模型 和領(lǐng)域服務(wù)模型,所述RGPS需求元模型框架包括四個(gè)層次的元模型,并在四個(gè)層次間建立 相應(yīng)的關(guān)聯(lián)關(guān)系;所述四個(gè)層次的元模型即角色層元模型、目標(biāo)層元模型、過程層元模型和 服務(wù)層元模型。領(lǐng)域建模模塊構(gòu)建的領(lǐng)域本體輸出到需求預(yù)處理模塊和語義匹配模塊,領(lǐng) 域模型輸出到語義匹配模塊和服務(wù)選擇模塊。 2)需求預(yù)處理模塊,用于接收用戶用結(jié)構(gòu)化自然語言描述的需求,通過分詞、詞性 標(biāo)注、語法分析和非功能目標(biāo)與功能目標(biāo)的關(guān)聯(lián),將該需求轉(zhuǎn)化為初始需求模型。將領(lǐng)域建 模模塊構(gòu)建的領(lǐng)域本體中的專業(yè)詞匯加入通用的詞庫,構(gòu)成一個(gè)帶專業(yè)詞匯的詞庫,可以 根據(jù)這個(gè)詞庫進(jìn)行分詞。需求預(yù)處理模塊生成的初始需求模型輸出到語義匹配模塊。
3)語義匹配模塊,用于將需求預(yù)處理模塊所提供初始需求模型中的目標(biāo)與領(lǐng)域建 模模塊所提供領(lǐng)域模型中的目標(biāo)進(jìn)行語義匹配,語義匹配時(shí)可借用領(lǐng)域建模模塊構(gòu)建的領(lǐng) 域本體進(jìn)行相似度匹配。每一個(gè)初始需求模型中的目標(biāo)都會(huì)對(duì)應(yīng)有0個(gè)、1個(gè)或多個(gè)領(lǐng)域目 標(biāo)模型所提供目標(biāo),有多個(gè)目標(biāo)時(shí)按相似程度由高到低排序。語義匹配模塊得到的排序后 的目標(biāo)輸出到需求確認(rèn)模塊。 4)需求確認(rèn)模塊,用于讓用戶從語義匹配模塊所提供排序后的目標(biāo)中選擇一個(gè)需要的目標(biāo),作為需求模型。需求確認(rèn)模塊將用戶做出的選擇輸出到服務(wù)選擇模塊。特殊情
況下,如果領(lǐng)域目標(biāo)組中沒有目標(biāo)或只有一個(gè)目標(biāo),則不需要用戶選擇。 5)服務(wù)選擇模塊,用于根據(jù)領(lǐng)域建模模塊所提供領(lǐng)域模型中定義的目標(biāo)、過程和
服務(wù)之間的關(guān)聯(lián)關(guān)系,對(duì)應(yīng)需求確認(rèn)模塊所傳輸?shù)哪繕?biāo)于返回被關(guān)聯(lián)的服務(wù),供用戶選擇。
返回的服務(wù)可能有多個(gè),用戶選擇其中之一即可。 以上模塊的劃分并非唯一方案,具體實(shí)施時(shí)本領(lǐng)域技術(shù)人員可以自行設(shè)計(jì)。
權(quán)利要求
一種基于領(lǐng)域模型的服務(wù)需求獲取與建模方法,其特征在于包括以下處理步驟,步驟1,根據(jù)領(lǐng)域中的共性需求和服務(wù)資源,構(gòu)造領(lǐng)域模型,所述領(lǐng)域模型包括領(lǐng)域角色模型、領(lǐng)域目標(biāo)模型、領(lǐng)域過程模型和領(lǐng)域服務(wù)模型;構(gòu)建實(shí)現(xiàn)包括以下步驟,步驟1.1,構(gòu)造一個(gè)面向服務(wù)的RGPS需求元模型框架,其中包括四個(gè)層次的元模型,并在四個(gè)層次間建立相應(yīng)的關(guān)聯(lián)關(guān)系;所述四個(gè)層次為角色層、目標(biāo)層、過程層和服務(wù)層,所述四個(gè)層次的元模型即角色層元模型、目標(biāo)層元模型、過程層元模型和服務(wù)層元模型;步驟1.2,針對(duì)具體應(yīng)用領(lǐng)域,根據(jù)領(lǐng)域中的基本概念構(gòu)造領(lǐng)域?qū)嶓w本體和領(lǐng)域操作本體,所述領(lǐng)域?qū)嶓w本體用于描述領(lǐng)域中的實(shí)體概念及其之間的關(guān)系,所述領(lǐng)域操作本體用于描述領(lǐng)域中的操作概念及其之間的關(guān)系;步驟1.3,針對(duì)領(lǐng)域中的某一共性問題,基于步驟2構(gòu)造所得領(lǐng)域?qū)嶓w本體和領(lǐng)域操作本體,按照步驟1所得RGPS需求元模型框架構(gòu)建領(lǐng)域角色模型、領(lǐng)域目標(biāo)模型和領(lǐng)域過程模型,并在建模過程中利用領(lǐng)域?qū)嶓w本體和領(lǐng)域操作本體對(duì)這三類模型進(jìn)行語義標(biāo)識(shí);步驟1.4,采用步驟1所得RGPS需求元模型框架中的服務(wù)層元模型注冊(cè)領(lǐng)域中的服務(wù)資源;利用領(lǐng)域?qū)嶓w本體和領(lǐng)域操作本體,對(duì)領(lǐng)域中的服務(wù)資源進(jìn)行描述和語義標(biāo)識(shí),得到領(lǐng)域服務(wù)模型;步驟2,分析用戶通過結(jié)構(gòu)化自然語言描述的需求,得到初始需求模型;將初始需求模型與步驟1所得領(lǐng)域目標(biāo)模型進(jìn)行語義匹配;步驟3,將步驟2所得匹配結(jié)果返回給用戶,允許用戶對(duì)返回的匹配結(jié)果進(jìn)行選擇,然后確認(rèn)用戶所選擇結(jié)果為需求模型;步驟4,在領(lǐng)域模型中利用目標(biāo)層與過程層的關(guān)聯(lián)、過程層與服務(wù)層之間的關(guān)聯(lián),返回與步驟3所得需求模型對(duì)應(yīng)的領(lǐng)域服務(wù)模型中服務(wù)。
2. 如權(quán)利要求1的服務(wù)需求獲取與建模方法,其特征在于步驟2中,所述分析用戶通過結(jié)構(gòu)化自然語言描述的需求,實(shí)現(xiàn)過程如下,對(duì)結(jié)構(gòu)化自然語言描述的需求進(jìn)行分詞與詞性標(biāo)注,得到分詞序列;分析分詞序列,得到需求中的功能目標(biāo)和非功能目標(biāo);將功能目標(biāo)與非功能目標(biāo)關(guān)聯(lián),得到初始需求模型。
全文摘要
本發(fā)明提供一種基于領(lǐng)域模型的服務(wù)需求獲取與建模方法,采用基于領(lǐng)域模型的分析方法,以領(lǐng)域目標(biāo)模型的形式描述領(lǐng)域共性需求,以領(lǐng)域過程模型的形式描述為滿足這些共性需求而提供的服務(wù)組合方案。由于用戶需求往往是面向特定領(lǐng)域的,所以本發(fā)明的方法將有助于提高服務(wù)組合效率。此外,本發(fā)明采用了領(lǐng)域本體技術(shù),增加了支持用戶需求表達(dá)形式多樣化的能力,并且,通過與用戶的交互,有助于準(zhǔn)確理解需求,并能充分復(fù)用領(lǐng)域資源,增加用戶的服務(wù)體驗(yàn)質(zhì)量。
文檔編號(hào)G06F9/44GK101710285SQ20091027289
公開日2010年5月19日 申請(qǐng)日期2009年11月24日 優(yōu)先權(quán)日2009年11月24日
發(fā)明者何克清, 彭蓉, 王健, 陳華峰 申請(qǐng)人:武漢大學(xué)