嵌入式輕量Agent平臺的構(gòu)建研究
4.1 KVM移植
為測試輕量Agent平臺,我們將Agent平臺移植到基于ARM的嵌入式系統(tǒng)。這種嵌入式系統(tǒng)以三星公司的 S3C2410 芯片(ARM9內(nèi)核)作為應(yīng)用處理器,實時操作系統(tǒng)采用 Linux 操作系統(tǒng)。針對嵌入式設(shè)備硬件資源有限的事實,CLDC規(guī)范定義一個簡化版本的JAVA虛擬機(jī),這個虛擬機(jī)通常被稱為KVM(Kilo-bytes Virtual Machine) [5]。
圖2 輕量化的系統(tǒng)結(jié)構(gòu)
圖3 編譯后的KVM
建立輕量Agent運(yùn)行的環(huán)境,需要在基于ARM與嵌入式操作系統(tǒng)的平臺上移植KVM,使JAVA語言能夠運(yùn)行,如圖2。而KVM的目的是創(chuàng)造一個盡可能小的且盡可能完整的JAVA虛擬機(jī),使開發(fā)者不用像開發(fā)C語言一樣關(guān)心硬件,而通過JAVA語言來進(jìn)行開發(fā),達(dá)到一次編譯,各種平臺使用的目的。圖3表示編譯好的KVM可以在ARM上運(yùn)行。將KVM燒到目標(biāo)平臺上,便可以執(zhí)行JAVA程序。
4.2 輕量Agent部署
根據(jù)改進(jìn)的輕量Agent框架部署Agent平臺,圖4所示的JADE安裝在運(yùn)行J2SE的PC機(jī)上,Container-1和Container-2對應(yīng)著輕量Agent運(yùn)行的不同環(huán)境。
圖1中的PDA處于無線通信方式,它的Agent平臺一旦啟動,便會自動創(chuàng)建AMS和DF。同時,PDA上Container-1立即到位于PC機(jī)上的JADE平臺上注冊。圖1中的嵌入式設(shè)備是基于s3c2410的網(wǎng)絡(luò)設(shè)備,通過網(wǎng)線與鄰近的PC機(jī)通信。這里的嵌入式設(shè)備上軟件Agent平臺啟動后不會創(chuàng)建AMS和DF,為獲得相應(yīng)的服務(wù),嵌入式設(shè)備只需創(chuàng)建一個Client Agent,利用這個智能體隨時通過網(wǎng)線訪問后臺即可。圖4中Container-1和Container-2里面的所有Agent會注冊到Main-Container所在的Agent平臺。
完成注冊后,各遠(yuǎn)端Agent與Main-Container所在的Agent平臺通信,提供各自的信息,供其它平臺上的Agent利用。異構(gòu)網(wǎng)絡(luò)環(huán)境下,各嵌入式實時設(shè)備協(xié)同工作就基于這些信息。Container-1中的Agent若要同Container-2中的Agent交互,需要找到臨近的主機(jī)注冊。注冊到Main-Container所在的主機(jī)上之后,在主平臺下與已經(jīng)注冊了的Container-2中的Agent 交互信息。
并不是所有的Container都能夠提供注冊服務(wù),Container-2就是如此。提供注冊與注銷服務(wù)的平臺,一般運(yùn)行在資源豐富的PC機(jī)上,這樣為嵌入式設(shè)備上運(yùn)行的軟件Agent減少了相應(yīng)的服務(wù),也減少了代碼。
圖 4 Agent的注冊與部署結(jié)果
5 結(jié)論
JADE-LEAP框架下,位于資源有限設(shè)備上的Agent不具有AMS與DF創(chuàng)建的功能,為實現(xiàn)這一功能只有通過網(wǎng)絡(luò)遠(yuǎn)程訪問。在有線的網(wǎng)絡(luò)環(huán)境下,實現(xiàn)這些功能并不難,可是一旦處于無線環(huán)境這種平臺就不穩(wěn)定了。KDDIAP作為對LEAP這種原有的輕量化平臺的改進(jìn),解決了無線環(huán)境下實時獲得Agent服務(wù)的問題,這是以增加代碼量和平臺啟動時間為代價的?;旌夏J降妮p量Agent平臺結(jié)合了兩種輕量平臺的優(yōu)點,保證了Agent平臺輕量化、靈活性。
本文創(chuàng)新點:目前國內(nèi)外使用的多代理系統(tǒng)開發(fā)平臺很多,但是適合于嵌入式系統(tǒng)平臺卻不多。主要原因在于嵌入式系統(tǒng)資源受限、工作環(huán)境多變、原有代理開發(fā)平臺代碼量大。本文對原有的開發(fā)平臺進(jìn)行輕量化改進(jìn),使其適合嵌入式系統(tǒng),并以S3C2410為例,研究了系統(tǒng)的構(gòu)建方法。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評論