基于移動agent虛擬儀器系統(tǒng)體系結(jié)構(gòu)研究
1 引言
本文引用地址:http://m.butianyuan.cn/article/195860.htm隨著計算機技術(shù)和現(xiàn)代測試技術(shù)的快速發(fā)展,利用傳統(tǒng)的集成測試方法已經(jīng)難以滿足復(fù)雜測試任務(wù)的需求。虛擬儀器以開放性好、智能化程度高、界面友好等優(yōu)勢顯示了其強大的生命力,研究內(nèi)容已經(jīng)涉及到工程的諸多領(lǐng)域[1]。
現(xiàn)有的虛擬儀器技術(shù)在研究和實現(xiàn)上已取得了一定成就,但隨著測量內(nèi)容的日益復(fù)雜、測量數(shù)據(jù)和指標(biāo)的不斷增加,對虛擬儀器的應(yīng)用也提出了越來越高的要求,一些問題逐漸顯現(xiàn)出來。比如現(xiàn)有儀器系統(tǒng)的開發(fā)依賴于經(jīng)驗的積累,一般由用戶根據(jù)自身需求開發(fā)小功能集的虛擬儀器系統(tǒng);儀器的平臺獨立性和擴展性差,儀器系統(tǒng)的設(shè)計和執(zhí)行效率低下,適應(yīng)性不夠強[2]。因此,如何提高虛擬儀器系統(tǒng)的執(zhí)行效率,降低設(shè)計難度,是虛擬儀器系統(tǒng)研究中一個需要解決的重要問題。
移動agent是一種獨立的可確認的計算機程序,它可以自主地在異構(gòu)網(wǎng)絡(luò)上按照一定規(guī)程移動,尋找和利用適合的計算資源、信息資源和軟件資源,代表用戶完成特定任務(wù)[3]。它具有主機間動態(tài)遷移性、智能性、平臺無關(guān)性、分布靈活性、多agent合作性等六方面的特點。
因此,在本文中考慮將移動agent技術(shù)運用到虛擬儀器系統(tǒng)體系結(jié)構(gòu)的構(gòu)建中,用以改善現(xiàn)有虛擬儀器系統(tǒng)中出現(xiàn)的一些問題。
2 基于移動agent的虛擬儀器體系結(jié)構(gòu)設(shè)計
根據(jù)虛擬儀器系統(tǒng)的設(shè)計和移動agent系統(tǒng)的特點,在體系結(jié)構(gòu)設(shè)計中選用了綜合分層和網(wǎng)狀體系結(jié)構(gòu)最佳特征的混合模型,如圖1所示。
圖1 MAVIS的系統(tǒng)體系結(jié)構(gòu)
圖1中的雙箭頭――上層到下層表示控制流方向,下層到上層表示數(shù)據(jù)流方向。由于采用了網(wǎng)狀體系結(jié)構(gòu),整體上又保留了分層結(jié)構(gòu)的特點,因此組件間可以不按照嚴(yán)格的分層結(jié)構(gòu)進行通信。這樣在對虛擬儀器系統(tǒng)中的agent進行管理時,只需更改該agent的信息,不會影響其他agent的工作。例如當(dāng)需要執(zhí)行一個新的數(shù)據(jù)采集或處理分析任務(wù)時,只需派遣一個新的agent去執(zhí)行任務(wù)即可,不需停止或重啟已執(zhí)行處理分析任務(wù)的agent。
在該體系結(jié)構(gòu)中,最下層的數(shù)據(jù)采集葉節(jié)點負責(zé)測試數(shù)據(jù)的采集,包括采樣位置、信號類型等信息,并在將其傳遞到上層處理分析節(jié)點前進行數(shù)據(jù)過濾,以減輕上層節(jié)點的工作壓力,有利于處理分析節(jié)點專注于虛擬儀器系統(tǒng)的功能實現(xiàn)。
上層的處理分析節(jié)點主要負責(zé)處理數(shù)據(jù),如對其進行時頻域分析,統(tǒng)計分析等,提取影響測量結(jié)果的參數(shù)指標(biāo)并最終在本地機上形成測試結(jié)論顯示出來。處理分析agent的生成可以通過頂層的控制管理節(jié)點動態(tài)控制。為了保證處理分析agent能夠高效地運行相關(guān)測試,在系統(tǒng)運行開始就根據(jù)所需測試的基本類型構(gòu)造處理分析agent集合。在運行過程中,當(dāng)添加的處理分析agent和其他agent互相協(xié)作成功完成一次任務(wù)時,系統(tǒng)就生成新的agent并添加到該虛擬儀器系統(tǒng)的處理分析agent集合中。一旦需要刪除處理分析agent時,就必須從虛擬儀器系統(tǒng)的處理分析agent集合中刪除與該處理分析agent相關(guān)的所有agent。頂層的控制管理節(jié)點主要負責(zé)節(jié)點的分派和召回。
該體系結(jié)構(gòu)由分布在各受控主機上的移動agent組成,各相鄰agent的關(guān)系平等,連結(jié)松散,可彼此獨立進行操作,這樣設(shè)計的虛擬儀器系統(tǒng)更具容錯性和重構(gòu)性。移動agent的引入使數(shù)據(jù)采集節(jié)點、處理分析節(jié)點和控制管理節(jié)點并不總駐留在一臺物理主機上,即移動agent可以作為處理分析節(jié)點移動到最合適的物理位置。
3 基于移動agent的虛擬儀器系統(tǒng)的實現(xiàn)
通過比較,由IBM東京Waston研究中心開發(fā)的Aglets以其自身包容易安裝、穩(wěn)定性好、安全性高、跨平臺、直接提供適合Java的移動agent技術(shù)、示例簡單等優(yōu)勢,成為MAIVS系統(tǒng)研究設(shè)計的平臺。Aglets用純Java語言編寫,具有較好的健壯性和移動性。作為最早基于Java的商業(yè)化系統(tǒng),它提供了一套簡單而全面的移動agent編程模型和詳細且易用的安全機制,并為agent間提供了動態(tài)、有效的通信機制。在實現(xiàn)過程中,設(shè)計關(guān)注具有檢測功能的處理分析agent的實現(xiàn),而不需考慮整個系統(tǒng)的通信機制和行為協(xié)調(diào)模式。
對于向用戶提供可執(zhí)行程序這一問題,當(dāng)前的應(yīng)用程序雖然可以訪問資源,但是它不具有普適性,也不能進行實用的計算。事實上,一旦用戶想要執(zhí)行一個應(yīng)用程序,他不得不:(1)請求環(huán)境資源;(2)分配任務(wù);(3)觸發(fā)和控制執(zhí)行;(4)得到結(jié)果;(5)釋放資源[4]。
評論