靈魂-放水

          為學日益,為道日損。

          BlogJava 首頁 新隨筆 聯系 聚合 管理
            296 Posts :: 10 Stories :: 274 Comments :: 0 Trackbacks

          移動 Agent 平臺的互操作性研究

          ?

          (**大學**實驗室,**

          ?

          摘要: 移動 Agent 平臺的異構性,使得不同平臺間難以實行互操作。文章淺層次的分析了移動代理系統互操作性有關的 CORBA , MASIF FIPA 規范。

          關鍵詞: 移動 Agent ,互操作性, CORBA , MASIF , FIPA

          ?

          1 引言

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

          2 相關理論或技術基礎

          2.1 移動Agent技術介紹

          2.1.1 ? 軟件 Agent

          軟件 Agent是運行于動態環境的、具有高度自治能力的實體,它能夠接受其它實體的委托并為之服務。不難看出,軟件Agent首先具有智能特性,它對環境有響應性、自主性和主動性;同時,軟件Agent還具有社會特性。

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

          響應性(Reactivity):軟件Agent能對來自環境的信息做出適當的響應,它能感知所處的環境,并能通過自己的行為改變環境。

          自動性(Proactivity):傳統應用程序接受用戶指令被動執行,而Agent不僅能對環境變化做出反應,更重要的是能在特定情況下采取主動行為。

          推理性(Reasoning):軟件Agent可根據已有的知識和經驗,以推理的方式進行推理。軟件Agent的智能由3個主要部件來完成,即內部知識庫、自適應能力以及基于知識庫的推理能力。

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

          2.1.2 移動 Agent

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

          ?

          2.2 CORBA

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

          CORBA的核心是對象請求代理ORB,它提供對象定位、對象激活和對象通訊的透明機制。客戶發出要求服務的請求,而對象則提供服務,ORB把請求發送給對象、把輸出值返回給客戶。ORB的服務對客戶而言是透明的,客戶不知道對象駐留在網絡中何處、對象是如何通訊、如何實現以及如何執行的,只要他持有對某對象的對象引用,就可以向該對象發出服務請求。CORBA允許用戶以兩種不同的方式提出對象請求:

          1)靜態調用:

          通過給定接口的存根,在編譯了對象代碼后,進入客戶端的程序。因此,靜態調用必須在編譯時就知道對象及其類型。

          2)動態調用:

          通過ORB的動態調用接口DII,在運行時生成訪問對象的代碼。不管客戶以哪一種形式提出請求,ORB的任務是:找出所要對象的位置,激活該對象,向對象傳遞此請求。對象執行所請求的服務后,把輸出值返回給ORB,然后再由ORB返回給客戶。

          3 Agent System Interoperability

          3.1 CORBA 和移動Agent的結合

          移動代理技術和 CORBA 技術在許多方面不同,最顯著的是 CORBA 采用對象一旦被分配就一直停留在固定位置直到它在 ORB 中注冊,而移動代理可以動態、自主地在執行期間移動。

          第二個不同點是移動 Agent 明確自己目前的位置,而且知道所需資源的位置,具有豐富的信息來動態地決定遷移。對 CORBA 來說,當它回答客戶請求時,試圖隱藏服務器對象的物理位置。很顯然, ORB 知道注冊對象的分配,但是這個信息對客戶和應用開發者來說是隱式的。

          另一個不同點在于融合性( diffusion ), CORBA 擁有一個普遍被接受的規范,有許多的資源、系統和業務足見遵從這個規范。相反,移動 Agent 可編程范例的特性導致產生了各種不同的、不能互操作的代理平臺。

          1.???????? 然而 CORBA 與移動 Agent 技術的結合,可以完全實現異構移動 Agent 平臺之間的互操作性。當 MASIF FIPA 都采用 CORBA 作為標準橋梁時,就可以克服兩種規范之間的異構性。

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

          不同 Agent 之間的互操作性是使基于不同移動代理平臺的商業化融合的關鍵因素?;ゲ僮餍砸笠苿哟砑夹g能夠趨于規范化。 OMG 提出了 MASIF Mobile Agent System Interoperability Facilities )規范,這是一個代理的互操作性標準,它是在 CORBA 體系中構建的,支持代理的移動和管理。 MASIF 的目標是不需要對現有各種代理平臺進行大量的修改,而僅通過用 ”add-on” 模塊來擴展,以實現現存不同結構的移動代理平臺之間的互操作性。

          MASIF 提出對代理和代理系統命名、系統種類及位置語法的標準化。 MASIF 定義了兩個標準架構: MAFAgentSystem MAFFinder ,通過接口定義語言對它們的屬性、操作和返回值作了明確的規定。前者定義對 Agent 的操作,包括接受、創建、掛起和終止 Agent 的執行,后者定義了 Agent 的注冊(去注冊)以及 Agent 、 place Agent 系統的定位。這些接口在 Agent 系統層上定義,因為 Agent 只能在支持同類 Agent Agent 系統間流動,無需對 Agent 的接口進行定義。而 MASIF 中定義的標準化 Agent 管理操作實現 Agent 在系統間進行流動。針對 CORBA 命名服務只支持靜態對象的情形, MAFFinder 則是必要的補充,它提供了動態的名址數據庫接口。 MAFAgentSystem MAFFinder 接口分別提供 15 9 個操作支持 Agent 的管理和名錄服務。 OMG 的目標是使不同軟件開發商所開發的產品可以在一致的分布式對象環境下協同工作, CORBA 對于 Agent 系統的支持通過上述兩類接口實現?;?/span> MASIF 標準的移動 Agent 分布式體系結構如圖 1 所示。

          1 基于 MASIF 標準的移動 Agent 分布式體系結構

          ?

          3.3 FIPA

          FIPA 明確了服務于代理與其他實體(管理員、其它代理、非代理軟件和物理世界)交互的不同組件的接口。因為主要涉及到智能代理領域, FIPA 把重點放在代理間通信的標準化問題上, FIPA 提出一個專門的代理通信語言( Agent Communication Language , ACL )來解決遵從 FIPA 的所有代理之間的通信問題。

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

          FIPA 代理可以為其它代理提供服務,而且它們的服務內容可以在網絡黃頁上通過 DF 搜尋到。在一個代理平臺中,在 DF 中的注冊是任意的,而在 AMS 中的注冊則是必須的。

          ACC 能夠促使在同一個代理平臺上代理之間的通信,也可以通過提供一個消息轉發機制來使代理在異構平臺之間通信。

          平臺之間的互通性通過 CORBA ORB 的轉發業務可以實現,與 CORBA 的結合對遵從 FIPA 的移動代理平臺來說是必需的,代理的消息傳遞通過 CORBA IIOP 實現。

          因為 AMS DF 業務提供類似于 MASIF MAFAgentSystem MAFFinder 的功能,對于 FIPA 標準化的建議是提出通過一個共同使用的 ACL 來實現代理之間的通信。

          ?

          4 結論及未來工作

          已經有人研究發現, MASIF 制定的移動 Agent 平臺之間的互操作性,沒有定義域間移動 Agent 的定位操作。對于移動 Agent 平臺之間的互操作方面,還有很多問題,有待研究,解決,完善。在接下來的兩周里,將著重對 MASIF 、 FIPA 的關于通信語言,互操作規范進行研讀,并了解 CORBA 在解決異構 Agent 平臺方面的 Solutions 。

          參考文獻

          [1]?????????? 張穎江,吳珊 移動代理在分布式計算中的應用和實現。

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

          [3]?????????? 歐陽曄,姜浩,潘順 移動 Agent 域間發現機制研究。

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

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

          Feedback

          # re: 移動Agent平臺的互操作性研究-(二) 2008-03-27 14:54 徐妍
          好  回復  更多評論
            

          主站蜘蛛池模板: 宣化县| 松潘县| 巩义市| 泸溪县| 永修县| 韶山市| 介休市| 淄博市| 平凉市| 平顺县| 宁国市| 来凤县| 荣昌县| 张家界市| 咸阳市| 得荣县| 宁阳县| 宝山区| 满城县| 故城县| 曲松县| 兴安县| 南康市| 鹿泉市| 仲巴县| 绥芬河市| 宁陕县| 砀山县| 疏附县| 吴旗县| 泰和县| 甘泉县| 佳木斯市| 黄石市| 玉树县| 东乡| 明溪县| 南昌县| 昌邑市| 即墨市| 徐汇区|