摘要:大規(guī)模并行與分布式系統(tǒng)的出現(xiàn)開拓了軟件技術(shù)的應(yīng)用前景,要開發(fā)大規(guī)模并行與分布式系統(tǒng)的全部潛能,必須要處理系統(tǒng)中大量并發(fā)的活動體的協(xié)同過程。以Linda為代表的基于共享數(shù)據(jù)空間的協(xié)同模型和協(xié)同語言具有時間解耦、空間解耦和引用解耦的特點,為大規(guī)模并行與分布式系統(tǒng)的設(shè)計與發(fā)展提供了一種新方法。該文以多Agent系統(tǒng)為應(yīng)用背景,研究有關(guān)Agent協(xié)同模型的問題,解決了現(xiàn)在大多數(shù)協(xié)同模型中缺乏語義信息的問題。
關(guān)鍵詞:協(xié)同技術(shù);協(xié)同模型;Linda協(xié)同語言;語義Web技術(shù);OWL;本體
中圖分類號:TP311文獻標(biāo)識碼:A文章編號:1009-3044(2009)14-3663-03
Research on Coordination Model Based on Semantic
HUANG Zhi-yan
(Dept.of Computer Engineering, Jiangsu Vocational and Echnical College of Finance Economics, Huai’an223003, China)
Abstract: Massively parallel and distributed systems open new horizons for large applications. Exploiting the full potential of massively parallel systems requires programming models that explicitly deal with the concurrency of cooperation among very large numbers of active entities that comprise a single application. The shared dataspace coordination models, represented by Linda, have the characteristic of temporal uncoupling, spatial uncoupling and referential uncoupling, indicate the development trend of massive programming and satisfy the requirements of software application in Internet that is open, dynamic and distributed. The paper focuses on the agent coordination model with the background of multi-Agent system, and proposes a semantic based coordination model.
Key words: coordination technology; coordination model; Linda; semantic web technology; OWL; ontology
1 引言
在動態(tài)、開放的分布式環(huán)境下,當(dāng)一個系統(tǒng)需要完成某項任務(wù)時,一方面,系統(tǒng)中的模塊之間不可避免的存在一些相互依賴關(guān)系,彼此之間的交互非常頻繁;另一方面,各模塊間還存在一定的自治性。因此,協(xié)同在一個多模塊系統(tǒng)中具有至關(guān)重要的作用。以Linda為代表的元組空間其具有時間解耦和空間解耦,在解決動態(tài)開放的分布式系統(tǒng)中協(xié)同問題時被廣泛采用。自從Linda協(xié)同語言[1-2]提出以來,已有許多人在此基礎(chǔ)上進行了大量的改進[3],使得Linda在更廣的范圍內(nèi)得到應(yīng)用。但是影響這些協(xié)同模型在開放的分布式系統(tǒng)中廣泛應(yīng)用的一個主要原因是這些協(xié)同模型中元組的表示和檢索方法缺乏語義信息,各協(xié)同Agent之間不能很好地理解其相互傳遞的信息,使得Agent不能精確的獲取自己所需要的信息。本文提出一種基于語義協(xié)同模型AccSTuple。該協(xié)同模型以基本Linda協(xié)同模型為基礎(chǔ),加入語義Web技術(shù)中的OWL DL[5],為開放的分布式環(huán)境提供了一個基礎(chǔ)設(shè)施,負(fù)責(zé)分布式數(shù)據(jù)的管理、多個Agent之間的協(xié)同。
2 基于語義和訪問策略的協(xié)同模型AccSTuple
圖1給出了AccSTuple的體系結(jié)構(gòu)。其核心組件是Linda協(xié)同模型以及作為共享數(shù)據(jù)空間的元組空間。AccSTuple兼容對簡單數(shù)據(jù)元組、XML元組、RDF(S)元組在數(shù)據(jù)視圖的操作以及在信息視圖對RDF(S)元組的操作,并且擴充了對新的元組類型——OWL元組在數(shù)據(jù)視圖和信息視圖的操作。其中,信息元組空間作為元組的共享數(shù)據(jù)空間;訪問策略元組空間則用于存放訪問策略元組。
此外,在AccSTuple中還有兩個重要的組件——本體庫和信息沖突調(diào)節(jié)規(guī)則庫。本體庫中存放的是領(lǐng)域本體和AccSTuple的本體。對于本體的管理則由相應(yīng)的本體管理模塊所負(fù)責(zé),可以通過本體管理模塊對本體庫中所存儲的本體進行查詢、修改、刪除以及添加等操作。因為OWL DL和RDF(S)語義之間不兼容可能產(chǎn)生沖突,以及不同信息提供者所供應(yīng)的具有語義的元組,在信息視圖的操作所產(chǎn)生的語義沖突,AccSTuple提供了信息沖突調(diào)節(jié)規(guī)則庫,用以存儲解決沖突的規(guī)則。相應(yīng)的可以通過信息沖突管理模塊對信息沖突調(diào)節(jié)規(guī)則庫進行管理,如查詢、刪除、添加等操作。
3 AccSTuple的擴展
AccSTuple是將語義Web技術(shù)中的OWL DL和Linda協(xié)同模型相結(jié)合,為開放的分布式系統(tǒng)信息的發(fā)布與檢索提供了一個中間件,作為多個Agent交流的平臺。具體來說,它是在Linda基礎(chǔ)上經(jīng)過以下三個方面的擴展: 元組類型、協(xié)同原語和匹配機制。
3.1 元組類型
3.1.1 空節(jié)點
在RDF(S)中空節(jié)點又稱為匿名資源??展?jié)點標(biāo)識符可用于標(biāo)記一個RDF圖所對對應(yīng)的一個或多個聲明中多次出現(xiàn)的相同的匿名資源。在OWL DL中沒有顯式的使用空節(jié)點的概念。由于OWL DL允許定義匿名本體、匿名類、匿名個體以及特殊的枚舉數(shù)據(jù)類型。當(dāng)OWL DL文檔使用抽象語法描述,轉(zhuǎn)換成具體的交換語法RDF/XML的時候,需要使用轉(zhuǎn)換規(guī)則將其轉(zhuǎn)換成三元組的形式。若抽象語法中存在匿名本體、匿名類、匿名個體或枚舉數(shù)據(jù)類型,就要借助空節(jié)點,才能順利的將其轉(zhuǎn)換成三元組。
在RDF(S)中空節(jié)點可表示任何無法全局引用的匿名資源,而OWL DL中,空節(jié)點只能用于匿名本體、匿名類、匿名個體以及特殊的數(shù)據(jù)類型。因此對于空節(jié)點這種特殊的元組域類型在AccSTuple本體中分別用asts:RDFsBlankNode和asts:OWLBlankNode表示。
3.1.2 集合
在RDF(S)中,集合是由一組資源所組成的封閉集合,一個集合的所有成員都在這組資源中,集合在RDF圖中使用列表(List)的結(jié)構(gòu)表示,可以使用內(nèi)置的RDF詞匯表示列表結(jié)構(gòu)。 在OWL DL中集合通常作為其它定義的一部分,只能隱式的出現(xiàn),沒有全局URI引用,通過空節(jié)點標(biāo)識符作為其局部引用
在OWL DL中使用屬性:owl:distinctMembers、owl:intersectionOf、owl:unionOf以及owl:oneOf時,要使用集合作為其值。當(dāng)使用關(guān)系owl:oneOf定義枚舉類時,關(guān)系的值是一組由個體組成的封閉集合。同樣,使用owl:oneOf定義OWL中特殊的數(shù)據(jù)類型——枚舉數(shù)據(jù)類型時,關(guān)系的值是一組由字面常量(literal)組成的封閉集合。在OWL中提供了一種特殊的內(nèi)置類owl:AllDifferent,該類中的所有個體都是互不相同的,而這些個體組成了一個封閉的集合,必須通過內(nèi)置的屬性owl:distinctMembers定義該類的實例,將這個實例與一組互不相同的個體的集合關(guān)聯(lián)起來。
在OWL DL中增加了更多的詞匯用于描述領(lǐng)域中的類、屬性、個體、以及它們之間的關(guān)系,因此使用OWL DL可以定義更加復(fù)雜的類,具有值約束和(或)基數(shù)約束的屬性以及更加豐富的數(shù)據(jù)類型等,相應(yīng)的增加了許多新的OWL元組域類型。
3.2 協(xié)同原語
AccSTuple不僅可以對具有語義信息的OWL元組進行操作,還可以對已有的普通數(shù)據(jù)元組、XML元組以及RDF(S)元組進行操作,所以Linda中定義的out、rd、in以及semantic tuplespace[6-7]中定義的outr、rdr、inr原語在AccSTuple中依然適用。在AccSTuple中,引入了具有更強語義的OWL元組以及與之相對應(yīng)的新的協(xié)同原語和匹配方法。由于OWL元組也可以使用三元組
3.2.1 ia
將OWL元組添加進信息視圖,即在信息視圖斷言O(shè)WL元組所包含的信息是正確的,在AccSTuple中定義了原語ia:
ia: (s, p, o, id)→boolean
ia: (OWLSubSpace)→boolean.
從信息視圖添加OWL元組要檢測元組與本體的一致性,不符合本體要求的元組將被拒絕添加到語義元組空間中。無論是用OWL DL抽象語法還是RDF/XML交換語法,將一個定義轉(zhuǎn)換成三元組的形式時可能只包含單個三元組,也可能對應(yīng)一組相關(guān)聯(lián)的三元組。若只包含一個元組時,需要對該類進行實例化。每一個類在實例化后都攜帶一個真值,當(dāng)它們都實例化后,將這些真值與操作后的結(jié)果返還給信息提供者,如果為true,則表示斷言O(shè)WL元組所包含的信息是正確的,否則拒絕將OWL元組添加進入信息視圖并返還一個1。很顯然這些真值只在信息視圖中有效,它們作為OWL元組在信息視圖下的一個屬性,用于和數(shù)據(jù)視圖中的OWL元組相區(qū)別。若對應(yīng)一組相關(guān)聯(lián)的三元組,以asts:OWLSubspace的形式將這組具有語義關(guān)聯(lián)的OWL元組整體添加進AccSTuple中,并要求這組三元組中的每個元組都是滿足要求的的,否則OWLSubspace中的所有內(nèi)容將全部被拒絕添加。
3.2.2 sir和mir
從信息視圖中讀出一個基于領(lǐng)域本體的與指定的模板語義相匹配的OWL元組,定義了以下原語:
sir: (s, p, o, id) →OWLSubSpace
通過sir操作可以從信息視圖中讀出一個基于領(lǐng)域本體的與指定模板語義相匹配的OWL元組。使用者通過指定的模板執(zhí)行sir操作時可能得到的是一組相關(guān)聯(lián)的三元組,而這組三元組使用同一個標(biāo)識符作為主節(jié)點(對應(yīng)RDF圖中的主節(jié)點)。因此sir操作的返回結(jié)果以asts:OWLSubspace的形式出現(xiàn),它可能只包含一個的元組也可能包含一組相關(guān)聯(lián)的元組。使用sir從AccSTuple中讀出元組后,該元組在信息視圖上依然存在。
為了解決Linda中的多讀問題,在AccSTuple中定義了以下原語:
mir: (s, p, o) →LocalOWLSpace.
由于非破壞性讀操作執(zhí)行完后,元組依然在元組空間中,因而從信息視圖中非破壞性地讀取一個或多個元組時,對數(shù)據(jù)視圖不產(chǎn)生影響;同樣,從數(shù)據(jù)視圖非破壞性地讀取元組對信息視圖也不產(chǎn)生影響。
3.2.3 dig
從信息視圖中基于本體庫中的相關(guān)領(lǐng)域本體,破壞性的讀取語義匹配的OWL元組可以使用以下原語:
dig: (s, p, o, id)→OWLSubSpace.
從信息視圖中添加的所有元組都聲稱其所包含的信息是正確的,dig只是將它們從信息視圖中刪除,但是在數(shù)據(jù)視圖中相對應(yīng)的OWL元組仍然是存在的。和ia操作一樣,dig也是以asts:OWLSubspace的形式將結(jié)果返還給信息消費者。
3.3 匹配機制
3.3.1 基于OWL DL語法的匹配
基于OWL DL語法的匹配相對于傳統(tǒng)的基于類型-值匹配主要區(qū)別在于前者考慮到了OWL DL的具體語法——三元組及其相關(guān)特性。OWL元組在信息元組空間中以
當(dāng)OWL DL使用語法三元組進行描述時,會出現(xiàn)RDF中的特殊概念——空節(jié)點和集合,由于它們在OWL和RDF(S)中的語義不完全相同,所以在匹配OWL元組時對于空節(jié)點和集合必須進行特殊處理。對于空節(jié)點,在AccSTuple中定義了類asts:OWLBlankNode,該類的實例ID號是局部標(biāo)識符,只在空節(jié)點所在的RDF圖中有效。因此在OWL DL中,通常將空節(jié)點作為匿名本體、匿名類、匿名個體以及特殊的枚舉數(shù)據(jù)類型的標(biāo)識符。對于具體的匹配OWL元組中的空節(jié)點,可以在模板中使用類型是asts:OWLBlankNode的變量或者通配符。AccSTuple本體中定義了類asts:OWLList用于表示在OWL DL中出現(xiàn)的集合概念。對于OWL元組和模板中集合常量之間的匹配,需將集合處理成數(shù)組數(shù)據(jù)類型,只有兩個集合中按次序?qū)?yīng)的每個元素具有相同的類型和值時,才認(rèn)為它們是完全匹配的。當(dāng)模板中出現(xiàn)的是集合變量時,只有OWL元組和模板相對應(yīng)的域的類型都是asts:OWLList就認(rèn)為是相匹配的。
3.3.2 基于OWL DL語義的匹配
OWL DL比XML,RDF以及RDF Schema具有更強的語義表達能力,它提供了更多的用于定義類、關(guān)系、個體、數(shù)據(jù)值及其關(guān)系的內(nèi)置詞匯?;谡Z義的匹配只能夠在信息視圖上進行操作,根據(jù)指定的模板基于領(lǐng)域本體以及AccSTuple本體經(jīng)過推理引擎的執(zhí)行產(chǎn)生語義匹配的信息。在基于語義的匹配中,OWL元組和模板的域s,p和o不再僅僅認(rèn)為是對應(yīng)某個數(shù)據(jù)類型的域,它們具有對應(yīng)于本體定義中的語義。因此,在信息視圖上對于OWL元組的匹配必須能夠?qū)υM內(nèi)容所對應(yīng)的語義進行解釋。很顯然語義表達能力越強,相應(yīng)的計算資源的要求也越高,所以基于語義的匹配必須在推理能力和計算性能之間進行平衡。
對于在信息視圖中基于語義的匹配關(guān)鍵的是領(lǐng)域本體和AccSTuple本體的定義。操作原語sir和mir兼容RDF(S)元組,所以基于本體推理的匹配可以最大限度的利用信息元組空間中具有語義信息的元組(信息視圖下的RDF(S)元組和OWL元組),在描述邏輯強大推理能力的支持下,為客戶提供更加貼近需求的信息。
4 性能分析
AccSTuple中協(xié)同原語的性能測試采用Sun JDK 5.0,使用的領(lǐng)域本體http://www.biopax.org/release/biopax-level2.owl來源于BioPAX Home。
在圖4中顯示了語義協(xié)同原語ia在一次執(zhí)行過程中添加不同大小語義聲明集合的性能。從圖表中能夠發(fā)現(xiàn)ia協(xié)同原語的執(zhí)行時間隨著發(fā)布數(shù)據(jù)集的大小成線性增長。圖5顯示了以非破壞性的方式檢索出單個語義匹配元組的協(xié)同原語sir以及對應(yīng)破壞性讀操作dir的性能評估結(jié)果,從圖中能夠看到線條展示了平穩(wěn)地上升趨勢。在圖6中顯示了協(xié)同原語mir的評估結(jié)果。
圖4 ia操作性能 圖5 sir和dir操作性能 圖6 mir操作性能
參考文獻
[1] Gelernter D,Carriero N.Coordination Language and their Signicifance[J].Communications of the ACM,1992,35(2):97-107.
[2] Gelernter D.Generative communication in Linda[M]//ACM Trans Program,Lang.Syst,7(1):80-112.ACM Press,1985.
[3] Tolksdorf R,Nixon L,Liebsch F,et al.Semantic Web Spaces (Technical Report TR-B-04-11)[R].Technical report,F(xiàn)ree University of Berlin,2004.
[4] Rossi D,Cabri G,Denti E.Tuple-based technologies for coordination[M]//Omicini A,Zambonelli F,Klusch M,et al.Coordination of Internet Agents: Models,Technologies,and Applications.Springer Verlag,2001:83-109.
[5] Peter F,Schneider P,Hayes P.Ian Horrocks.OWL Web Ontology Language Semantics and Abstract Syntax[EB/OL].http://www.w3.org/TR/2004/REC-owl-semantics-20040210.
[6] Tolksdorf R,Nixon L,Bontas E P,et al.Enabling real world Semantic Web applications through a coordination middleware[C]//Proceedings of the 2nd European Conference on Semantic Web ESWC2005.Springer Verlag,2005.
[7] Tolksdorf R,Bontas E P,Nixon L.Towards a tuplespace-based middleware for the SemanticWeb[C].Proceedings of the IEEE Web Intelligence Conference WI2005,2005.