基于移動agent虛擬儀器系統(tǒng)體系結構研究
1 引言
隨著計算機技術和現(xiàn)代測試技術的快速發(fā)展,利用傳統(tǒng)的集成測試方法已經難以滿足復雜測試任務的需求。虛擬儀器以開放性好、智能化程度高、界面友好等優(yōu)勢顯示了其強大的生命力,研究內容已經涉及到工程的諸多領域[1]。
現(xiàn)有的虛擬儀器技術在研究和實現(xiàn)上已取得了一定成就,但隨著測量內容的日益復雜、測量數據和指標的不斷增加,對虛擬儀器的應用也提出了越來越高的要求,一些問題逐漸顯現(xiàn)出來。比如現(xiàn)有儀器系統(tǒng)的開發(fā)依賴于經驗的積累,一般由用戶根據自身需求開發(fā)小功能集的虛擬儀器系統(tǒng);儀器的平臺獨立性和擴展性差,儀器系統(tǒng)的設計和執(zhí)行效率低下,適應性不夠強[2]。因此,如何提高虛擬儀器系統(tǒng)的執(zhí)行效率,降低設計難度,是虛擬儀器系統(tǒng)研究中一個需要解決的重要問題。
移動agent是一種獨立的可確認的計算機程序,它可以自主地在異構網絡上按照一定規(guī)程移動,尋找和利用適合的計算資源、信息資源和軟件資源,代表用戶完成特定任務[3]。它具有主機間動態(tài)遷移性、智能性、平臺無關性、分布靈活性、多agent合作性等六方面的特點。
因此,在本文中考慮將移動agent技術運用到虛擬儀器系統(tǒng)體系結構的構建中,用以改善現(xiàn)有虛擬儀器系統(tǒng)中出現(xiàn)的一些問題。
2 基于移動agent的虛擬儀器體系結構設計
根據虛擬儀器系統(tǒng)的設計和移動agent系統(tǒng)的特點,在體系結構設計中選用了綜合分層和網狀體系結構最佳特征的混合模型,如圖1所示。
圖1 MAVIS的系統(tǒng)體系結構
圖1中的雙箭頭——上層到下層表示控制流方向,下層到上層表示數據流方向。由于采用了網狀體系結構,整體上又保留了分層結構的特點,因此組件間可以不按照嚴格的分層結構進行通信。這樣在對虛擬儀器系統(tǒng)中的agent進行管理時,只需更改該agent的信息,不會影響其他agent的工作。例如當需要執(zhí)行一個新的數據采集或處理分析任務時,只需派遣一個新的agent去執(zhí)行任務即可,不需停止或重啟已執(zhí)行處理分析任務的agent。
在該體系結構中,最下層的數據采集葉節(jié)點負責測試數據的采集,包括采樣位置、信號類型等信息,并在將其傳遞到上層處理分析節(jié)點前進行數據過濾,以減輕上層節(jié)點的工作壓力,有利于處理分析節(jié)點專注于虛擬儀器系統(tǒng)的功能實現(xiàn)。
上層的處理分析節(jié)點主要負責處理數據,如對其進行時頻域分析,統(tǒng)計分析等,提取影響測量結果的參數指標并最終在本地機上形成測試結論顯示出來。處理分析agent的生成可以通過頂層的控制管理節(jié)點動態(tài)控制。為了保證處理分析agent能夠高效地運行相關測試,在系統(tǒng)運行開始就根據所需測試的基本類型構造處理分析agent集合。在運行過程中,當添加的處理分析agent和其他agent互相協(xié)作成功完成一次任務時,系統(tǒng)就生成新的agent并添加到該虛擬儀器系統(tǒng)的處理分析agent集合中。一旦需要刪除處理分析agent時,就必須從虛擬儀器系統(tǒng)的處理分析agent集合中刪除與該處理分析agent相關的所有agent。頂層的控制管理節(jié)點主要負責節(jié)點的分派和召回。
該體系結構由分布在各受控主機上的移動agent組成,各相鄰agent的關系平等,連結松散,可彼此獨立進行操作,這樣設計的虛擬儀器系統(tǒng)更具容錯性和重構性。移動agent的引入使數據采集節(jié)點、處理分析節(jié)點和控制管理節(jié)點并不總駐留在一臺物理主機上,即移動agent可以作為處理分析節(jié)點移動到最合適的物理位置。
3 基于移動agent的虛擬儀器系統(tǒng)的實現(xiàn)
通過比較,由IBM東京Waston研究中心開發(fā)的Aglets以其自身包容易安裝、穩(wěn)定性好、安全性高、跨平臺、直接提供適合Java的移動agent技術、示例簡單等優(yōu)勢,成為MAIVS系統(tǒng)研究設計的平臺。Aglets用純Java語言編寫,具有較好的健壯性和移動性。作為最早基于Java的商業(yè)化系統(tǒng),它提供了一套簡單而全面的移動agent編程模型和詳細且易用的安全機制,并為agent間提供了動態(tài)、有效的通信機制。在實現(xiàn)過程中,設計關注具有檢測功能的處理分析agent的實現(xiàn),而不需考慮整個系統(tǒng)的通信機制和行為協(xié)調模式。
對于向用戶提供可執(zhí)行程序這一問題,當前的應用程序雖然可以訪問資源,但是它不具有普適性,也不能進行實用的計算。事實上,一旦用戶想要執(zhí)行一個應用程序,他不得不:(1)請求環(huán)境資源;(2)分配任務;(3)觸發(fā)和控制執(zhí)行;(4)得到結果;(5)釋放資源[4]。
在MAIVS的體系結構設計過程中,需要解決以下三個問題:系統(tǒng)的總體框架、使用的儀器數量及類型以及軟件實現(xiàn)[5]。軟件系統(tǒng)是虛擬儀器系統(tǒng)的核心部分。在虛擬儀器系統(tǒng)中軟件主要由功能軟件和虛擬面板控件兩部分構成。前者主要包括硬件控制、采集卡控制、數據處理分析及顯示;后者包括虛擬顯示器、旋鈕、按鈕等。本文主要關注前者可按照功能封裝成獨立的agent的軟件模塊設計與實現(xiàn),通過Aglets提供的通信機制在虛擬儀器系統(tǒng)中協(xié)調一致的工作。
圖2 MAIVS任務求解流程圖
圖2中的移動agent環(huán)境,即agent的運行環(huán)境是Aglets系統(tǒng)。移動agent有兩種環(huán)境分配策略:一種是為每個移動agent分配單獨的服務環(huán)境;另一種是為所有的移動agent分配同一個服務環(huán)境。前一種分配策略具有更強的安全性,但會占用更多的資源[6]。agent分派管理器是移動agent服務環(huán)境的中心部件。它將移動agent正常運行所需的各項服務正確分配給相應的子模塊,包括建立移動agent的執(zhí)行環(huán)境、啟動服務等。此外,它還負責協(xié)調各子模塊間的相互工作,保證它們的正常運行。靜態(tài)agent(Static agent,SA)主要完成agent分派管理器與用戶接口agent的交互。
移動agent的任務求解過程如下:
?、?源主機(主機A)根據用戶需要完成的檢測任務,通過用戶接口agent初始化欲創(chuàng)建的移動agent的內部狀態(tài)集、知識庫、約束條件等。
② 將代表用戶需求的特征表示寫入移動agent的知識庫,設置最長運行時間、每個站點停留時間、任務完成度、經由節(jié)點的最大數目等約束條件。
?、?ATP定義了移動agent在各受控主機間遷移的語法和語義,具體實現(xiàn)了agent在服務環(huán)境間的遷移,包括移入和移出。移動agent利用ATP完成與本地移動agent服務環(huán)境的通信,并在該服務環(huán)境中利用ATP協(xié)議完成移動agent在網絡環(huán)境中從目標主機和agent分派管理器間的遷移。
④ 問題求解完成后,移動agent在返回結果前先判斷網絡的連通性。如果連通并且用戶端(主機A)的Aglets平臺已經啟動,那么移動agent就可以直接返回;反之,則需要等待直到具備傳送條件才激活移動agent,并將其傳回到源主機(主機A),將任務的求解結果提交給用戶。
?、?完成自身卸載進入終止狀態(tài),結束任務。
借助移動agent技術,在不同的硬件平臺下,可以完全由用戶自定義虛擬儀器系統(tǒng)的功能模塊,通過選取基本的測試硬件模塊,利用不同的軟件構造出針對具體測試任務的測試儀器,即功能不同的處理分析agent。從而完成具有不同檢測功能的處理分析agent的“信號的調理與采集—數據的分析與處理—結果的輸出與顯示”。
4 實驗仿真
將基于移動agent的虛擬儀器系統(tǒng)體系結構模型應用到遠程電子測量實驗教學平臺的構建。實驗仿真內容包括:在Aglets平臺上,發(fā)送一個波形檢測器agent和一個隨機波形發(fā)生器agent到其中一臺主機,用以檢測發(fā)生波形和數據采集的結果;通過Aglets提供的Dispatch功能遠程召回對PCI-6220 NI數據采集卡采集的數據進行處理分析的agent。
實驗結果表明,基于移動agent的虛擬儀器系統(tǒng)體系結構模型可以提高現(xiàn)有虛擬儀器系統(tǒng)的執(zhí)行效率,增強其擴展性。這是因為移動agent技術遷移的是邏輯而非數據。雖然移動agent的代碼和參數都需要在網絡環(huán)境中傳輸,但這兩者結合起來的傳輸量仍比需要處理分析的原始數據量少的多,這種盡可能在本地機上處理分析數據的方式,有利于提高虛擬儀器系統(tǒng)的執(zhí)行效率。
此外,在該體系結構的仿真實驗中需要多次實驗以確定合適的采樣周期和觸發(fā)間隔,即確定采樣率和采樣次數。采樣率越高則在單位周期內的采樣次數越多。而觸發(fā)器時間取決于所構建系統(tǒng)的運行速度。
為保證整個系統(tǒng)的正常運行,賦予每個處理分析agent一個生命周期值。當其成功執(zhí)行一次任務后,該值加1。隨著處理分析agent集合數量的不斷增大,需要淘汰生命周期不強的agent,即淘汰生命周期值最小的agent。
5 結論
基于移動agent的虛擬儀器系統(tǒng)體系結構模型的提出,結合了現(xiàn)有虛擬儀器系統(tǒng)和移動agent技術的優(yōu)勢,有利于改善現(xiàn)有虛擬儀器系統(tǒng)的可重用性和平臺依賴性,用戶可以用較少的系統(tǒng)開發(fā)維護費用和更少的時間開發(fā)出功能更強、質量更可靠的產品和系統(tǒng),有利于提高現(xiàn)有虛擬儀器系統(tǒng)的設計效率。