中文字幕 另类精品,亚洲欧美一区二区蜜桃,日本在线精品视频免费,孩交精品乱子片免费

<sup id="3hn2b"></sup>

    1. <sub id="3hn2b"><ol id="3hn2b"></ol></sub><legend id="3hn2b"></legend>

      1. <xmp id="3hn2b"></xmp>

      2. 新聞中心

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

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

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

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

        本文引用地址:http://www.antipu.com.cn/article/157574.htm

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


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

        評(píng)論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉