《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 業(yè)界動(dòng)態(tài) > 基于本體和會(huì)話(huà)策略的多主體交互協(xié)議描述方法

基于本體和會(huì)話(huà)策略的多主體交互協(xié)議描述方法

2009-06-03
作者:姚永雷, 馬 利

  摘 要:? 提出一種基于會(huì)話(huà)策略的多主體交互協(xié)議描述方法。交互協(xié)議中的消息用言語(yǔ)動(dòng)作來(lái)表示,這些言語(yǔ)動(dòng)作被描述為WS-Agreement的schema;會(huì)話(huà)策略則描述了消息傳遞的流程以及交互過(guò)程中的上下文信息,如參與者屬性、時(shí)間閾值等等,所有這些會(huì)話(huà)策略組成了一個(gè)多主體交互協(xié)議;采用本體描述語(yǔ)言O(shè)WL作為會(huì)話(huà)策略的表示語(yǔ)言。這種方法使得主體在一個(gè)開(kāi)放、動(dòng)態(tài)的環(huán)境中可以靈活地選擇交互協(xié)議。
  關(guān)鍵詞: 多主體系統(tǒng); 交互協(xié)議; 本體; 會(huì)話(huà)策略

?

  多主體系統(tǒng)MAS(Multi-Agent System)由一組相對(duì)自治的主體組成。交互是多主體系統(tǒng)的一個(gè)基本特性,使得多主體系統(tǒng)表現(xiàn)出了任何單個(gè)主體都不具有的復(fù)雜行為。主體交互的一個(gè)非常有效的方式是會(huì)話(huà),會(huì)話(huà)是多主體系統(tǒng)中主體合作活動(dòng)的基石。為了結(jié)構(gòu)化主體間的會(huì)話(huà)過(guò)程,有關(guān)交互協(xié)議的研究熱情日益高漲。
  主體使用結(jié)構(gòu)化主體通信語(yǔ)言ACL(Agent Communication Language)進(jìn)行通信。許多基于言語(yǔ)動(dòng)作的ACL已經(jīng)研究出來(lái),如KQML[1]、FIPA ACL[2],但是決定何時(shí)使用交互協(xié)議、傳遞什么信息以及如何描述會(huì)話(huà)結(jié)構(gòu)等問(wèn)題還是留給了多主體系統(tǒng)的設(shè)計(jì)者。對(duì)于封閉的多主體系統(tǒng),可以直接編碼,因?yàn)橄到y(tǒng)中用到的交互協(xié)議都可以事先預(yù)料并設(shè)計(jì)好。隨著多主體系統(tǒng)理論和實(shí)踐研究的日益深入,多主體系統(tǒng)和Internet平臺(tái)的融合趨勢(shì)日益明顯。在Internet這樣一個(gè)開(kāi)放、動(dòng)態(tài)環(huán)境中,主體之間的交互是一件復(fù)雜而困難的事情,每個(gè)主體對(duì)于交互(Interaction)都有著不同的理解和不同的要求。而且,根本無(wú)法預(yù)料到所有的交互協(xié)議,因?yàn)橛泻芏嗲闆r都會(huì)產(chǎn)生新的交互協(xié)議,如新實(shí)體的加入、新服務(wù)的加入等。顯而易見(jiàn):任何一個(gè)特定的交互協(xié)議都無(wú)法適用于所有的場(chǎng)景,滿(mǎn)足所有主體的需求。
  針對(duì)這一問(wèn)題,本文提出一種開(kāi)放多主體系統(tǒng)交互協(xié)議的表示方法,用描述性的語(yǔ)言表示多主體交互協(xié)議。交互協(xié)議中的消息用言語(yǔ)動(dòng)作表示,這些言語(yǔ)動(dòng)作被描述為WS-Agreement的schema;會(huì)話(huà)策略則描述了消息傳遞的流程以及交互過(guò)程中的上下文信息,如參與者屬性、時(shí)間閾值等,所有這些會(huì)話(huà)策略就組成了一個(gè)多主體交互協(xié)議;采用本體描述語(yǔ)言O(shè)WL作為會(huì)話(huà)策略的描述語(yǔ)言。因此從形式上,一個(gè)主體交互協(xié)議就是一些用OWL語(yǔ)言表示的會(huì)話(huà)策略。利用這種方法,擔(dān)當(dāng)服務(wù)提供者角色的主體使用OWL描述并發(fā)布與自己交互的協(xié)議,即若干會(huì)話(huà)策略;而對(duì)服務(wù)請(qǐng)求者的主體來(lái)說(shuō),只要能夠理解這些基于OWL的會(huì)話(huà)策略,就可以與之進(jìn)行交互。基于OWL的描述特性,主體的通信模塊與交互協(xié)議的耦合度大大降低,主體可以根據(jù)自己的需求發(fā)布任何形式的交互協(xié)議,而其他主體可以參加任何形式的交互(只要它能夠理解其他主體的協(xié)議描述語(yǔ)言),不僅極大地提高了靈活性,而且簡(jiǎn)化了軟件主體的結(jié)構(gòu)。
1 消息描述
  為了定義一個(gè)多主體交互協(xié)議,一方面必須定義消息的表示方法,因?yàn)橄⑹墙换ミ^(guò)程中基本的信息單元。在FIPA的言語(yǔ)動(dòng)作庫(kù)[3]中規(guī)定了一些基本的言語(yǔ)動(dòng)作,如request、propose、accept、reject等,語(yǔ)義豐富而靈活,能夠支持主體之間的靈活交互。另一方面,WS-Agreement[4]是一種基于XML的語(yǔ)言,具有描述性的特點(diǎn)。因此,本文擴(kuò)展WS-Agreement的Schema已包括這些言語(yǔ)動(dòng)作,用這些言語(yǔ)動(dòng)作表示一個(gè)多主體交互協(xié)議中的個(gè)體消息。
邏輯上,一個(gè)消息的結(jié)構(gòu)為:
  Message = Speech Act (sender, receiver, proposal)
  Speech Act定義了消息的類(lèi)型,表達(dá)了消息的意圖。言語(yǔ)動(dòng)作是根據(jù)消息的語(yǔ)義來(lái)劃分的,交互協(xié)議就是由這些基本的言語(yǔ)動(dòng)作組合而成的。sender和receiver表示了這個(gè)言語(yǔ)動(dòng)作的參與者;proposal則是這個(gè)言語(yǔ)動(dòng)作的內(nèi)容,描述了sender對(duì)服務(wù)的期望。
  可以用擴(kuò)展WS-Agreement的Schema來(lái)表示這些言語(yǔ)動(dòng)作。例如,offer消息是一個(gè)“take-it-or-leave-it”的提議,接收者或者接受這個(gè)提議,或者拒絕,而不能回應(yīng)另一個(gè)提議。一個(gè)offer消息類(lèi)型可以表示為:
  

  其中,Speech Act規(guī)定了消息的語(yǔ)義;而Wsag:Terms這個(gè)tag則封裝了主體交互過(guò)程中的一個(gè)提議,表達(dá)了對(duì)服務(wù)的期望。
  其他Speech act可以以同樣的方式予以定義。
2 交互協(xié)議描述
  在主體交互過(guò)程中,為了進(jìn)行有組織的信息交換,僅僅定義個(gè)體消息是不夠的,還必須定義主體交互過(guò)程中的消息傳遞流程以及交互的上下文信息,即主體交互協(xié)議。形式上,一個(gè)多主體交互協(xié)議就是一個(gè)會(huì)話(huà)的過(guò)程,本文采用會(huì)話(huà)策略來(lái)描述這些多主體交互協(xié)議。
  會(huì)話(huà)是多個(gè)主體為了達(dá)到一定的目標(biāo)而交換的言語(yǔ)動(dòng)作序列。為了使會(huì)話(huà)有意義,會(huì)話(huà)必須遵守一定的規(guī)約:(1)必須規(guī)定言語(yǔ)動(dòng)作的交換順序,例如,當(dāng)收到一個(gè)Request消息,可以回應(yīng)一個(gè)Accept或者Reject消息;(2)必須規(guī)范會(huì)話(huà)的上下文信息,如消息的內(nèi)容、通信動(dòng)作的發(fā)送者和接收者的屬性、時(shí)間約束等。而會(huì)話(huà)策略[5]則是一些描述性的規(guī)約,這些規(guī)約起著約束主體之間消息交換的作用,并且對(duì)所有參與者公開(kāi)。更確切地講,一個(gè)會(huì)話(huà)策略就是一個(gè)細(xì)粒度的約束集合,針對(duì)主體會(huì)話(huà)的某一特定方面。這些約束是公開(kāi)的、共享的和標(biāo)準(zhǔn)的,并能以不同的方式組合。不同的會(huì)話(huà)適用不同的策略集合。當(dāng)主體為了交互而同意遵守某些會(huì)話(huà)策略時(shí),也就意味著它們接受這些約束集合來(lái)管理它們之間的交互。
  策略規(guī)則是策略的基本單元。一個(gè)策略規(guī)則表示為參與交互的主體特定條件下被允許(permission)、禁止(prohibition)或強(qiáng)制(obligation)發(fā)送的言語(yǔ)動(dòng)作,其邏輯結(jié)構(gòu)表示為:
  Deontic(Actor,Speech Act,Conditions)
  其中,Deontic表示了允許、禁止或強(qiáng)制等概念;Actor是策略規(guī)則的約束對(duì)象,Speech Act是被約束對(duì)象的動(dòng)作;Conditions表示Actor能夠發(fā)送Speech Act的前置條件。例如,一個(gè)策略規(guī)則“任何一方在收到對(duì)方的accept消息后,必須回應(yīng)一個(gè)Acknowledge消息”,可以表示為:
  Obligation(X, Acknowledge(X, Y, Proposal), Y. Accepted)
  其中,X、Y是兩個(gè)變量,分別表示Acknowledge這個(gè)Speech Act的發(fā)送者和接收者;Y. Accepted表示當(dāng)前狀態(tài)是Y接受了X的一個(gè)提議。
  一個(gè)會(huì)話(huà)策略是一個(gè)策略規(guī)則的集合,通常對(duì)應(yīng)主體交互過(guò)程中的某一方面的全部或部分特征,如終止、同步、異常處理,等等;這也符合“一個(gè)會(huì)話(huà)策略就是一個(gè)細(xì)粒度的約束集合”的概念。所有描述多主體交互過(guò)程的會(huì)話(huà)策略共同定義了一個(gè)多主體交互協(xié)議。
  一個(gè)策略的邏輯結(jié)構(gòu)如下所示:
  CP= Operator {r1,r2,…,rn}
  其中,Operator是一個(gè)邏輯操作符。如果Operator是“All”,則所有策略規(guī)則都生效;如果Operator是“ExactlyOne”,則只有一個(gè)策略規(guī)則生效;如果Operator是“OneOrMore”,則至少一個(gè)規(guī)則生效;ri是一個(gè)策略規(guī)則。
  采用本體語(yǔ)言O(shè)WL作為會(huì)話(huà)策略的描述語(yǔ)言,會(huì)話(huà)策略相關(guān)的概念被定義為OWL的class,所有class組成一個(gè)本體。會(huì)話(huà)策略上層本體如圖1所示。

?

  Policy,即會(huì)話(huà)策略,定義了對(duì)主體交互過(guò)程的某些約束。一個(gè)Policy可能包含多個(gè)策略規(guī)則,并且用“All”、“ExactlyOne”和“OneOrMore”等邏輯操作符組合成這些策略規(guī)則;
  一個(gè)策略規(guī)則就是一個(gè)Deontic concept,定義了特定條件下某個(gè)主體被允許(Permission)、禁止(Prohibition)或強(qiáng)制(Obligation)發(fā)出的Speech Act,其邏輯結(jié)構(gòu)是一個(gè)“Condition-action”的聲明。一個(gè)策略規(guī)則可能具有一個(gè)優(yōu)先級(jí)屬性,用以解決可能發(fā)生的沖突;而且,Actor可以是一個(gè)變量;
  Speech Act定義了一個(gè)發(fā)送消息的行為: Performative表征了消息的語(yǔ)義,Sender和Receiver表示參與者,Proposal表示消息的內(nèi)容并且由特定的領(lǐng)域本體來(lái)描述,而Grounding將這個(gè)Speech Act映射到一個(gè)具體的用WS-agreement schema定義的消息。根據(jù)具體需要,可以將Propose、Accept、Reject、Inform等具體的言語(yǔ)行為定義為Speech Act的子類(lèi)
  Condition定義了行動(dòng)的前置條件,其邏輯形式是一個(gè)(Subject,Predicate,Object)的三元組。比如,條件“Mike是電子工程系的學(xué)生”定義為(Mike,StudentOf,EE)。
3 示例:FIPA提議協(xié)議
  作為一個(gè)示例,用基于本體和會(huì)話(huà)策略的方法來(lái)描述FIPA提議協(xié)議(FIPA Propose Protocol),如圖2所示。


  主體Initiator向主體Participant發(fā)送一個(gè)Propose消息,而Participant可以回應(yīng)一個(gè)Accept或者Reject消息。這三個(gè)消息都可以用WS-Agreement schema來(lái)定義,如第2節(jié)所述。
  對(duì)圖1的上層本體進(jìn)行擴(kuò)展,將Propose、Accept和Reject三個(gè)言語(yǔ)行為定義為類(lèi)Speech Act的子類(lèi)。則FIPA提議協(xié)議可以用同步策略和終止策略來(lái)表示。
3.1 同步策略
  Permission (Initiator, Propose (Initiator, Participant, Proposal),-);
  Obligation (Participant, Speech Act, Initiator.proposed);
  Permission (Participant, Reject-proposal (Participant, Initiator, Proposal), Initiator.proposed);
  Permission (Participant, Accept-proposal (Participant, Initiator, Proposal), Initiator.proposed);
  這個(gè)策略包括4條策略規(guī)則,用and操作符連接:
  (1) 主體Initiator隨時(shí)可以給主體Participant發(fā)送Propose消息;
  (2) 主體Participant收到Propose消息后必須回應(yīng);
  (3) 主體Participant收到Propose消息后可以回應(yīng)Accept消息;
  (4) 主體Participant收到Propose消息后可以回應(yīng)Reject消息。
3.2? 終止策略
  Prohibition (Participant, Speech Act, Participant.rejected);
  Prohibition (Participant, Speech Act, Participant.rejected);
  Prohibition (Initiator, Speech Act, Participant.rejected);
  Prohibition (Initiator, Speech Act, Participant.accepted);
  這個(gè)策略同樣包含4個(gè)規(guī)則,用and操作符聯(lián)結(jié):
  (1) 主體Participant發(fā)送Reject消息后不能再發(fā)送消息;
  (2) 主體Participant發(fā)送Accept消息后不能再發(fā)送消息;
  (3) 主體Initiator收到Accept消息后不能再發(fā)送消息,會(huì)話(huà)過(guò)程終止;
  (4) 主體Initiator收到Reject消息后不能再發(fā)送消息,會(huì)話(huà)過(guò)程終止。
  主體Initiator使用OWL語(yǔ)言描述這兩個(gè)會(huì)話(huà)策略,即描述這個(gè)提議協(xié)議(由于篇幅所限,本文不再給出協(xié)議的OWL表示),并發(fā)布出去。任何一個(gè)其他主體,只要能夠理解OWL,就可以通過(guò)這個(gè)提議協(xié)議和Initiator進(jìn)行交互。
研究人員在多主交互協(xié)議方面已經(jīng)作了大量工作,取得了許多有代表性的階段性成果[6-7]。
  隨著多主體系統(tǒng)和互聯(lián)網(wǎng)平臺(tái)的融合[8],需要一種全新的方法,在互聯(lián)網(wǎng)這樣一個(gè)開(kāi)放、動(dòng)態(tài)環(huán)境中描述多主體協(xié)議, 使得主體能夠靈活地參與多種形式的交互。本文用描述性的方法來(lái)表示一個(gè)主體交互協(xié)議。交互協(xié)議中的個(gè)體消息被表示為WS-agreement Schema,交互協(xié)議則被描述為一個(gè)會(huì)話(huà)策略集合,采用描述性的本體語(yǔ)言O(shè)WL作為會(huì)話(huà)策略的表示語(yǔ)言,將主體的內(nèi)部結(jié)構(gòu)和具體的交互協(xié)議完全解耦合。主體可以自由地選擇、發(fā)布交互協(xié)議,使得主體間的交互具有最大限度的靈活性。


參考文獻(xiàn)
[1]?GENESERETH M R, KETCHPEL S P. Software agents[J], Comm. of the ACM, 1994, 37(7): 49-53.
[2] ?FIPA. FIPA agent communication language specifications.?http://www.fipa.org/repository/aclspecs.html, 1998.
[3]? FIPA. FIPA communicative act library specification.www.fipa.org/specs/fipa00037/SC00037J.pdf, 2002.
[4]? ANDRIEUX A, CZAJKOWSKI C, DAN A, et al. Web?services agreement specification(WS-Agreement), June?29th 2005.
[5]? ?GREAVES M, HOLMBACK H, BRADSHAW J. What is a ?conversation policy[C]. Autonomous Agents ’99 Workshop?on Specifying and Implementing Conversation Policies,1999.
[6]? 趙志崑,盛秋戩,高翔,等. 多主體交互協(xié)議的表示和實(shí)現(xiàn)[J]. 計(jì)算機(jī)工程與應(yīng)用,2004(24):8-11.
[7]? 楊建池,張新宇,黃柯棣. 本體論在A(yíng)gent 間通信中的應(yīng)用[J]. 系統(tǒng)仿真學(xué)報(bào), 2007,19(6):1199-1201.
[8] ?伍春暉,龔正虎. Web服務(wù)與Agent技術(shù)結(jié)合的研究[J].微處理機(jī), 2006,27(4):96-98.

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀(guān)點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無(wú)法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問(wèn)題,請(qǐng)及時(shí)通過(guò)電子郵件或電話(huà)通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話(huà):010-82306118;郵箱:aet@chinaaet.com。