<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 手機與無(wú)線(xiàn)通信 > 設計應用 > 污水處理智能化系統的Multi-Agent通信技術(shù)與實(shí)現

污水處理智能化系統的Multi-Agent通信技術(shù)與實(shí)現

作者: 時(shí)間:2010-03-12 來(lái)源:網(wǎng)絡(luò ) 收藏

3.1 通信方式的確定
  MAS通信主要有四種連接方式:黑板模式、聯(lián)邦方式、廣播方式、點(diǎn)到點(diǎn)方式。通信傳遞方式有消息傳遞、方案傳遞兩種。本Agent之間通信前都通過(guò)Agent管理平臺提供的服務(wù)查詢(xún)機制來(lái)定位欲通信的Agent,然后兩個(gè)Agent進(jìn)行直接通信;而Agent之間傳輸的信息是互操作命令、參數和操作結果,沒(méi)有設計到方案傳遞。所以本采用的是點(diǎn)對點(diǎn)的消息傳遞通信方式。
3.2 通信策略
  本中的數據服務(wù)Agent、沖突消解Agent、故障診斷Agent分別為整個(gè)系統中的其他Agent提供數據查詢(xún)和寫(xiě)入服務(wù)、沖突識別和消解服務(wù)、故障診斷服務(wù),請求每種服務(wù)的Agent必須要先定位到服務(wù)提供者,這就要求一種服務(wù)注冊和定位機制。FIPA標準中定義了在A(yíng)gent系統中必須存在的DF(Directory Facilitator)Agent。上述三個(gè)服務(wù)提供者啟動(dòng)時(shí)就會(huì )在DF中注冊自己提供的服務(wù),如:某個(gè)執行Agent需要沖突消解服務(wù)時(shí),它會(huì )通過(guò)查詢(xún)DF來(lái)得到?jīng)_突消解Agent的通信地址和服務(wù)使用的互操作協(xié)議等信息,然后根據互操作協(xié)議規定的對話(huà)方式與協(xié)調Agent通信。
  JADE提供了默認的DF Agent,服務(wù)提供者(如數據服務(wù)Agent)欲注冊自己的服務(wù),其主要代碼如下:
  Service Description sd=new Service Description( );
          //創(chuàng )建服務(wù)描述對象,描述服務(wù)屬性
  DF Agent Description DFad=new DF Agent Description( );
          //創(chuàng )建自身描述對象,描述自身信息
  Codec language=new SLCodec( );//采用SL內容語(yǔ)言規范
  Ontology ontology=Basic Ontology.getInstance( );
          //采用基本本體語(yǔ)言構建服務(wù)描述對象
  sd.setName(getLocalName( ));
  sd.setType(″SwageDisposeDataService″);//為服務(wù)命名,其他Agent查詢(xún)服務(wù)時(shí)就用此名字
  sd.addProtocols(InteractionProtocol.FIPA_REQUEST);
          //服務(wù)所采用的互操作協(xié)議
  sd.addLanguages(language.getName( ));
  sd.addOntologies(ontology.getName( ));
         //構建自身描述對象
  DFad.addProtocols(InteractionProtocol.FIPA_REQUEST);
  DFad.addLanguages(language.getName( ));
  DFad.addOntologies(ontology.getName( ));
  DFad.setName(getAID( ));
         //使自身具有構建的服務(wù)描述對象
  DFad.addServices(sd);
  try{
    DFService.register(this,DFad);//在平臺提供的默認DF中注冊自己的服務(wù)
  }catch(FIPAException e){
         //處理異常
  }
  當沖突消解Agent需要此服務(wù)時(shí),可通過(guò)下面的代碼來(lái)搜索DF,并定位到此服務(wù)的提供者,即數據服務(wù)Agent[6]。
  …… //部分變量申明與上段代碼相同
  DFAgentDescription dfd[ ];//用于存儲提供此服務(wù)的
               //Agent描述信息(服務(wù)提供者可能不止一個(gè))
               //構建服務(wù)描述對象
  sd.setType(″SwageDisposeDataService″);
  sd.addLanguages(language.getName( ));
  sd.addOntologies(ontology.getName( ));
  sd.addProtocols(InteractionProtocol.FIPA_REQUEST);
  DFad.addServices(sd);
  try{
    dfd=DFService.search(this,DFad);//在默認DF中搜索服務(wù)提供者
  …… //與服務(wù)提供者通信
  }catch (FIPAException e){
     //處理異常
  }
3.3
  本系統Agent之間通信都采用請求互操作協(xié)議,即ACL消息的protocol參數均為fipa-request,用UML表示的該協(xié)議流程如圖3所示。

本文引用地址:http://dyxdggzs.com/article/157574.htm

  Agent提供服務(wù)所需的參數和操作結果都包含在A(yíng)CL消息的content參數中。
3.4 通信內容
  在本系統中,Agent之間的通信內容是封裝在自定義的CSO(Communication Seriable Object)類(lèi)中,通過(guò)JADE提供的串行化接口,可將CSO對象作為ACL消息的content參數在任意Agent之間傳遞,能達到很好的可擴展效果。CSO的類(lèi)結構如下:
  public class CSO implements Serializable {
   private String[ ] arg;//服務(wù)參數
   private float[ ] value;//服務(wù)結果
   private String comment;//注釋
  ……
  }
  系統中的數據服務(wù)Agent提供數據查詢(xún)和數據寫(xiě)入服務(wù),它根據服務(wù)使用者在CSO.arg[ ]中傳送的參數進(jìn)行實(shí)時(shí)數據庫操作,并將查詢(xún)結果存儲在CSO.value[ ]中返回給請求者。沖突消解Agent接收執行Agent的沖突識別請求(此請求不帶參數),并根據沖突識別算法的需要請求數據服務(wù)Agent的數據查詢(xún)服務(wù)或故障診斷Agent的故障診斷服務(wù),將消解結果命令或無(wú)沖突命令存放于CSO.arg[0]中,再向執行Agent傳送。故障診斷Agent向沖突消解Agent提供故障診斷服務(wù)時(shí)也需要從CSO.arg[ ]中獲取參數,并將診斷結果存放于CSO.value[ ]中,以表明請求診斷的故障是否出現。
  本文基于FIPA-ACL提出了系統的,確定了其通信方式、通信策略與,并給出了JADE 3.1軟件開(kāi)發(fā)平臺上的方法。


上一頁(yè) 1 2 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>