周 君 王傳喜
摘要:數據采集是仿真的一項重要內容,只有通過數據采集和對有效數據的過濾,才可以實現回放、分析、評估等目的。HLA的對象模型模板規定了聯邦開發人員開發產生的數據可采用的接口,利用動態編譯數據采集工具與分層對象方法采集聯邦運行中產生的數據。
關鍵詞:高層體系結構;數據采集;過濾方法
1引言
隨著分布式仿真(Distributed InteractiveSimulation,DIS)技術框架的廣泛應用,其仿真系統對延展性的要求逐步提高。對于規模較小的數學仿真,由于運算量和記錄數據較少,可以在單臺微機上運行;對于大規模的作戰仿真。其運算量非常大,事后分析所需記錄的數據量也非常大”數據采集是仿真的一項重要內容,只有通過數據采集和對有效數據的過濾,才可以實現回放、分析、評估等目的。

與DIS相比。高層體系結構(High LevelArohitecture HLA)通過采取聯邦對象模型(Federation objecet Model,FOM)部分更新交換數據、系統延展、數據定購、時間與所有權管理等一系列措施,提高了仿真系統問的互操作性和仿真模型的可重用性。同時。這些措施也造成了仿真系統中的數據復雜化,增加了HLA仿真數據采集與過濾的難度。目前,數據采集與過濾方法集中在網絡節點負載、數據計算和存儲負載的擴縮矛盾之上,并且數據處理需要通過RTI來進行具體實現,但是RTI只能交換邦員之間必要的公用數據。因此通過RTI的數據不能滿足數據采集與過濾的要求。
2HLA的結構與基本原理
HLA主要由規則、對象模型模板、接口規范三部分組成。HLA的規則是指聯邦執行過程中實現聯邦成員問的交互所必須遵守的原則和協定;對象模型模板規定了聯邦開發人員開發產生的數據可采用的接口;接口規范是聯邦成員和運行時間支撐系統(Run Time Jnfrastructure,RTI)間的接口規范。HLA聯邦構成的邏輯表示如圖1所示。
HLA中數據的管理提供基于類和基于值兩種數據過濾方法,它們分別是通過聲明管理和數據分發管理服務來實現的。
3利用動態編譯實現數據采集過濾
利用動態編譯數據采集工具的主要功能是采集聯邦運行中產生的數據,以一定的格式保存下來,為事后分析和回放提供數據源。
數據采集工具實現的原理是其執行程序本身是獨立于具體聯邦的,但是它針對每一個仿真應用都可以生成相應代碼來適應具體的需要。其過程為:首先通過配置向導來選擇配置信息,培植信息的內容包括數據類型和聯邦運行信息。其次,配置完成后,根據配置信息動態生成一系列代碼,將代碼形成動態編譯,形成成員。此成員就是針對于具體聯邦動態生成的數據采集成員。最后,用戶可以在形成的對象類樹表中選擇需要定購的信息。在仿真運行過程中,就可以得到用戶所關心的數據內容。圖2給出了數據采集過濾成員主要組成和運行過程。
4分層對象數據采集過濾方法
借鑒HLA的設計思想,將實現數據收集的操作分為可公用部分和不可公用部分,對不可公用部分(與仿真數據定義有關的部分)與可公用部分(與仿真數據定義無關的部分)分別實現,通過公用部分的重用來最大限度地實現嵌入代碼的重用。
按照數據收集過濾進行的過程,數據收集可以分成四層共五個部分,如圖3所示。
應用層:這一層是仿真系統的應用部分,包括進行仿真、回放和分析等,這些都是仿真系統在實際應用中的具體功能。
控制層:選擇數據收集過濾策略,包括需要收集的數據、數據收集進行的條件。
實現層:包括收集和獲取兩個部分。收集部分的功能是將各仿真數據轉換為規定格式的數據;獲取部分則將收集的數據通過過濾轉換為仿真數據,提供給相關的分析使用。
數據層:包括操作和數據兩部分,操作部分實現對數據的讀寫等操作。是數據部分與外界的接口;數據部分專用于數據的存儲。操作部分將仿真數據存儲方式的具體實現與仿真系統隔離,可以根據仿真的需要選擇不同的數據存儲方式。
5結束語
通過對基于HLA的太數據量數據采集與過濾的研究,提出了可行方法,實踐證明該方法基本上可以滿足系統的實時性需求。在實現數據采集的基礎上提高了代碼的可重用性,為仿真數據采集提供了一種新的有效途徑。