楊海紅,張霞
(山西大學 計算機與信息技術學院,山西 太原 030006)
基于HLA仿真數(shù)據(jù)收集方法的研究
楊海紅,張霞
(山西大學 計算機與信息技術學院,山西 太原 030006)
論述了HLA下的仿真數(shù)據(jù)收集問題、數(shù)據(jù)收集內容以及數(shù)據(jù)收集方法的基本要求,通過分析已有的HLA數(shù)據(jù)收集方法分別給出了他們的優(yōu)點和不足,為進一步的研究奠定了基礎.
HLA;仿真;數(shù)據(jù)收集
仿真技術是多種學科相結合的一種新型技術,以計算機和一些其他專用設備為工具,通過建立系統(tǒng)模型來模擬動態(tài)實驗,完成各種仿真應用.其有著較高的可靠性和靈活性,又經(jīng)濟實用,因此,已經(jīng)成為各個領域系統(tǒng)設計、實現(xiàn)和評測的有力工具.近年來網(wǎng)絡和通訊技術的飛速發(fā)展,推動了計算機仿真技術從集中式到分布式的發(fā)展,分布式仿真技術已成為當今仿真領域的前沿和研究熱點.在高科技迅速發(fā)展的今天,智能信息逐漸滲透到生活的各個方面,特別是智能控制方面,總之,仿真技術將會成為高科技領域的綜合性技術.
數(shù)據(jù)收集用來記錄仿真應用實現(xiàn)的整個過程,是仿真技術的核心部分,可以通過收集到的數(shù)據(jù)對仿真過程重新分析.高層體系結構HLA是當前仿真系統(tǒng)技術領域新型的體系結構,已經(jīng)被廣泛應用于生活的各個領域.然而,HLA結構在技術實現(xiàn)上依然存在一定的問題,甚至某些方法增加了HLA體系結構下仿真數(shù)據(jù)收集技術的難度.因此,為了解決以上問題使仿真技術能更好地應用于各個領域,應該對數(shù)據(jù)收集技術做出更進一步的研究.
近年來,國外的科研工作者對HLA仿真系統(tǒng)中的數(shù)據(jù)收集技術做了大量的研究.Thomas等人[1]分享了仿真環(huán)境中數(shù)據(jù)收集的一些經(jīng)驗;Pauline等人[2]給出了一個系統(tǒng)模型,該模型幫助仿真環(huán)境中聯(lián)邦成員確定數(shù)據(jù)收集的布置.Pauline等人[3]給出了數(shù)據(jù)收集在HLA仿真技術中的作用;同時,在我國也有越來越多的人開始關注HLA仿真系統(tǒng)中數(shù)據(jù)收集技術,雷剛等人[4]對仿真環(huán)境中數(shù)據(jù)收集技術的擴展性進行了分析;宋輝等人[5]從屬性聚合的角度提出了HLA下仿真數(shù)據(jù)收集方法;蔣夏軍等人[6]通過考慮數(shù)據(jù)在外存中的存儲和組織方式,盡可能的減少了數(shù)據(jù)收集技術對仿真應用的影響.
隨著HLA在軍事、航空、經(jīng)濟科技等領域廣泛應用,HLA數(shù)據(jù)收集技術也顯得越來越重要.然而,由于HLA仿真數(shù)據(jù)的復雜性和仿真數(shù)據(jù)量空前龐大,仿真結果數(shù)據(jù)的存儲成為HLA仿真應用的一項重要技術挑戰(zhàn).因此隨著HLA體系結構在眾多領域的普遍應用,進一步研究HLA的數(shù)據(jù)收集技術顯得越來越重要.鑒于此,本文著重分析了HLA下的數(shù)據(jù)收集存在的問題、數(shù)據(jù)收集相關的內容、數(shù)據(jù)收集方法中的一些基本要求,并概括了已有的HLA數(shù)據(jù)收集方法給出了其各自的優(yōu)點和不足,對HLA下數(shù)據(jù)收集有了更深刻的認識.
為了進一步提高仿真環(huán)境中仿真系統(tǒng)模型的通用性和高效性,HLA采用了一些相關的技術,然而這些技術卻增加了仿真環(huán)境中的數(shù)據(jù)收集的復雜度,同時也增加了數(shù)據(jù)收集功能實現(xiàn)的難度.具體實現(xiàn)措施如下:
(1)用戶定義的聯(lián)邦對象模型:不同聯(lián)邦的數(shù)據(jù)是由使用者利用各自的規(guī)則進行確定的,所以每個聯(lián)邦都有一套屬于自己模式的HLA數(shù)據(jù),只能使用各自的規(guī)則來完成這些數(shù)據(jù)的收集,這樣很大程度上增加了數(shù)據(jù)收集的難度.
(2)局部更新的交互式數(shù)據(jù):與全局方法相比,局部更新交互數(shù)據(jù)可以在一定程度上節(jié)省網(wǎng)絡流量,同時減少因數(shù)據(jù)之間的大量交互對系統(tǒng)的影響,然而該方法不能隨時得到相應對象的透視圖,因此,我們需要用原始的數(shù)據(jù)不斷重構新的對象以供當前使用.
(3)系統(tǒng)的擴展性:隨著仿真環(huán)境中數(shù)據(jù)規(guī)模的迅速增大,對仿真系統(tǒng)的擴展性要求也越來越高,僅僅用單一的數(shù)據(jù)收集器就不能滿足大規(guī)模數(shù)據(jù)的需要,因此需要使用多個系統(tǒng)收集軟件的組合來完成仿真系統(tǒng)的設計.
(4)時間的安排:仿真系統(tǒng)中的各聯(lián)邦成員可以工作于多種相異的時間規(guī)則下,然而使用這種方法可能會使得接收到的數(shù)據(jù)順序出錯,這就需要數(shù)據(jù)收集器使用相關的技術為相應的數(shù)據(jù)加上不同的時間戳.
(5)對象的權力范圍:不同的對象擁有在各聯(lián)邦成員之間相互轉移的權力,然而權力的轉移可能會影響仿真系統(tǒng)中通信性能和計算能力等.
以上方法雖然在一定程度上提高了仿真系統(tǒng)數(shù)據(jù)之間的互操作性和仿真系統(tǒng)的可重用性,然而卻明顯地增加了仿真數(shù)據(jù)收集技術實現(xiàn)的難度.此外,已有的一些數(shù)據(jù)收集技術也無法在HLA仿真環(huán)境下被應用,所以我們必須在HLA仿真環(huán)境有針對性開發(fā)相應的數(shù)據(jù)收集技術來滿足仿真系統(tǒng)的需要.
鑒于仿真環(huán)境中數(shù)據(jù)規(guī)模的高速增長和結構的不斷變化,在已有的仿真系統(tǒng)中存在一些相異的數(shù)據(jù)收集方法,具體可歸結為三種:
(1)聯(lián)邦成員收集:該方法首先指定一定的聯(lián)邦收集成員,然后根據(jù)需要隨時通知他們提前預定數(shù)據(jù),最后通過相關技術收集并記錄這些數(shù)據(jù).這種數(shù)據(jù)收集方法有便捷、靈活等優(yōu)點,然而只能用于關鍵數(shù)據(jù)的收集并可能增加網(wǎng)絡負擔.
(2)中間件:中間件是用來幫助完成數(shù)據(jù)交互的軟件,是系統(tǒng)不可缺少的重要構件.該方法純屬被動的數(shù)據(jù)收集技術,使用于所有相同版本的數(shù)據(jù)收集軟件,也不影響數(shù)據(jù)傳輸?shù)男?但是該方法僅僅得到RTI和聯(lián)邦成員兩者間的互操作數(shù)據(jù),并且針對不同方法收集的數(shù)據(jù)需使用相應的軟件來幫助翻譯.
(3)代碼管理:數(shù)據(jù)收集軟件的代碼可以直接嵌入在聯(lián)邦成員軟件中.該方法能夠完成大部分的數(shù)據(jù)的獲取,也沒必要設計固定的程序來解釋收集到的數(shù)據(jù),然而該方法的獲取程序的可擴展性低.
為了能更好地實現(xiàn)數(shù)據(jù)收集,首先要明確整個仿真過程以及該過程發(fā)生的原因、方式和事件,除此之外,最重要的步驟就是用多種已有的數(shù)據(jù)收集技術來完成不同來源數(shù)據(jù)的收集.本節(jié)從數(shù)據(jù)來源的角度考慮,將高層體系結構的數(shù)據(jù)收集內容大致歸納為三種:
(1)邦員交互產生的數(shù)據(jù):這是實現(xiàn)聯(lián)邦仿真系統(tǒng)的主要數(shù)據(jù),這些數(shù)據(jù)產生于聯(lián)邦成員發(fā)送的在傳輸過程中不斷更新的有效數(shù)據(jù),該傳輸過程也是數(shù)據(jù)收集的主要任務.同時,聯(lián)邦對象有時也會收集一些關鍵的數(shù)據(jù),這些數(shù)據(jù)可以更好的使用于高度復雜的仿真系統(tǒng),并且僅供自己使用.所以數(shù)據(jù)收集軟件需要有針對性的設計,來滿足各種數(shù)據(jù)收集需要.
(2)人工收集的數(shù)據(jù):這部分數(shù)據(jù)是使用傳統(tǒng)的手動方式產生的,由觀測人員記錄整個仿真事件發(fā)生的時間和相關的內容等.該過程中產生的絕大多數(shù)關鍵性數(shù)據(jù)可能會以其他的形式保存,而一些結論性的數(shù)據(jù)需要直接輸入到仿真系統(tǒng)中.因此收集這部分數(shù)據(jù)有助于研究更深層次的仿真事件.
(3)輔助數(shù)據(jù):這是仿真系統(tǒng)軟件的操作人員在仿真環(huán)境中完成仿真模擬過程時產生的音頻和視頻文件數(shù)據(jù).記錄這部分數(shù)據(jù)可以排除仿真系統(tǒng)在仿真應用中外部因素的影響,幫助更加準確無誤的分析已有的系統(tǒng),為進一步的研究提供幫助.
通過對HLA數(shù)據(jù)收集中存在的問題、實現(xiàn)方式和收集內容的分析,HLA仿真提出了以下幾點基本要求來幫助實現(xiàn)數(shù)據(jù)收集:
(1)數(shù)據(jù)收集軟件的擴展性:現(xiàn)實中很多仿真數(shù)據(jù)隨著時間的推移不斷增多,規(guī)模也越來越大,很難確定仿真應用中網(wǎng)絡節(jié)點的數(shù)量,這就需要通過設計擴展性較好的相關軟件來適應節(jié)點不斷變化的HLA仿真數(shù)據(jù)收集技術.
(2)減少系統(tǒng)運行中的干擾:從數(shù)據(jù)處理效率和網(wǎng)絡傳輸能力兩方面出發(fā),一方面通過提高硬件的性能來增加設備的處理能力,另一方面通過設計高性能的軟件來保證系統(tǒng)的高效性,盡可能地減少噪音干擾,最終實現(xiàn)高層體系結構的仿真技術.
(3)確保HLA仿真的開放性和靈活性:這要求在盡可能不影響HLA原來的性能的情況下加入獨立的專用數(shù)據(jù)收集軟件,比如數(shù)據(jù)的大量傳輸和數(shù)據(jù)篩選等導致通信能力下降及對象模型擴展性、重用性.
(4)邦員的自主性:通過使用封裝技術來實現(xiàn)邦員自主性,將公共的操作部分封裝起來,對外提供統(tǒng)一標準的物理接口和數(shù)據(jù)存儲處理規(guī)則,保證系統(tǒng)盡可能的應用于過程中的仿真對象.
(5)系統(tǒng)應獨立于操作系統(tǒng)和應用平臺:目前 HLA已經(jīng)有較好的獨立性,聯(lián)邦成員可以在各自的操作系統(tǒng)和應用平臺上交互信息,高效地實現(xiàn)仿真應用.因此數(shù)據(jù)收集軟件最為其中的獨立構件也應盡可能維持HLA的這種優(yōu)點,保證軟件的普適性.
在分析HLA下數(shù)據(jù)收集存在的問題、實現(xiàn)的方式以及相關的要求后,將目前已有的主要的數(shù)據(jù)收集方法作以下介紹,然后通過對比各種方法,分析其各自在應用中的優(yōu)劣勢,進一步理解數(shù)據(jù)收集的本質,更好的改進該方法.
該方法以磁盤為存儲介質,將仿真應用中的數(shù)據(jù)寫入到提前準備好的關系數(shù)據(jù)庫中,常用的數(shù)據(jù)庫系統(tǒng)有Oracle和Microsoft SQL Server商業(yè)數(shù)據(jù)庫等.高層體系結構仿真系統(tǒng)中一個關鍵的性能指標是過程的實時性.仿真系統(tǒng)的實時性貫穿于仿真系統(tǒng)軟件開發(fā)的整個過程中,需要各個階段的因素綜合考慮,是一個復雜的過程.這類數(shù)據(jù)收集方案主要從多個角度出發(fā)處理仿真過程中的實時性要求的:①減少仿真步長計算中數(shù)據(jù)調用、存儲時與系統(tǒng)的交互時間;②盡可能減小數(shù)據(jù)的交互通信,進而降低數(shù)據(jù)延遲.③利用成熟的關系數(shù)據(jù)庫技術優(yōu)化數(shù)據(jù)庫的設計結構,主要體現(xiàn)在建立索引、數(shù)據(jù)分割、適當冗余,使用存儲過程和觸發(fā)器等方面;④設計數(shù)據(jù)庫前臺應用時采用高速的數(shù)據(jù)接口,例如ADO接口.
由此可見該方案只要對具體仿真應用環(huán)境稍作修改就可以實現(xiàn)系統(tǒng)的專用,操作簡單方便.此外,使用經(jīng)典高效的數(shù)據(jù)庫管理技術來組織和管理仿真數(shù)據(jù),很大程度上增加了數(shù)據(jù)表達能力,數(shù)據(jù)操縱能力和健壯性,有利于系統(tǒng)規(guī)模的可擴縮性,同時可以進行即時信息檢索,找到最新數(shù)據(jù),有利于以后仿真過程的研究.然而,仿真活動具有較強的實時性,能快速準確地計算現(xiàn)有的最新相關數(shù)據(jù)和預測未來數(shù)據(jù).而傳統(tǒng)的數(shù)據(jù)庫技術只能處理固定的數(shù)據(jù),對實時數(shù)據(jù)管理的支持不夠.在仿真數(shù)據(jù)量很大時,數(shù)據(jù)提取和發(fā)送的速度上就難以達到HLA實時仿真的要求.
該方法首先分析已有數(shù)據(jù)的特點,選擇一種合適的組織方式定義數(shù)據(jù)存儲結構,然后將其按設計好的結構寫入到文件中,再根據(jù)需要通過數(shù)據(jù)庫管理系統(tǒng)軟件包含的管理工具創(chuàng)建一個實時的數(shù)據(jù)庫系統(tǒng).該系統(tǒng)使用“文件頭+定長記錄”法管理數(shù)據(jù),結構為:
數(shù)據(jù)文件=文件頭+用戶數(shù)據(jù).
由此可見數(shù)據(jù)文件包括兩部分內容,分別為控制信息和數(shù)據(jù)信息.文件頭用來存放控制信息,主要有數(shù)據(jù)的地址、數(shù)據(jù)的長度、存入及更新的時間、段落數(shù)等.用戶數(shù)據(jù)存放數(shù)據(jù)信息,該信息以記錄的形式組織.當需要訪問數(shù)據(jù)內容時,先讀入控制信息,然后利用相關的控制信息計算所讀數(shù)據(jù)的地址,最終實現(xiàn)數(shù)據(jù)的準確定位和高效訪問.
仿真系統(tǒng)除了需要合理的存儲數(shù)據(jù)外還需有效的管理,以便在仿真應用過程中準確無誤的為仿真人員傳遞信息,其中為數(shù)據(jù)添加索引文件技術是非常重要的.
該方案存儲速度較基于磁盤的傳統(tǒng)關系數(shù)據(jù)庫要快,對磁盤空間和網(wǎng)絡帶寬的要求不高.然而該方法只適用于簡單的數(shù)據(jù)讀寫,無法實現(xiàn)仿真模擬過程中對復雜數(shù)據(jù)的合理準確應用,這對仿真系統(tǒng)的實現(xiàn)有很大的影響.并且由于其較強的針對性,只能針對具體的仿真系統(tǒng)設計具體的數(shù)據(jù)文件存儲結構和索引結構,不利于仿真系統(tǒng)的部件重用.
時間的合理性是HLA仿真系統(tǒng)中重要因素.能否有效的利用仿真過程中的時間直接影響著仿真的最終結果.HLA仿真技術規(guī)定系統(tǒng)中的聯(lián)邦成員能實時動態(tài)的管理自己的時間,比如為傳輸中的數(shù)據(jù)設置編號,保證接收到的數(shù)據(jù)按正確的順序重新排列.此外,數(shù)據(jù)處理過程是動態(tài)增量的,隨著時間的推移不斷有新的數(shù)據(jù)加入或者原數(shù)據(jù)被更新,這些數(shù)據(jù)都有特定的時態(tài)信息,需要對其進行記錄和標注.因此,使用時態(tài)數(shù)據(jù)庫在這個過程中起了關鍵的作用,它充分利用數(shù)據(jù)庫管理軟件提供的數(shù)據(jù)處理功能,可以有規(guī)律地動態(tài)記錄各種數(shù)據(jù)的所有信息,并對這些數(shù)據(jù)進行有效的管理,較之傳統(tǒng)的數(shù)據(jù)庫系統(tǒng),其有著明顯的優(yōu)點,為HLA仿真系統(tǒng)下的數(shù)據(jù)收集提供了很大的方便.
該方案將時態(tài)信息引入仿真數(shù)據(jù)收集,充分體現(xiàn)了RTI中的時間概念,對于仿真系統(tǒng)的高效回放和按時間戳查詢有較好的優(yōu)勢.然而,對于仿真系統(tǒng)的事后分析存在不足,和基于實時數(shù)據(jù)庫的數(shù)據(jù)收集方案一樣,只能針對具體的仿真系統(tǒng)設計具體的數(shù)據(jù)文件存儲結構和索引結構,不利于仿真系統(tǒng)的部件重用.
HLA下的仿真系統(tǒng)受到了越來越多的科研工作者的關注,并廣泛應用于各個領域.數(shù)據(jù)收集作為仿真系統(tǒng)實現(xiàn)的關鍵技術,對仿真應用的最終結果有很大的影響.鑒于此,本文從仿真系統(tǒng)技術出發(fā),著重討論了HLA下仿真系統(tǒng)中的數(shù)據(jù)收集技術,包括HLA下的數(shù)據(jù)收集問題、數(shù)據(jù)收集內容以及數(shù)據(jù)收集方法的基本要求,最后通過分析已有的HLA數(shù)據(jù)收集方法分別給出了他們的優(yōu)點和不足,為進一步的研究奠定基礎.
[1] Thomas K Neuberger.A Progress Report:Recommended Practices for Data Collection in HLA and other ADS Environments[DE/OL].Http://sis.Sc.its.ucf.edu/siw/98fall/view-papers.Htm.
[2] Pauline A Wilcox.Abstract Modelling to Explore Data Collection Options[R].European Simulation Interoperability Workshop,2001:629-637.
[3] Pauline A Wilcox.Advanced Distributed Simulation:a Review of Developments and Their Implication for Data Collection and Analysis[J].SimulationPracticeandTheory,2000,8(3):201-231.
[4] 雷剛,王召福,金士堯.數(shù)據(jù)采集對 HLA仿真系統(tǒng)伸縮性的影響及其解決方案[J].計算機仿真,2003,20(1):83-85.
[5] 宋輝,劉曉建,金士堯.HLA環(huán)境下基于聚合屬性的數(shù)據(jù)采集方法[J].計算機仿真,2004,21(4):60-62.
[6] 蔣夏軍,李蔚清,吳慧中.高級分布式仿真中的數(shù)據(jù)收集技術研究[J].系統(tǒng)仿真學報,2004,16(8):1758-1761.
Research on Data Collection Methodlogy based on HLA Simulation
YANG Hai-hong,ZHANG Xia
(SchoolofComputerandInformationTechnology,ShanxiUniversity,Taiyuan030006,China)
The problems of simulations data collection,and introduces the contents and methods of HLA(High Level Architecture)simulation data collection were studied.Beside,we analyze advantages and disadvantages of the existing composition of HLA data collection programs,which help us understand it better and will be as the basis for further research.
HLA;simulation;data collection
TP15;N945.13
A
0253-2395(2011)S2-0024-04
2011-08-25
楊海紅(1981-),女,山西臨縣人,碩士研究生.*通訊聯(lián)系人:E-mail:zhangxia@sxu.edu.cn