周 君 王傳喜
摘要:數(shù)據(jù)采集是仿真的一項(xiàng)重要內(nèi)容,只有通過數(shù)據(jù)采集和對有效數(shù)據(jù)的過濾,才可以實(shí)現(xiàn)回放、分析、評估等目的。HLA的對象模型模板規(guī)定了聯(lián)邦開發(fā)人員開發(fā)產(chǎn)生的數(shù)據(jù)可采用的接口,利用動態(tài)編譯數(shù)據(jù)采集工具與分層對象方法采集聯(lián)邦運(yùn)行中產(chǎn)生的數(shù)據(jù)。
關(guān)鍵詞:高層體系結(jié)構(gòu);數(shù)據(jù)采集;過濾方法
1引言
隨著分布式仿真(Distributed InteractiveSimulation,DIS)技術(shù)框架的廣泛應(yīng)用,其仿真系統(tǒng)對延展性的要求逐步提高。對于規(guī)模較小的數(shù)學(xué)仿真,由于運(yùn)算量和記錄數(shù)據(jù)較少,可以在單臺微機(jī)上運(yùn)行;對于大規(guī)模的作戰(zhàn)仿真。其運(yùn)算量非常大,事后分析所需記錄的數(shù)據(jù)量也非常大”數(shù)據(jù)采集是仿真的一項(xiàng)重要內(nèi)容,只有通過數(shù)據(jù)采集和對有效數(shù)據(jù)的過濾,才可以實(shí)現(xiàn)回放、分析、評估等目的。
與DIS相比。高層體系結(jié)構(gòu)(High LevelArohitecture HLA)通過采取聯(lián)邦對象模型(Federation objecet Model,FOM)部分更新交換數(shù)據(jù)、系統(tǒng)延展、數(shù)據(jù)定購、時間與所有權(quán)管理等一系列措施,提高了仿真系統(tǒng)問的互操作性和仿真模型的可重用性。同時。這些措施也造成了仿真系統(tǒng)中的數(shù)據(jù)復(fù)雜化,增加了HLA仿真數(shù)據(jù)采集與過濾的難度。目前,數(shù)據(jù)采集與過濾方法集中在網(wǎng)絡(luò)節(jié)點(diǎn)負(fù)載、數(shù)據(jù)計(jì)算和存儲負(fù)載的擴(kuò)縮矛盾之上,并且數(shù)據(jù)處理需要通過RTI來進(jìn)行具體實(shí)現(xiàn),但是RTI只能交換邦員之間必要的公用數(shù)據(jù)。因此通過RTI的數(shù)據(jù)不能滿足數(shù)據(jù)采集與過濾的要求。
2HLA的結(jié)構(gòu)與基本原理
HLA主要由規(guī)則、對象模型模板、接口規(guī)范三部分組成。HLA的規(guī)則是指聯(lián)邦執(zhí)行過程中實(shí)現(xiàn)聯(lián)邦成員問的交互所必須遵守的原則和協(xié)定;對象模型模板規(guī)定了聯(lián)邦開發(fā)人員開發(fā)產(chǎn)生的數(shù)據(jù)可采用的接口;接口規(guī)范是聯(lián)邦成員和運(yùn)行時間支撐系統(tǒng)(Run Time Jnfrastructure,RTI)間的接口規(guī)范。HLA聯(lián)邦構(gòu)成的邏輯表示如圖1所示。
HLA中數(shù)據(jù)的管理提供基于類和基于值兩種數(shù)據(jù)過濾方法,它們分別是通過聲明管理和數(shù)據(jù)分發(fā)管理服務(wù)來實(shí)現(xiàn)的。
3利用動態(tài)編譯實(shí)現(xiàn)數(shù)據(jù)采集過濾
利用動態(tài)編譯數(shù)據(jù)采集工具的主要功能是采集聯(lián)邦運(yùn)行中產(chǎn)生的數(shù)據(jù),以一定的格式保存下來,為事后分析和回放提供數(shù)據(jù)源。
數(shù)據(jù)采集工具實(shí)現(xiàn)的原理是其執(zhí)行程序本身是獨(dú)立于具體聯(lián)邦的,但是它針對每一個仿真應(yīng)用都可以生成相應(yīng)代碼來適應(yīng)具體的需要。其過程為:首先通過配置向?qū)磉x擇配置信息,培植信息的內(nèi)容包括數(shù)據(jù)類型和聯(lián)邦運(yùn)行信息。其次,配置完成后,根據(jù)配置信息動態(tài)生成一系列代碼,將代碼形成動態(tài)編譯,形成成員。此成員就是針對于具體聯(lián)邦動態(tài)生成的數(shù)據(jù)采集成員。最后,用戶可以在形成的對象類樹表中選擇需要定購的信息。在仿真運(yùn)行過程中,就可以得到用戶所關(guān)心的數(shù)據(jù)內(nèi)容。圖2給出了數(shù)據(jù)采集過濾成員主要組成和運(yùn)行過程。
4分層對象數(shù)據(jù)采集過濾方法
借鑒HLA的設(shè)計(jì)思想,將實(shí)現(xiàn)數(shù)據(jù)收集的操作分為可公用部分和不可公用部分,對不可公用部分(與仿真數(shù)據(jù)定義有關(guān)的部分)與可公用部分(與仿真數(shù)據(jù)定義無關(guān)的部分)分別實(shí)現(xiàn),通過公用部分的重用來最大限度地實(shí)現(xiàn)嵌入代碼的重用。
按照數(shù)據(jù)收集過濾進(jìn)行的過程,數(shù)據(jù)收集可以分成四層共五個部分,如圖3所示。
應(yīng)用層:這一層是仿真系統(tǒng)的應(yīng)用部分,包括進(jìn)行仿真、回放和分析等,這些都是仿真系統(tǒng)在實(shí)際應(yīng)用中的具體功能。
控制層:選擇數(shù)據(jù)收集過濾策略,包括需要收集的數(shù)據(jù)、數(shù)據(jù)收集進(jìn)行的條件。
實(shí)現(xiàn)層:包括收集和獲取兩個部分。收集部分的功能是將各仿真數(shù)據(jù)轉(zhuǎn)換為規(guī)定格式的數(shù)據(jù);獲取部分則將收集的數(shù)據(jù)通過過濾轉(zhuǎn)換為仿真數(shù)據(jù),提供給相關(guān)的分析使用。
數(shù)據(jù)層:包括操作和數(shù)據(jù)兩部分,操作部分實(shí)現(xiàn)對數(shù)據(jù)的讀寫等操作。是數(shù)據(jù)部分與外界的接口;數(shù)據(jù)部分專用于數(shù)據(jù)的存儲。操作部分將仿真數(shù)據(jù)存儲方式的具體實(shí)現(xiàn)與仿真系統(tǒng)隔離,可以根據(jù)仿真的需要選擇不同的數(shù)據(jù)存儲方式。
5結(jié)束語
通過對基于HLA的太數(shù)據(jù)量數(shù)據(jù)采集與過濾的研究,提出了可行方法,實(shí)踐證明該方法基本上可以滿足系統(tǒng)的實(shí)時性需求。在實(shí)現(xiàn)數(shù)據(jù)采集的基礎(chǔ)上提高了代碼的可重用性,為仿真數(shù)據(jù)采集提供了一種新的有效途徑。