a一级爱做片免费观看欧美,久久国产一区二区,日本一二三区免费,久草视频手机在线观看

新聞中心

EEPW首頁 > 嵌入式系統 > 設計應用 > 嵌入式輕量Agent平臺的構建研究

嵌入式輕量Agent平臺的構建研究

作者: 時間:2010-01-29 來源:網絡 收藏

1 引言

本文引用地址:http://www.j9360.com/article/152112.htm

系統是指由多個分布和并行工作的通過協作完成某些任務或達到某些目標的計算系統。多智能體是把系統與多相結合的技術,充分發揮了二者優勢[1]。但是,多年來多Agent系統一直沒有應用到設備上。這是由于沒有合適的Agent能夠適應于軟、硬件資源受到限制的嵌入式系統。KVM (Kilo-bytes Virtual Machine)的出現,使JAVA這種跨的語言成功應用于嵌入式設備中,同時也方便了嵌入式環境下的Agent(Lightweight Agent)的實現。本文在ARM嵌入式環境下測試級Agent

2 面向Agent軟件開發平臺

JADE 是基于跨平臺的JAVA語言,是一項旨在開發符合FIPA(Foundation for Intelligent Physical Agents)Agent標準的多Agent系統或程序的軟件開發框架[2]。主機上運行的遠程管理Agent ( Remote Manage Agent,RMA ),包括AMS(Agent Management System)、DF(Directory Facilitator)、ACC(Agent Communication Channel)三部分。

如果利用JDAE平臺開發多Agent系統,運行環境必須具備JAVA虛擬機。但是,這么一個軟件運行空間的大小遠遠超過普通嵌入式系統所能提供的存儲空間。因此必須采用一種新的化的Agent開發平臺、框架,使其適應于嵌入式環境。

3 輕量Agent平臺

3.1輕量化LEAP的

LEAP(Lightweight Extensible Agent Platform)是JADE運行在J2ME/CLDC下的版本,專門在手持設備等資源受限的環境中運行。LEAP運行在通信的上層,容器Container之間通過TCP/IP通信而不用關心物理連接方式[4]。

J2ME把運算功能有限、電力有限的嵌入式設備稱作可連接外界、資源有限的設備,規定這類設備要執行JAVA程序必須滿足某些特定條件(CPU速度等),這些必須滿足的條件就定義在CLDC規范中。與標準版的JAVA―J2SE相比,J2ME/CLDC所支持的只有標準核心類庫的子集合,對存儲空間的需求在160KB~512KB之間。并且J2ME /CLDC添加支持嵌入式系統的擴充類庫,如javax.microedition.io.*類庫,不含有RMI。所以,LEAP直接使用TCP/IP套接字通信來連接不同的容器[4]。LEAP沒有AMS和DF,為了實現這些功能,LEAP直接訪問運行在其它機器上的JADE平臺。分布在每一個嵌入式設備上的Agent的代碼量就會大大減少,各Agent的功能不會減弱。

3.2輕量化平臺的運行

LEAP有兩種截然不同的運行方式,其中一種方式是將一個完整的容器運行在嵌入式設備上,即Stand alone 方式。另外一種為Split 方式,將容器劃分成前臺(FrontEnd)和后臺(BackEnd),前臺即運行在嵌入式設備上,后臺運行在裝有J2SE的主機上。

一個完整的容器啟動需要首先啟動AMS和DF。根據文獻[3]的介紹,前臺作為一個存儲空間有限的設備,不可能運行大量代碼,是輕量的。結果,前臺啟動后不會創建AMS與DF。同時,代碼量的減少使得前臺啟動加快。后臺部分運行在普通的主機上,前臺對后臺的依賴體現在后臺必須在前臺啟動之前工作起來。

3.3輕量Agent平臺改進

3.3.1 KDDIAP

由于環境等因素的影響,移動嵌入式設備在無線通信時經常會遇見通訊連接不穩定、設備不在信號覆蓋的范圍等問題。在無線設備上運行Agent會因為上述問題不能隨時隨地提供服務。

這種情況發生時,JADE-LEAP就不能很好地滿足人們的需求。而這是由LEAP的特性決定的,LEAP應用于無線設備完全依賴于主PC機上的JADE平臺,即采用Split運行方式。因此,實現嵌入式無線設備上的Agent管理,首先要保證通訊穩定,這在無線環境下實現就有些困難。針對這些問題,文獻[6]提出了專門針對手機等無線通信設備的Agent平臺架構KDDIAP。將移動設備和中央服務器分解成一個個符合FIPA的子平臺。遵循FIPA是為了與其他類似平臺方便地交互信息。與LEAP最大的區別就在于,移動設備上運行的子平臺也具有AMS和DF功能。每個手機上都有相對完整的Container。

3.3.2混合模式輕量Agent平臺

KDDIAP適合于無線環境下應用,在最初啟動時需要創建AMS和DF。然而,JADE-LEAP啟動時不用創建AMS和DF,速度顯然會比KDDIAP快。在一個實際的復雜系統中,存在很多嵌入式設備,它們分別工作在有線連接的網絡和無線網絡的環境中,各自的存儲資源也不盡相同。根據各自不同的特點,我們把KDDIAP與LEAP技術結合起來,對現有的Agent運行系統框架進行改進。如圖1,有3個容器,Main Container運行在J2SE上,Container-1運行在J2ME/CLDC或Personal Java上,Container-2運行在J2ME/CLDC上;Container-2處于Split 方式,而Container-1類似于KDDIAP方式,它在啟動時會創建AMS與DF。Container-2對應的設備應該有較好的通信保障,前臺在啟動之后如果也創建AMS和DF將總共用到大約40個JAVA類,不適合資源受限的嵌入式設備。我們在前臺僅僅創建一個Client Agent,可以隨時訪問后臺,與后臺交互信息,對于存儲空間有限或處理器速度較慢的情況下確保了通信的實時性;相比之下Container-1處于無線環境,利用KDDIAP提供的方法可使Agent在任何時候提供服務,軟件Agent的代碼也會相應增加,對設備計算能力的要求會高一些,例如可以讓軟件Agent工作在ARM這樣的高檔硬件平臺上。

這種改進能確保異構網絡環境下輕量Agent的正常運行,并且使整個Agent系統軟件精簡靈活。同時,我們所做的改動仍然遵循FIPA 標準,以方便與其他符合FIPA的平臺交互。

linux操作系統文章專題:linux操作系統詳解(linux不再難懂)

上一頁 1 2 下一頁

評論


相關推薦

技術專區

關閉