污水處理智能化系統(tǒng)的Multi-Agent通信技術(shù)與實(shí)現(xiàn)
1 基于Multi-Agent的污水處理分布式智能化系統(tǒng)
基于Multi-Agent的污水處理智能化系統(tǒng)模型結(jié)構(gòu)如圖1所示。系統(tǒng)中每個(gè)Agent根據(jù)環(huán)境信息完成各自承擔(dān)的工作,多個(gè)Agent分工協(xié)作,形成一個(gè)有組織、有秩序的群體,共同完成特定的任務(wù)。本文引用地址:http://www.ex-cimer.com/article/157574.htm
執(zhí)行Agent位于現(xiàn)場(chǎng)層,實(shí)現(xiàn)參數(shù)采集及現(xiàn)場(chǎng)控制的功能;沖突消解Agent是該智能化系統(tǒng)的核心,其功能是通過對(duì)任務(wù)規(guī)劃信息、故障信息、系統(tǒng)狀態(tài)信息以及其他Agent的協(xié)作請(qǐng)求信息等的融合,對(duì) Agent行為所產(chǎn)生的沖突進(jìn)行消解;數(shù)據(jù)服務(wù)Agent的功能是為其他Agent提供統(tǒng)一、靈活的訪問實(shí)時(shí)數(shù)據(jù)庫的接口;軟測(cè)量Agent的功能是通過易測(cè)變量與難測(cè)變量之間的數(shù)學(xué)關(guān)系,實(shí)現(xiàn)難測(cè)變量的測(cè)量;故障診斷Agent是一個(gè)專家系統(tǒng),可對(duì)污泥膨脹、污泥解絮、曝氣池泡沫等故障現(xiàn)象進(jìn)行診斷,并提出解決對(duì)策。
Agent間相互交換信息、進(jìn)行協(xié)調(diào)或合作、解決超出單個(gè)Agent能力或知識(shí)的問題,并真正具有社會(huì)性的關(guān)鍵是Agent間可以通信。因此, Agent通信是Multi-Agent系統(tǒng)研究的重要問題之一。
2 MAS的通信語言
Agent通信語言(Agent Communication Language,ACL)提供了Agent之間交換信息和知識(shí)的工具,使Agent之間相互作用達(dá)到求解問題的目的。ACL使Agent通信建立在知識(shí)級(jí)別(Knowledge Level)上,從而使Agent間的通信效率大大高于傳統(tǒng)的分布式計(jì)算中的通信。
目前主要有兩種ACL,一種是1993年美國(guó)ARPA的KSE 研究小組提出的KQML(Knowledge Query and Manipulation Language);另一種是1997年歐洲的FIPA(Foundation for Intelligent Physical Agents)協(xié)會(huì)制定的開放性標(biāo)準(zhǔn)FIPA-ACL。FIPA標(biāo)準(zhǔn)由一系列規(guī)范組成,用于規(guī)范一個(gè)應(yīng)用程序內(nèi)部Agent之間和不同應(yīng)用程序Agent之間的互操作,并對(duì)多Agent應(yīng)用程序互操作中相應(yīng)的功能模塊進(jìn)行標(biāo)準(zhǔn)化。由于FIPA-ACL在構(gòu)建新的原語方面具有很強(qiáng)的能力,并且采用SL(Semantic Language)作為它的內(nèi)容語言來描述Agent的狀態(tài),所以,F(xiàn)IPA-ACL有逐漸代替KQML的趨勢(shì)。
2.1 FIPA-ACL的系統(tǒng)組成
FIPA標(biāo)準(zhǔn)由一系列規(guī)范組成,每個(gè)規(guī)范對(duì)多Agent應(yīng)用程序互操作中相應(yīng)的功能模塊進(jìn)行標(biāo)準(zhǔn)化。FIPA-ACL規(guī)范集合在整個(gè)FIPA規(guī)范中的位置及其內(nèi)部的功能規(guī)范組成結(jié)構(gòu)如圖2所示。
由圖2可見,F(xiàn)IPA-ACL規(guī)范集合是整個(gè)FIPA標(biāo)準(zhǔn)中極其重要的組成部分,它與Agent管理規(guī)范集合、Agent消息傳輸規(guī)范集合構(gòu)成了FIPA標(biāo)準(zhǔn)的主體部分。Interaction Protocols規(guī)范集合定義了FIPA-ACL可采用的互操作協(xié)議(如請(qǐng)求互操作協(xié)議);Communicative Acts規(guī)范集合則將Agent在使用FIPA-ACL進(jìn)行通信過程中的各種語言行為單元(如:request、agree、refuse等)規(guī)范為一個(gè)CAL(Communicative Acts Library)庫規(guī)范;Content Languages規(guī)范集合定義了應(yīng)用在FIPA-ACL消息的內(nèi)容上不同的表示方式(如:SL),它們可提供不同標(biāo)準(zhǔn)的編碼形式。
2.2 FIPA-ACL通信機(jī)制
Agent之間的通信是通過構(gòu)造、封裝、傳輸ACL消息進(jìn)行的,ACL消息的主要結(jié)構(gòu)如表1所示。
Agent A為了和Agent B進(jìn)行通信,首先應(yīng)該構(gòu)建ACL消息。如果B提供的服務(wù)應(yīng)采用請(qǐng)求互操作協(xié)議,則ACL的Protocol參數(shù)就設(shè)為fipa-request。A是此次互操作對(duì)話的發(fā)起者,它與B的第一次通信應(yīng)視為請(qǐng)求互操作協(xié)議的第一個(gè)請(qǐng)求動(dòng)作,這在CAL庫規(guī)范中描述為request行為,所以ACL的performative參數(shù)應(yīng)為request。封裝好整個(gè)ACL消息后,Agent A選用適當(dāng)?shù)木幋a方式將其編碼,形成有效載荷(Payload),然后再添加信封,信封中包含A和B進(jìn)行通信所使用協(xié)議對(duì)應(yīng)的協(xié)議地址。最后,A采用此傳輸協(xié)議將信息傳送給Agent B。Agent B收到A發(fā)送的消息并根據(jù)消息具體的內(nèi)容加以判斷后,按照請(qǐng)求互操作協(xié)議所規(guī)定的操作流程對(duì)A進(jìn)行回答。
3 系統(tǒng)的通信技術(shù)與實(shí)現(xiàn)
基于FIPA-ACL的污水處理Multi-Agent智能化系統(tǒng)是在開源Java項(xiàng)目JADE(Java Agent Development Framework)提供的多Agent平臺(tái)上實(shí)現(xiàn)的。JADE完全符合FIPA標(biāo)準(zhǔn),為多Agent系統(tǒng)的開發(fā)者提供了一個(gè)功能強(qiáng)大的開發(fā)框架,使開發(fā)者無需親自從頭實(shí)現(xiàn)FIPA的具體規(guī)范就能開發(fā)出符合FIPA標(biāo)準(zhǔn)的多Agent系統(tǒng)。
評(píng)論