<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

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

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

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

圖1 混合模式

4 環(huán)境下部署

4.1 KVM移植

為測試,我們將Agent移植到基于A(yíng)RM的系統。這種系統以三星公司的 S3C2410 芯片(ARM9內核)作為應用處理器,實(shí)時(shí)操作系統采用 Linux 操作系統。針對嵌入式設備硬件資源有限的事實(shí),CLDC規范定義一個(gè)簡(jiǎn)化版本的JAVA虛擬機,這個(gè)虛擬機通常被稱(chēng)為KVM(Kilo-bytes Virtual Machine) [5]。

圖2 輕量化的系統結構

圖3 編譯后的KVM

建立輕量Agent運行的環(huán)境,需要在基于A(yíng)RM與嵌入式操作系統的平臺上移植KVM,使JAVA語(yǔ)言能夠運行,如圖2。而KVM的目的是創(chuàng )造一個(gè)盡可能小的且盡可能完整的JAVA虛擬機,使開(kāi)發(fā)者不用像開(kāi)發(fā)C語(yǔ)言一樣關(guān)心硬件,而通過(guò)JAVA語(yǔ)言來(lái)進(jìn)行開(kāi)發(fā),達到一次編譯,各種平臺使用的目的。圖3表示編譯好的KVM可以在A(yíng)RM上運行。將KVM燒到目標平臺上,便可以執行JAVA程序。

4.2 輕量Agent部署

根據改進(jìn)的輕量Agent框架部署Agent平臺,圖4所示的JADE安裝在運行J2SE的PC機上,Container-1和Container-2對應著(zhù)輕量Agent運行的不同環(huán)境。

圖1中的PDA處于無(wú)線(xiàn)通信方式,它的Agent平臺一旦啟動(dòng),便會(huì )自動(dòng)創(chuàng )建AMS和DF。同時(shí),PDA上Container-1立即到位于PC機上的JADE平臺上注冊。圖1中的嵌入式設備是基于s3c2410的網(wǎng)絡(luò )設備,通過(guò)網(wǎng)線(xiàn)與鄰近的PC機通信。這里的嵌入式設備上軟件Agent平臺啟動(dòng)后不會(huì )創(chuàng )建AMS和DF,為獲得相應的服務(wù),嵌入式設備只需創(chuàng )建一個(gè)Client Agent,利用這個(gè)智能體隨時(shí)通過(guò)網(wǎng)線(xiàn)訪(fǎng)問(wèn)后臺即可。圖4中Container-1和Container-2里面的所有Agent會(huì )注冊到Main-Container所在的Agent平臺。

完成注冊后,各遠端Agent與Main-Container所在的Agent平臺通信,提供各自的信息,供其它平臺上的Agent利用。異構網(wǎng)絡(luò )環(huán)境下,各嵌入式實(shí)時(shí)設備協(xié)同工作就基于這些信息。Container-1中的Agent若要同Container-2中的Agent交互,需要找到臨近的主機注冊。注冊到Main-Container所在的主機上之后,在主平臺下與已經(jīng)注冊了的Container-2中的Agent 交互信息。


并不是所有的Container都能夠提供注冊服務(wù),Container-2就是如此。提供注冊與注銷(xiāo)服務(wù)的平臺,一般運行在資源豐富的PC機上,這樣為嵌入式設備上運行的軟件Agent減少了相應的服務(wù),也減少了代碼。

圖 4 Agent的注冊與部署結果

5 結論

JADE-LEAP框架下,位于資源有限設備上的Agent不具有AMS與DF創(chuàng )建的功能,為實(shí)現這一功能只有通過(guò)網(wǎng)絡(luò )遠程訪(fǎng)問(wèn)。在有線(xiàn)的網(wǎng)絡(luò )環(huán)境下,實(shí)現這些功能并不難,可是一旦處于無(wú)線(xiàn)環(huán)境這種平臺就不穩定了。KDDIAP作為對LEAP這種原有的輕量化平臺的改進(jìn),解決了無(wú)線(xiàn)環(huán)境下實(shí)時(shí)獲得Agent服務(wù)的問(wèn)題,這是以增加代碼量和平臺啟動(dòng)時(shí)間為代價(jià)的?;旌夏J降妮p量Agent平臺結合了兩種輕量平臺的優(yōu)點(diǎn),保證了Agent平臺輕量化、靈活性。

本文創(chuàng )新點(diǎn):目前國內外使用的多代理系統開(kāi)發(fā)平臺很多,但是適合于嵌入式系統平臺卻不多。主要原因在于嵌入式系統資源受限、工作環(huán)境多變、原有代理開(kāi)發(fā)平臺代碼量大。本文對原有的開(kāi)發(fā)平臺進(jìn)行輕量化改進(jìn),使其適合嵌入式系統,并以S3C2410為例,了系統的方法。

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

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

關(guān)鍵詞: 構建 研究 平臺 Agent 輕量 嵌入式

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>