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

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

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

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

?

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

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

?

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


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


參考文獻
[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é)議的表示和實現(xiàn)[J]. 計算機工程與應用,2004(24):8-11.
[7]? 楊建池,張新宇,黃柯棣. 本體論在Agent 間通信中的應用[J]. 系統(tǒng)仿真學報, 2007,19(6):1199-1201.
[8] ?伍春暉,龔正虎. Web服務與Agent技術結(jié)合的研究[J].微處理機, 2006,27(4):96-98.

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