專利名稱:一種軟件服務(wù)的語義標(biāo)識(shí)及需求封裝方法
技術(shù)領(lǐng)域:
本發(fā)明屬于信息資源集成應(yīng)用技術(shù)領(lǐng)域,特別是涉及一種軟件服務(wù)語義標(biāo)識(shí)及需 求封裝方法。
背景技術(shù):
在云計(jì)算(Cloud Computing)盛行的今天,軟件開發(fā)的范型也正發(fā)生著巨大的轉(zhuǎn) 變。從最初的Web服務(wù)到現(xiàn)在的SaaS服務(wù),軟件形態(tài)層出不窮。然而,這些軟件服務(wù)在定 義和使用過程中存在兩個(gè)主要的問題一、它們往往需要通過關(guān)鍵字來查找所需的服務(wù),這 種在語法層上的服務(wù)匹配很難滿足用戶的需要。二、軟件服務(wù)的需求定位比較模糊,他們往 往關(guān)注軟件服務(wù)本身的屬性和內(nèi)在特征,而忽略了軟件服務(wù)的宗旨就是為了滿足用戶的需 求。因此,與語義技術(shù)結(jié)合的語義軟件服務(wù)成了軟件服務(wù)技術(shù)發(fā)展的一個(gè)重要方向,同時(shí)在 語義軟件服務(wù)的基礎(chǔ)上,促進(jìn)人網(wǎng)協(xié)同,以用戶為中心,增強(qiáng)用戶體驗(yàn)感,為用戶提供隨需 而變的服務(wù)將逐步成為軟件服務(wù)發(fā)展的新趨勢。目前,較通用的語義服務(wù)本體是由W3C提出的語義Web服務(wù)本體0WL-S。該Web服 務(wù)本體通過服務(wù)輪廓(Service Profile)、過程模型(Process Model)和服務(wù)基礎(chǔ)(Service Grounding)對語義Web服務(wù)進(jìn)行描述。其中,服務(wù)輪廓是OWL-S本體中用于描述和區(qū)分服 務(wù)的部分,它描述了服務(wù)的名稱、分類、輸入輸出參數(shù)、服務(wù)執(zhí)行的前置條件和后置條件等 信息,并支持通過導(dǎo)入領(lǐng)域本體來實(shí)現(xiàn)對服務(wù)的輸入輸出參數(shù)類型進(jìn)行語義標(biāo)注。OffL-S服務(wù)本體的確增強(qiáng)了對Web服務(wù)語義的描述能力,但是由于在對Web服務(wù)進(jìn) 行表征建模時(shí),過分考慮了對Web服務(wù)本身的描述,而忽略了 Web服務(wù)描述與用戶需求之間 的對應(yīng)關(guān)系。根據(jù)RGPS需求元模型,用戶的需求可以分角色、目標(biāo)、過程和服務(wù)四個(gè)層面。 而OWL-S服務(wù)本體所描述的內(nèi)容僅與過程層和服務(wù)層的需求描述對應(yīng),提供了構(gòu)成OWL-S 服務(wù)模型的OWL-S過程模型和OWL-S服務(wù)輪廓;無法與角色層和目標(biāo)層需求描述相對應(yīng),缺 乏服務(wù)對應(yīng)的角色和服務(wù)對應(yīng)的目標(biāo),見圖1。這就導(dǎo)致了 OWL-S服務(wù)本體具有以下兩點(diǎn)不 足之處1、無法描述與服務(wù)對應(yīng)的角色通常情況下,相同角色的用戶所頻繁調(diào)用的Web服務(wù)大致相同。當(dāng)需求分析模塊 根據(jù)用戶需求提取出用戶角色后,如果服務(wù)描述中包含其對應(yīng)的角色信息,則服務(wù)發(fā)現(xiàn)算 法就能夠根據(jù)該信息計(jì)算服務(wù)庫中的服務(wù)與用戶需求在角色層面的匹配度,從而提高服務(wù) 發(fā)現(xiàn)算法的準(zhǔn)確性。但是,目前的OWL-S本體還不支持對服務(wù)角色的描述,導(dǎo)致業(yè)務(wù)開發(fā)者 在服務(wù)發(fā)現(xiàn)過程中,無法利用用戶需求中所包含的角色信息。2、無法描述與服務(wù)對應(yīng)的目標(biāo)(即功能)OffL-S本體中所定義的服務(wù)輪廓(Profile)通過服務(wù)的名稱、輸入輸出參數(shù)類型、 以及服務(wù)的前置條件(Precondition)和后置條件(Effect)來間接描述Web服務(wù)的功能。 這種方法雖然能夠從某種程度上表達(dá)服務(wù)的功能,但在有些情況下,使用該方法則無法準(zhǔn) 確刻畫服務(wù)的功能,容易造成混淆。尤其是對于大量不存在前置條件和后置條件的服務(wù),這種現(xiàn)象就顯得尤為突出。因?yàn)閮蓚€(gè)輸入輸出參數(shù)類型完全相同的服務(wù),可能具有完全不同 的功能。
發(fā)明內(nèi)容
本發(fā)明目的在于針對以上不足,提出一種軟件服務(wù)語義標(biāo)識(shí)及需求封裝方法。本發(fā)明的技術(shù)方案為首先構(gòu)建領(lǐng)域模型和軟件服務(wù)注冊模型,所述領(lǐng)域模型包 括領(lǐng)域本體模型和領(lǐng)域需求模型;實(shí)現(xiàn)步驟如下,步驟1. 1,構(gòu)造 領(lǐng)域本體模型,即抽取領(lǐng)域中的基本概念,分別構(gòu)造領(lǐng)域的實(shí)體本 體和操作本體,實(shí)體本體用以標(biāo)識(shí)軟件服務(wù)的輸入輸出屬性項(xiàng)信息,操作本體用以標(biāo)識(shí)軟 件服務(wù)的操作屬性項(xiàng)信息;對RGPS需求元模型實(shí)例化生成領(lǐng)域需求模型,包括在RGPS需求元模型下構(gòu)造領(lǐng) 域的角色模型和目標(biāo)模型以及它們之間多對多的關(guān)聯(lián)關(guān)系;構(gòu)造用于描述軟件服務(wù)的軟件服務(wù)屬性本體,構(gòu)造時(shí)在軟件服務(wù)的基本屬性項(xiàng)基 礎(chǔ)上添加與領(lǐng)域需求模型相應(yīng)的角色屬性項(xiàng)和目標(biāo)屬性項(xiàng);并在國際標(biāo)準(zhǔn)IS0/IEC 19763 所提供本體注冊元模型的指導(dǎo)下對軟件服務(wù)屬性本體進(jìn)行細(xì)化;步驟1. 2,使用本體編輯工具分別編輯領(lǐng)域本體模型、領(lǐng)域需求模型和軟件服務(wù)屬 性本體,生成相應(yīng)領(lǐng)域本體模型文件、領(lǐng)域需求模型文件和軟件服務(wù)屬性本體文件;步驟1. 3,根據(jù)軟件服務(wù)屬性本體文件,在軟件服務(wù)注冊庫中構(gòu)建軟件服務(wù)注冊模 型;將待注冊軟件服務(wù)注冊到軟件服務(wù)注冊庫時(shí),使用領(lǐng)域本體模型文件標(biāo)識(shí)軟件服 務(wù),使用領(lǐng)域需求模型文件封裝軟件服務(wù);實(shí)現(xiàn)步驟如下;步驟2. 1,導(dǎo)入待注冊軟件服務(wù)的服務(wù)描述文件,從服務(wù)描述文件讀出待注冊軟件 服務(wù)的輸入輸出屬性項(xiàng)信息和操作屬性項(xiàng)信息;導(dǎo)入領(lǐng)域本體模型文件,利用領(lǐng)域本體模 型中的實(shí)體本體對對軟件服務(wù)的輸入輸出屬性項(xiàng)信息進(jìn)行語義標(biāo)識(shí),利用領(lǐng)域本體模型中 的操作本體對對軟件服務(wù)的操作屬性項(xiàng)信息行語義標(biāo)識(shí);步驟2. 2,導(dǎo)入領(lǐng)域需求模型文件,從領(lǐng)域需求模型文件中讀取領(lǐng)域的角色模型和 目標(biāo)模型以及它們之間多對多的關(guān)聯(lián)關(guān)系;用讀取結(jié)果封裝待注冊軟件服務(wù)的角色屬性項(xiàng) 信息和目標(biāo)屬性項(xiàng)信息;步驟2. 3,根據(jù)軟件服務(wù)注冊模型,存儲(chǔ)待注冊軟件服務(wù)的基礎(chǔ)屬性項(xiàng)信息、角色 屬性項(xiàng)信息和目標(biāo)屬性項(xiàng)信息,并作為軟件服務(wù)注冊信息保存到軟件服務(wù)注冊庫中。而且,運(yùn)用國際標(biāo)準(zhǔn)IS0/IEC 19763-3所提供參考本體和本地本體之間的關(guān)系, 對領(lǐng)域本體進(jìn)行演化,形成個(gè)性化的本地本體,支持同一領(lǐng)域下不同本地本體之間進(jìn)行互 操作,實(shí)現(xiàn)基于這些本地本體的軟件服務(wù)之間的互操作;所述領(lǐng)域本體為領(lǐng)域的實(shí)體本體 和操作本體。而且,提供支持語義查找和需求查找的查詢接口,語義查找的查找參數(shù)從領(lǐng)域本 體模型文件中讀取,需求查找的查找參數(shù)從領(lǐng)域需求模型文件中讀取。本發(fā)明將領(lǐng)域本體模型和領(lǐng)域需求模型引入到軟件服務(wù)注冊模型之中,一方面用 領(lǐng)域本體模型去標(biāo)識(shí)軟件服務(wù),實(shí)現(xiàn)軟件服務(wù)的語義化;另一方面用基于RGPS需求元模型 的領(lǐng)域需求模型去封裝軟件服務(wù),建立軟件服務(wù)和用戶需求的對應(yīng)關(guān)系,實(shí)現(xiàn)軟件服務(wù)“面向領(lǐng)域、用戶主導(dǎo)”的宗旨。因此本發(fā)明技術(shù)方案解決了軟件服務(wù)的語義標(biāo)識(shí)和需求封裝, 能夠支持在軟件服務(wù)發(fā)現(xiàn)過程中的基于語義和需求的軟件服務(wù)匹配,實(shí)現(xiàn)自上而下的服務(wù) 發(fā)現(xiàn)和自下而上的需求發(fā)現(xiàn)的結(jié)合,為后續(xù)的軟件服務(wù)動(dòng)態(tài)組合奠定了基礎(chǔ)。
圖1為現(xiàn)有OWL-S服務(wù)模型示意圖;圖2為現(xiàn)有RGPS需求元模型的層次關(guān)系圖;圖3為軟件服務(wù)的語義標(biāo)識(shí)和需求封裝過程。
具體實(shí)施例方式本發(fā)明所提供的技術(shù)方案如圖3所示。為了實(shí)現(xiàn)基于領(lǐng)域本體模型和領(lǐng)域需求模 型的軟件服務(wù)語義標(biāo)識(shí)及需求封裝方法,首先要建立領(lǐng)域本體模型和領(lǐng)域需求模型。(一 )構(gòu)造領(lǐng)域本體模型,并通過領(lǐng)域本體的構(gòu)造和選擇,進(jìn)行軟件服務(wù)的語義標(biāo) 識(shí),從而支持請求者發(fā)出的語義查詢,實(shí)現(xiàn)面向領(lǐng)域的軟件服務(wù)的語義查找。領(lǐng)域本體模型是結(jié)構(gòu)化的領(lǐng)域知識(shí),包括領(lǐng)域概念及其關(guān)聯(lián),可以被計(jì)算機(jī)解釋 和利用。領(lǐng)域本體描述的領(lǐng)域概念及其之間的語義關(guān)聯(lián)為軟件服務(wù)提供了語義支持。因?yàn)?軟件服務(wù)的功能接口信息包括輸入輸出屬性項(xiàng)信息和操作屬性項(xiàng)信息,可以將領(lǐng)域本體概 念劃分構(gòu)造為實(shí)體本體和操作本體,前者用來語義標(biāo)識(shí)軟件服務(wù)的輸入輸出屬性項(xiàng)信息, 后者用來標(biāo)識(shí)軟件服務(wù)的操作屬性項(xiàng)信息。領(lǐng)域需求模型和領(lǐng)域本體模型共同構(gòu)成了領(lǐng)域 模型,基于領(lǐng)域模型的軟件服務(wù)真正實(shí)現(xiàn)了 “面向領(lǐng)域,用戶主導(dǎo)”的宗旨。另外,可以運(yùn)用國際標(biāo)準(zhǔn)IS0/IEC 19763-3所提供參考本體和本地本體之間的演 化規(guī)則,對領(lǐng)域本體(即領(lǐng)域的實(shí)體本體和操作本體)進(jìn)行演化,形成能夠個(gè)性化的領(lǐng)域本 地本體,并實(shí)現(xiàn)個(gè)性化的軟件服務(wù)語義標(biāo)識(shí)。這樣可以達(dá)到同一領(lǐng)域下不同本地本體之間 能夠進(jìn)行互操作的目的,從而實(shí)現(xiàn)基于這些本體的軟件服務(wù)之間的互操作。(二)根據(jù)RGPS需求元模型與領(lǐng)域知識(shí),實(shí)例化生成領(lǐng)域需求模型。即在RGPS需 求元模型的指導(dǎo)下構(gòu)造領(lǐng)域的角色模型和目標(biāo)模型,用以對軟件服務(wù)進(jìn)行需求封裝,從而 提高軟件服務(wù)的查找效率和增強(qiáng)用戶的體驗(yàn)感。RGPS需求元模型是在網(wǎng)絡(luò)化軟件的需求工程研究中,針對網(wǎng)絡(luò)化軟件的需求建 模提出的一種指導(dǎo)性方法。參見圖2,在現(xiàn)有RGPS需求元模型中,包括角色-目標(biāo)-過 程-服務(wù)四個(gè)層次的元模型角色層(Role)、目標(biāo)層(Goal)、過程層(Process)和服務(wù)層 (Service),同時(shí),在四個(gè)層次間建立了相應(yīng)的關(guān)聯(lián)關(guān)系。通過這四個(gè)層次元模型之間的關(guān) 聯(lián),能夠?yàn)轭I(lǐng)域需求模型的建立和互操作提供有力的支持。因此本發(fā)明在RGPS的基礎(chǔ)上, 提出利用角色、目標(biāo)、過程和服務(wù)刻畫網(wǎng)絡(luò)式軟件用戶需求的真實(shí)意圖,建立能夠真正滿足 用戶需要的需求模型,為進(jìn)一步提供合適的軟件服務(wù)奠定基礎(chǔ)。本發(fā)明重點(diǎn)考察角色層與目標(biāo)層之間的關(guān)系和目標(biāo)層與過程層之間的關(guān)系。具體 的來說,角色層與目標(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),直接完成用戶對功能方面的要求;另一方面,過程可以促進(jìn)非功能目標(biāo)的實(shí)現(xiàn),能夠提高非功能目標(biāo)的滿足程度。過程層與服務(wù)層之間的關(guān)系體現(xiàn)在Web服務(wù)可以實(shí)現(xiàn)過程,過程可以看成是一個(gè)服務(wù)組合或服務(wù)解 決方案。基于領(lǐng)域的這兩個(gè)模型能夠與軟件服務(wù)注冊模型相結(jié)合,成為軟件服務(wù)語義標(biāo)識(shí) 和需求封裝的核心機(jī)制。軟件服務(wù)注冊模型的實(shí)現(xiàn)過程為首先構(gòu)造用于描述軟件服務(wù)的 軟件服務(wù)屬性本體,構(gòu)造時(shí)在軟件服務(wù)的基本屬性項(xiàng)基礎(chǔ)上添加與領(lǐng)域需求模型相應(yīng)的角 色屬性項(xiàng)和目標(biāo)屬性項(xiàng);并在國際標(biāo)準(zhǔn)IS0/IEC19763所提供本體注冊元模型的指導(dǎo)下對 軟件服務(wù)屬性本體進(jìn)行細(xì)化。通過細(xì)化,可以對軟件服務(wù)屬性進(jìn)行分類,例如分為基本屬 性、提供商屬性、情境屬性等。然后,編輯軟件服務(wù)屬性本體得到的軟件服務(wù)屬性本體文件, 可以保存到軟件服務(wù)注冊庫。最后根據(jù)軟件服務(wù)屬性本體文件,在軟件服務(wù)注冊庫中構(gòu)建 軟件服務(wù)注冊模型。軟件服務(wù)的基本屬性項(xiàng)包括服務(wù)名稱、服務(wù)描述文件URL、服務(wù)所在領(lǐng) 域、服務(wù)分類標(biāo)準(zhǔn)等,軟件服務(wù)的輸入輸出屬性項(xiàng)和操作屬性項(xiàng)也屬于軟件服務(wù)的基本屬 性項(xiàng),因此無需擴(kuò)展。所謂軟件服務(wù)注冊庫,是目前進(jìn)行軟件服務(wù)(包括Web服務(wù))注冊和管理采用的 資源庫,類似UDDI服務(wù)注冊庫。服務(wù)發(fā)布者可以在軟件服務(wù)注冊庫中發(fā)布相關(guān)服務(wù),服務(wù) 請求者可以在軟件服務(wù)注冊庫發(fā)現(xiàn)相關(guān)軟件服務(wù)滿足自己的需求。但是現(xiàn)有服務(wù)發(fā)布和發(fā) 現(xiàn)機(jī)制是基于關(guān)鍵字的語法機(jī)制,非語義機(jī)制,因此應(yīng)用本發(fā)明提供的軟件服務(wù)語義標(biāo)識(shí) 和需求封裝機(jī)制,可以在已有軟件服務(wù)注冊庫的基礎(chǔ)上添加語義信息和需求信息,豐富軟 件服務(wù)注冊庫的功能,增強(qiáng)軟件服務(wù)注冊信息的用戶體驗(yàn)感。軟件服務(wù)注冊庫可以用于支 持多個(gè)領(lǐng)域的軟件服務(wù)注冊,因此領(lǐng)域本體模型、領(lǐng)域需求模型編輯并生成相應(yīng)領(lǐng)域本體 模型文件、領(lǐng)域需求模型文件后可以保存在本地,當(dāng)進(jìn)行軟件注冊時(shí)根據(jù)待注冊軟件服務(wù) 的領(lǐng)域?qū)胂鄳?yīng)領(lǐng)域的領(lǐng)域本體模型文件、領(lǐng)域需求模型文件。本發(fā)明的技術(shù)方案可由本領(lǐng)域技術(shù)人員采用計(jì)算機(jī)軟件技術(shù)手段實(shí)現(xiàn),提供自動(dòng) 支持軟件注冊和查詢的技術(shù)方案。具體實(shí)施時(shí),領(lǐng)域本體模型及相應(yīng)文件、領(lǐng)域需求模型及 相應(yīng)文件和軟件服務(wù)屬性本體及相應(yīng)文件的生成順序并沒有嚴(yán)格順序限制。為了便于實(shí) 施,本發(fā)明提供了實(shí)施例的具體實(shí)現(xiàn)過程以供參考(1)根據(jù)領(lǐng)域知識(shí)構(gòu)造一個(gè)領(lǐng)域本體模型,即抽取領(lǐng)域中的基本概念,分別構(gòu)造領(lǐng) 域的實(shí)體本體和操作本體,實(shí)體本體用以標(biāo)識(shí)軟件服務(wù)的輸入輸出屬性項(xiàng)信息,操作本體 用以標(biāo)識(shí)軟件服務(wù)的操作屬性項(xiàng)信息。然后,使用本體編輯工具Prot6g6來構(gòu)造用以標(biāo)識(shí) 的領(lǐng)域本體模型,并以O(shè)WL (Web Ontology Language)文件格式輸出文件,保持到本地供軟 件服務(wù)注冊庫調(diào)用。(2)對RGPS需求元模型實(shí)例化生成領(lǐng)域需求模型,包括在RGPS需求元模型下構(gòu)造 領(lǐng)域的角色模型和目標(biāo)模型以及它們之間多對多的關(guān)聯(lián)關(guān)系。在RGPS需求元模型各層及其層間關(guān)系的基礎(chǔ)上,針對特定的領(lǐng)域(如物流領(lǐng)域), 應(yīng)用領(lǐng)域知識(shí)在RGPS需求元模型的指導(dǎo)下構(gòu)造生成領(lǐng)域需求模型。然后,使用本體編輯工 具Prot6g6來構(gòu)造用以封裝的領(lǐng)域需求模型,并以O(shè)WL (Web Ontology Language)文件格式 輸出文件,保持到本地供軟件服務(wù)注冊庫調(diào)用。(3)構(gòu)造用于描述軟件服務(wù)的軟件服務(wù)屬性本體,構(gòu)造時(shí)在軟件服務(wù)的基本屬性 項(xiàng)基礎(chǔ)上添加與領(lǐng)域需求模型相應(yīng)的角色屬性項(xiàng)和目標(biāo)屬性項(xiàng);并在國際標(biāo)準(zhǔn)IS0/IEC19763所提供本體注冊元模型的指導(dǎo)下對軟件服務(wù)屬性本體進(jìn)行細(xì)化。然后,使用本體編輯 工具Prot6g6來構(gòu)造軟件服務(wù)屬性本體文件,并以O(shè)WL (Web Ontology Language)文件格式 輸出文件,保持到軟件服務(wù)注冊庫中供調(diào)用。再根據(jù)軟件服務(wù)屬性本體文件生成軟件服務(wù) 注冊模型。(4)應(yīng)用領(lǐng)域本體模型、領(lǐng)域需求模型對軟件服務(wù)進(jìn)行標(biāo)識(shí)和封裝。實(shí)施例中標(biāo)識(shí)和封裝過程如下首先,導(dǎo)入待注冊軟件服務(wù)的原始描述文件(如WSDL文件),從原始描述文件讀出 待注冊軟件服務(wù)的功能接口信息(如輸入輸出屬性項(xiàng)信息和操作屬性項(xiàng)信息)以備標(biāo)識(shí)之 用,服務(wù)發(fā)布者選擇軟件服務(wù)所在領(lǐng)域(如物流領(lǐng)域),即可利用該領(lǐng)域的領(lǐng)域本體模型中 定義的概念對這些接口信息進(jìn)行語義標(biāo)識(shí),其中實(shí)體本體用以標(biāo)識(shí)服務(wù)的輸入輸 出屬性項(xiàng) 信息,操作本體用以標(biāo)識(shí)服務(wù)的操作屬性項(xiàng)信息。具體實(shí)施時(shí),為了提高標(biāo)識(shí)準(zhǔn)確率,可以 根據(jù)軟件服務(wù)原始的輸入輸出屬性項(xiàng)信息,利用語義匹配算法從領(lǐng)域本體概念中選出相似 度較高的概念作為候選標(biāo)識(shí)對象供注冊用戶選擇,如果沒有匹配的領(lǐng)域本體概念,則由用 戶根據(jù)領(lǐng)域本體模型中的現(xiàn)有概念自行選擇,或記錄下無法匹配的輸入輸出信息。當(dāng)多次 出現(xiàn)該信息無法匹配的情況時(shí),則說明需要對領(lǐng)域本體進(jìn)行演化。然后,從領(lǐng)域需求模型文件中讀取領(lǐng)域的角色模型和目標(biāo)模型以及它們之間多對 多的關(guān)聯(lián)關(guān)系;用讀取結(jié)果封裝待注冊軟件服務(wù)的角色屬性項(xiàng)信息和目標(biāo)屬性項(xiàng)信息。具 體實(shí)施時(shí),當(dāng)確定了軟件服務(wù)所在領(lǐng)域后,從相應(yīng)領(lǐng)域需求模型文件中讀取該領(lǐng)域中的角 色模型和目標(biāo)模型以及它們之間多對多的關(guān)聯(lián)關(guān)系。實(shí)施時(shí)可以先選擇使用該軟件服務(wù)的 角色,選定角色后即可從領(lǐng)域需求模型中讀取該角色所對應(yīng)的目標(biāo),可以選擇該服務(wù)能夠 完成哪些目標(biāo)。基于角色模型和目標(biāo)模型以及它們之間多對多的關(guān)聯(lián)關(guān)系,也可以先選目 標(biāo),后選角色。這樣實(shí)現(xiàn)了利用領(lǐng)域需求模型中角色模型和目標(biāo)模型以及它們之間多對多 的關(guān)聯(lián)關(guān)系,對待注冊軟件服務(wù)的角色屬性項(xiàng)信息和目標(biāo)屬性項(xiàng)信息的封裝。注意,一個(gè)軟 件服務(wù)可以由多種角色扮演,也可以實(shí)現(xiàn)多種目標(biāo)。(5)根據(jù)軟件服務(wù)注冊模型,存儲(chǔ)待注冊軟件服務(wù)的基礎(chǔ)屬性項(xiàng)信息、角色屬性項(xiàng) 信息和目標(biāo)屬性項(xiàng)信息,并作為軟件服務(wù)注冊信息保存到軟件服務(wù)注冊庫中。之前,輸入輸出屬性項(xiàng)信息和操作屬性項(xiàng)信息已經(jīng)被語義標(biāo)識(shí),擴(kuò)展的角色屬性 項(xiàng)信息和目標(biāo)屬性項(xiàng)信息也已經(jīng)被需求封裝;因此只需根據(jù)軟件服務(wù)屬性本體構(gòu)建出的軟 件服務(wù)注冊模型,填充軟件服務(wù)的其他基礎(chǔ)屬性項(xiàng),即可完成待注冊軟件服務(wù)的注冊,并將 待注冊軟件服務(wù)保存到軟件服務(wù)注冊庫中。包括輸入輸出屬性項(xiàng)信息和操作屬性項(xiàng)信息的 基礎(chǔ)屬性項(xiàng)信息,以及擴(kuò)展的角色屬性項(xiàng)信息和目標(biāo)屬性項(xiàng)信息,都被作為待注冊軟件服 務(wù)的軟件服務(wù)注冊信息保存到軟件服務(wù)注冊庫中。具體實(shí)施時(shí),可以為每一個(gè)注冊成功的 軟件服務(wù)分配其唯一的軟件服務(wù)ID號,并保存在軟件服務(wù)注冊庫中,以便管理。注冊成功 后,軟件服務(wù)注冊庫還可以提供瀏覽、修改和刪除等管理操作?;诒景l(fā)明實(shí)現(xiàn)的軟件服務(wù)注冊庫可以提供強(qiáng)大的服務(wù)查詢功能,不僅能夠提供 基于傳統(tǒng)關(guān)鍵字的查詢功能,而且可以提供基于語義和需求(角色和目標(biāo))的服務(wù)查詢功 能。具體實(shí)施時(shí),服務(wù)查詢者可選擇待查詢服務(wù)所在領(lǐng)域,領(lǐng)域本體模型中定義的概念和領(lǐng) 域需求模型中定義的角色和目標(biāo)模型信息即可從相應(yīng)領(lǐng)域模型文件中讀取出來,查找參數(shù) 從而可以從這些信息中獲取。查詢過程中,應(yīng)用領(lǐng)域本體模型中的語義推理機(jī)制可以提高軟件服務(wù)的查詢效率,同時(shí)基于領(lǐng)域需求模型封裝的服務(wù)查詢可以極大提高用戶查詢的體驗(yàn)感。
權(quán)利要求
一種軟件服務(wù)語義標(biāo)識(shí)及需求封裝方法,其特征在于首先構(gòu)建領(lǐng)域模型和軟件服務(wù)注冊模型,所述領(lǐng)域模型包括領(lǐng)域本體模型和領(lǐng)域需求模型;實(shí)現(xiàn)步驟如下,步驟1.1,構(gòu)造領(lǐng)域本體模型,即抽取領(lǐng)域中的基本概念,分別構(gòu)造領(lǐng)域的實(shí)體本體和操作本體,實(shí)體本體用以標(biāo)識(shí)軟件服務(wù)的輸入輸出屬性項(xiàng)信息,操作本體用以標(biāo)識(shí)軟件服務(wù)的操作屬性項(xiàng)信息;對RGPS需求元模型實(shí)例化生成領(lǐng)域需求模型,包括在RGPS需求元模型下構(gòu)造領(lǐng)域的角色模型和目標(biāo)模型以及它們之間多對多的關(guān)聯(lián)關(guān)系;構(gòu)造用于描述軟件服務(wù)的軟件服務(wù)屬性本體,構(gòu)造時(shí)在軟件服務(wù)的基本屬性項(xiàng)基礎(chǔ)上添加與領(lǐng)域需求模型相應(yīng)的角色屬性項(xiàng)和目標(biāo)屬性項(xiàng);并在國際標(biāo)準(zhǔn)ISO/IEC 19763所提供本體注冊元模型的指導(dǎo)下對軟件服務(wù)屬性本體進(jìn)行細(xì)化;步驟1.2,使用本體編輯工具分別編輯領(lǐng)域本體模型、領(lǐng)域需求模型和軟件服務(wù)屬性本體,生成相應(yīng)領(lǐng)域本體模型文件、領(lǐng)域需求模型文件和軟件服務(wù)屬性本體文件;步驟1.3,根據(jù)軟件服務(wù)屬性本體文件,在軟件服務(wù)注冊庫中構(gòu)建軟件服務(wù)注冊模型;將待注冊軟件服務(wù)注冊到軟件服務(wù)注冊庫時(shí),使用領(lǐng)域本體模型文件標(biāo)識(shí)軟件服務(wù),使用領(lǐng)域需求模型文件封裝軟件服務(wù);實(shí)現(xiàn)步驟如下;步驟2.1,導(dǎo)入待注冊軟件服務(wù)的服務(wù)描述文件,從服務(wù)描述文件讀出待注冊軟件服務(wù)的輸入輸出屬性項(xiàng)信息和操作屬性項(xiàng)信息;導(dǎo)入領(lǐng)域本體模型文件,利用領(lǐng)域本體模型中的實(shí)體本體對軟件服務(wù)的輸入輸出屬性項(xiàng)信息進(jìn)行語義標(biāo)識(shí),利用領(lǐng)域本體模型中的操作本體對軟件服務(wù)的操作屬性項(xiàng)信息進(jìn)行語義標(biāo)識(shí);步驟2.2,導(dǎo)入領(lǐng)域需求模型文件,從領(lǐng)域需求模型文件中讀取領(lǐng)域的角色模型和目標(biāo)模型以及它們之間多對多的關(guān)聯(lián)關(guān)系;用讀取結(jié)果封裝待注冊軟件服務(wù)的角色屬性項(xiàng)信息和目標(biāo)屬性項(xiàng)信息;步驟2.3,根據(jù)軟件服務(wù)注冊模型,存儲(chǔ)待注冊軟件服務(wù)的基礎(chǔ)屬性項(xiàng)信息、角色屬性項(xiàng)信息和目標(biāo)屬性項(xiàng)信息,并作為軟件服務(wù)注冊信息保存到軟件服務(wù)注冊庫中。
2.如權(quán)利要求1所述的軟件服務(wù)語義標(biāo)識(shí)及需求封裝方法,其特征在于運(yùn)用國際標(biāo) 準(zhǔn)ISO/IEC 19763-3所提供參考本體和本地本體之間的關(guān)系,對領(lǐng)域本體進(jìn)行演化,形成 個(gè)性化的本地本體,支持同一領(lǐng)域下不同本地本體之間進(jìn)行互操作,實(shí)現(xiàn)基于這些本地本 體的軟件服務(wù)之間的互操作;所述領(lǐng)域本體為領(lǐng)域的實(shí)體本體和操作本體。
3.如權(quán)利要求1所述的軟件服務(wù)語義標(biāo)識(shí)及需求封裝方法,其特征在于提供支持語 義查找和需求查找的查詢接口,語義查找的查找參數(shù)從領(lǐng)域本體模型文件中讀取,需求查 找的查找參數(shù)從領(lǐng)域需求模型文件中讀取。
4.如權(quán)利要求1或2或3所述的軟件服務(wù)語義標(biāo)識(shí)及需求封裝方法,其特征在于所 述本體編輯工具采用Prot6g6。
全文摘要
本發(fā)明首先構(gòu)建領(lǐng)域模型和軟件服務(wù)注冊模型,所述領(lǐng)域模型包括領(lǐng)域本體模型和領(lǐng)域需求模型;將待注冊軟件服務(wù)注冊到軟件服務(wù)注冊庫時(shí),使用領(lǐng)域本體模型文件標(biāo)識(shí)軟件服務(wù),使用領(lǐng)域需求模型文件封裝軟件服務(wù)。因此本發(fā)明技術(shù)方案解決了軟件服務(wù)的語義標(biāo)識(shí)和需求封裝,能夠支持在軟件服務(wù)發(fā)現(xiàn)過程中的基于語義和需求的軟件服務(wù)匹配,實(shí)現(xiàn)自上而下的服務(wù)發(fā)現(xiàn)和自下而上的需求發(fā)現(xiàn)的結(jié)合,為后續(xù)的軟件服務(wù)動(dòng)態(tài)組合奠定了基礎(chǔ)。
文檔編號G06F9/44GK101944016SQ20091006310
公開日2011年1月12日 申請日期2009年7月10日 優(yōu)先權(quán)日2009年7月10日
發(fā)明者萬彩平, 伍沙沙, 何克清, 余智濤, 彭濤, 曾誠, 李兵, 楊俊峰, 王健, 郜鵬, 鐘潤, 陳桂生 申請人:武漢大學(xué)