靈魂-放水

          為學(xué)日益,為道日損。

          BlogJava 首頁(yè) 新隨筆 聯(lián)系 聚合 管理
            296 Posts :: 10 Stories :: 274 Comments :: 0 Trackbacks

          移動(dòng) Agent 平臺(tái)的互操作性研究

          ?

          (**大學(xué)**實(shí)驗(yàn)室,**

          ?

          摘要: 移動(dòng) Agent 平臺(tái)的異構(gòu)性,使得不同平臺(tái)間難以實(shí)行互操作。文章淺層次的分析了移動(dòng)代理系統(tǒng)互操作性有關(guān)的 CORBA MASIF FIPA 規(guī)范。

          關(guān)鍵詞: 移動(dòng) Agent ,互操作性, CORBA MASIF FIPA

          ?

          1 引言

          移動(dòng) Agent 是結(jié)合了 Agent 的一種新型分布計(jì)算技術(shù),由于它的智能性、移動(dòng)性、自主性和協(xié)作性,已在信息檢索、移動(dòng)計(jì)算、電子商務(wù)及網(wǎng)絡(luò)管理等方面得到一定的應(yīng)用。許多公司和研究機(jī)構(gòu)都發(fā)布了各自的移動(dòng) Agent 平臺(tái),如 IBM Aglets Dartmouth College AgentTcl, Stuttgart University Mole, ObjectSpace Voyager 等等。由于這些平臺(tái)在體系結(jié)構(gòu)和實(shí)現(xiàn)上有較大差異,無法實(shí)現(xiàn)互操作,已成為限制移動(dòng) Agent 廣泛應(yīng)用的主要原因之一。為此, OMG 組織已經(jīng)開展有關(guān)移動(dòng) Agent 的標(biāo)準(zhǔn)化工作,并提出移動(dòng) Agent 互操作機(jī)制標(biāo)準(zhǔn) MASIF 。本文分析了在解決互操作問題上的相關(guān)技術(shù)。

          2 相關(guān)理論或技術(shù)基礎(chǔ)

          2.1 移動(dòng)Agent技術(shù)介紹

          2.1.1 ? 軟件 Agent

          軟件 Agent是運(yùn)行于動(dòng)態(tài)環(huán)境的、具有高度自治能力的實(shí)體,它能夠接受其它實(shí)體的委托并為之服務(wù)。不難看出,軟件Agent首先具有智能特性,它對(duì)環(huán)境有響應(yīng)性、自主性和主動(dòng)性;同時(shí),軟件Agent還具有社會(huì)特性。

          自主性(Autonomy):軟件Agent在運(yùn)行過程中不直接由人或其它主體控制,它能在沒有與環(huán)境相互作用的情況下自主執(zhí)行任務(wù),對(duì)自己的行為和內(nèi)部狀態(tài)有一定的控制權(quán)。自主性是軟件Agent區(qū)別于普通軟件程序的基本特征。

          響應(yīng)性(Reactivity):軟件Agent能對(duì)來自環(huán)境的信息做出適當(dāng)?shù)捻憫?yīng),它能感知所處的環(huán)境,并能通過自己的行為改變環(huán)境。

          自動(dòng)性(Proactivity):傳統(tǒng)應(yīng)用程序接受用戶指令被動(dòng)執(zhí)行,而Agent不僅能對(duì)環(huán)境變化做出反應(yīng),更重要的是能在特定情況下采取主動(dòng)行為。

          推理性(Reasoning):軟件Agent可根據(jù)已有的知識(shí)和經(jīng)驗(yàn),以推理的方式進(jìn)行推理。軟件Agent的智能由3個(gè)主要部件來完成,即內(nèi)部知識(shí)庫(kù)、自適應(yīng)能力以及基于知識(shí)庫(kù)的推理能力。

          通信/合作/協(xié)作(Communication/Cooperation):這是在軟件Agent群體中應(yīng)該具有的社會(huì)屬性。

          2.1.2 移動(dòng) Agent

          移動(dòng) Agent 技術(shù)是目前計(jì)算機(jī)科學(xué)領(lǐng)域中非常重要的研究技術(shù)之一。移動(dòng)代理( Mobile Agent )是一個(gè)代替人或其它程序執(zhí)行某種任務(wù)的程序,它在異構(gòu)網(wǎng)絡(luò)環(huán)境中自主地從一臺(tái)主機(jī)遷到另一臺(tái)主機(jī),并可以和 Agent 或其它軟件資源交互的實(shí)體。 移動(dòng)Agent是一種特殊類型的軟件Agent,它除了具有軟件Agent的基本特性-自主性、響應(yīng)性、主動(dòng)性和推理性外,還具有移動(dòng)性。在移動(dòng)過程中能夠根據(jù)要求掛起,然后轉(zhuǎn)移到網(wǎng)絡(luò)的其它地方重新開始或繼續(xù)其執(zhí)行,最后返回結(jié)果和消息,代表用戶完成指定任務(wù)。由于移動(dòng)Agent可以在異構(gòu)軟、硬件網(wǎng)絡(luò)環(huán)境中自由移動(dòng),因此,這種新的計(jì)算模式能有效地降低分布式計(jì)算中網(wǎng)絡(luò)負(fù)載、提高通訊效率、動(dòng)態(tài)適應(yīng)變化的網(wǎng)絡(luò)環(huán)境,并具有很好的安全性和容錯(cuò)能力。

          ?

          2.2 CORBA

          全球性網(wǎng)絡(luò)使線上的所有設(shè)備和軟件成為全球共享的浩瀚的資源,計(jì)算機(jī)環(huán)境也從集中式發(fā)展到分布式環(huán)境,開放式系統(tǒng)的發(fā)展使用戶能夠透明地應(yīng)用由不同廠商制造的不同機(jī)型不同平臺(tái)所組成的異構(gòu)型計(jì)算資源,因此,分布式處理和應(yīng)用集成自然而然地成為人們的共同要求,那么什么是分布式處理和應(yīng)用集成呢?它們的功能和關(guān)鍵技術(shù)是什么呢?簡(jiǎn)單地講,分布式處理和應(yīng)用集成就是指在異構(gòu)的、網(wǎng)絡(luò)的、物理性能差別很大的、不同廠商的、不同語(yǔ)言的信息資源的基礎(chǔ)上構(gòu)建信息共享的分布式系統(tǒng),并且能夠有效地進(jìn)行應(yīng)用系統(tǒng)和分布式處理的集成。分布式處理的關(guān)鍵在于定義可管理的軟件構(gòu)件,即面向?qū)ο蠹夹g(shù)中的 對(duì)象 。應(yīng)用集成的關(guān)鍵在于為跨平臺(tái)、跨機(jī)種、跨編程語(yǔ)言的產(chǎn)品提供統(tǒng)一的應(yīng)用接口。OMG組織針對(duì)當(dāng)今信息產(chǎn)業(yè)的要求,公布了CORBA標(biāo)準(zhǔn),即公共對(duì)象請(qǐng)求代理體系結(jié)構(gòu)(Common Object Request Broker Architecture),這是一個(gè)具有互操作性和可移植性的分布式面向?qū)ο蟮膽?yīng)用標(biāo)準(zhǔn)。

          CORBA的核心是對(duì)象請(qǐng)求代理ORB,它提供對(duì)象定位、對(duì)象激活和對(duì)象通訊的透明機(jī)制。客戶發(fā)出要求服務(wù)的請(qǐng)求,而對(duì)象則提供服務(wù),ORB把請(qǐng)求發(fā)送給對(duì)象、把輸出值返回給客戶。ORB的服務(wù)對(duì)客戶而言是透明的,客戶不知道對(duì)象駐留在網(wǎng)絡(luò)中何處、對(duì)象是如何通訊、如何實(shí)現(xiàn)以及如何執(zhí)行的,只要他持有對(duì)某對(duì)象的對(duì)象引用,就可以向該對(duì)象發(fā)出服務(wù)請(qǐng)求。CORBA允許用戶以兩種不同的方式提出對(duì)象請(qǐng)求:

          1)靜態(tài)調(diào)用:

          通過給定接口的存根,在編譯了對(duì)象代碼后,進(jìn)入客戶端的程序。因此,靜態(tài)調(diào)用必須在編譯時(shí)就知道對(duì)象及其類型。

          2)動(dòng)態(tài)調(diào)用:

          通過ORB的動(dòng)態(tài)調(diào)用接口DII,在運(yùn)行時(shí)生成訪問對(duì)象的代碼。不管客戶以哪一種形式提出請(qǐng)求,ORB的任務(wù)是:找出所要對(duì)象的位置,激活該對(duì)象,向?qū)ο髠鬟f此請(qǐng)求。對(duì)象執(zhí)行所請(qǐng)求的服務(wù)后,把輸出值返回給ORB,然后再由ORB返回給客戶。

          3 Agent System Interoperability

          3.1 CORBA 和移動(dòng)Agent的結(jié)合

          移動(dòng)代理技術(shù)和 CORBA 技術(shù)在許多方面不同,最顯著的是 CORBA 采用對(duì)象一旦被分配就一直停留在固定位置直到它在 ORB 中注冊(cè),而移動(dòng)代理可以動(dòng)態(tài)、自主地在執(zhí)行期間移動(dòng)。

          第二個(gè)不同點(diǎn)是移動(dòng) Agent 明確自己目前的位置,而且知道所需資源的位置,具有豐富的信息來動(dòng)態(tài)地決定遷移。對(duì) CORBA 來說,當(dāng)它回答客戶請(qǐng)求時(shí),試圖隱藏服務(wù)器對(duì)象的物理位置。很顯然, ORB 知道注冊(cè)對(duì)象的分配,但是這個(gè)信息對(duì)客戶和應(yīng)用開發(fā)者來說是隱式的。

          另一個(gè)不同點(diǎn)在于融合性( diffusion ), CORBA 擁有一個(gè)普遍被接受的規(guī)范,有許多的資源、系統(tǒng)和業(yè)務(wù)足見遵從這個(gè)規(guī)范。相反,移動(dòng) Agent 可編程范例的特性導(dǎo)致產(chǎn)生了各種不同的、不能互操作的代理平臺(tái)。

          1.???????? 然而 CORBA 與移動(dòng) Agent 技術(shù)的結(jié)合,可以完全實(shí)現(xiàn)異構(gòu)移動(dòng) Agent 平臺(tái)之間的互操作性。當(dāng) MASIF FIPA 都采用 CORBA 作為標(biāo)準(zhǔn)橋梁時(shí),就可以克服兩種規(guī)范之間的異構(gòu)性。

          3.2 MASIF????????????????????????

          不同 Agent 之間的互操作性是使基于不同移動(dòng)代理平臺(tái)的商業(yè)化融合的關(guān)鍵因素。互操作性要求移動(dòng)代理技術(shù)能夠趨于規(guī)范化。 OMG 提出了 MASIF Mobile Agent System Interoperability Facilities )規(guī)范,這是一個(gè)代理的互操作性標(biāo)準(zhǔn),它是在 CORBA 體系中構(gòu)建的,支持代理的移動(dòng)和管理。 MASIF 的目標(biāo)是不需要對(duì)現(xiàn)有各種代理平臺(tái)進(jìn)行大量的修改,而僅通過用 ”add-on” 模塊來擴(kuò)展,以實(shí)現(xiàn)現(xiàn)存不同結(jié)構(gòu)的移動(dòng)代理平臺(tái)之間的互操作性。

          MASIF 提出對(duì)代理和代理系統(tǒng)命名、系統(tǒng)種類及位置語(yǔ)法的標(biāo)準(zhǔn)化。 MASIF 定義了兩個(gè)標(biāo)準(zhǔn)架構(gòu): MAFAgentSystem MAFFinder ,通過接口定義語(yǔ)言對(duì)它們的屬性、操作和返回值作了明確的規(guī)定。前者定義對(duì) Agent 的操作,包括接受、創(chuàng)建、掛起和終止 Agent 的執(zhí)行,后者定義了 Agent 的注冊(cè)(去注冊(cè))以及 Agent place Agent 系統(tǒng)的定位。這些接口在 Agent 系統(tǒng)層上定義,因?yàn)?/span> Agent 只能在支持同類 Agent Agent 系統(tǒng)間流動(dòng),無需對(duì) Agent 的接口進(jìn)行定義。而 MASIF 中定義的標(biāo)準(zhǔn)化 Agent 管理操作實(shí)現(xiàn) Agent 在系統(tǒng)間進(jìn)行流動(dòng)。針對(duì) CORBA 命名服務(wù)只支持靜態(tài)對(duì)象的情形, MAFFinder 則是必要的補(bǔ)充,它提供了動(dòng)態(tài)的名址數(shù)據(jù)庫(kù)接口。 MAFAgentSystem MAFFinder 接口分別提供 15 9 個(gè)操作支持 Agent 的管理和名錄服務(wù)。 OMG 的目標(biāo)是使不同軟件開發(fā)商所開發(fā)的產(chǎn)品可以在一致的分布式對(duì)象環(huán)境下協(xié)同工作, CORBA 對(duì)于 Agent 系統(tǒng)的支持通過上述兩類接口實(shí)現(xiàn)。基于 MASIF 標(biāo)準(zhǔn)的移動(dòng) Agent 分布式體系結(jié)構(gòu)如圖 1 所示。

          1 基于 MASIF 標(biāo)準(zhǔn)的移動(dòng) Agent 分布式體系結(jié)構(gòu)

          ?

          3.3 FIPA

          FIPA 明確了服務(wù)于代理與其他實(shí)體(管理員、其它代理、非代理軟件和物理世界)交互的不同組件的接口。因?yàn)橹饕婕暗街悄艽眍I(lǐng)域, FIPA 把重點(diǎn)放在代理間通信的標(biāo)準(zhǔn)化問題上, FIPA 提出一個(gè)專門的代理通信語(yǔ)言( Agent Communication Language ACL )來解決遵從 FIPA 的所有代理之間的通信問題。

          FIPA 定義了為代理平臺(tái)服務(wù)的三種基本業(yè)務(wù):代理管理系統(tǒng)( Agent Management System,AMS )、 Directory Facilitator(DF) 和代理通信信道 (Agent Communication Channel,ACC) AMS 提供類似 MAFAgentSystem 的管理功能,但是,不同點(diǎn)在于 FIPA AMS 不能解決在異構(gòu)移動(dòng)代理平臺(tái)之間代理的移動(dòng)問題。

          FIPA 代理可以為其它代理提供服務(wù),而且它們的服務(wù)內(nèi)容可以在網(wǎng)絡(luò)黃頁(yè)上通過 DF 搜尋到。在一個(gè)代理平臺(tái)中,在 DF 中的注冊(cè)是任意的,而在 AMS 中的注冊(cè)則是必須的。

          ACC 能夠促使在同一個(gè)代理平臺(tái)上代理之間的通信,也可以通過提供一個(gè)消息轉(zhuǎn)發(fā)機(jī)制來使代理在異構(gòu)平臺(tái)之間通信。

          平臺(tái)之間的互通性通過 CORBA ORB 的轉(zhuǎn)發(fā)業(yè)務(wù)可以實(shí)現(xiàn),與 CORBA 的結(jié)合對(duì)遵從 FIPA 的移動(dòng)代理平臺(tái)來說是必需的,代理的消息傳遞通過 CORBA IIOP 實(shí)現(xiàn)。

          因?yàn)?/span> AMS DF 業(yè)務(wù)提供類似于 MASIF MAFAgentSystem MAFFinder 的功能,對(duì)于 FIPA 標(biāo)準(zhǔn)化的建議是提出通過一個(gè)共同使用的 ACL 來實(shí)現(xiàn)代理之間的通信。

          ?

          4 結(jié)論及未來工作

          已經(jīng)有人研究發(fā)現(xiàn), MASIF 制定的移動(dòng) Agent 平臺(tái)之間的互操作性,沒有定義域間移動(dòng) Agent 的定位操作。對(duì)于移動(dòng) Agent 平臺(tái)之間的互操作方面,還有很多問題,有待研究,解決,完善。在接下來的兩周里,將著重對(duì) MASIF FIPA 的關(guān)于通信語(yǔ)言,互操作規(guī)范進(jìn)行研讀,并了解 CORBA 在解決異構(gòu) Agent 平臺(tái)方面的 Solutions

          參考文獻(xiàn)

          [1]?????????? 張穎江,吳珊 移動(dòng)代理在分布式計(jì)算中的應(yīng)用和實(shí)現(xiàn)。

          [2]?????????? 偶曉娟,雷霖,李建華 移動(dòng)代理互操作性研究。

          [3]?????????? 歐陽(yáng)曄,姜浩,潘順 移動(dòng) Agent 域間發(fā)現(xiàn)機(jī)制研究。

          [4]?????????? Object Management Group TC Document Orbos Mobile Agent System Interoperability Facilities Specification.

          posted on 2006-12-17 21:57 放水老倌 閱讀(760) 評(píng)論(1)  編輯  收藏 所屬分類: Mobile Agent

          Feedback

          # re: 移動(dòng)Agent平臺(tái)的互操作性研究-(二) 2008-03-27 14:54 徐妍
          好  回復(fù)  更多評(píng)論
            

          主站蜘蛛池模板: 饶平县| 建水县| 莱州市| 平潭县| 台山市| 哈密市| 清徐县| 正安县| 佛学| 千阳县| 尉氏县| 弋阳县| 顺昌县| 静宁县| 梅州市| 常熟市| 彰化县| 广昌县| 余庆县| 岳西县| 左贡县| 正定县| 修武县| 阿图什市| 治县。| 务川| 延吉市| 民县| 江门市| 洪江市| 腾冲县| 大邑县| 巧家县| 陆良县| 当雄县| 张掖市| 苍溪县| 望江县| 友谊县| 新闻| 都匀市|