向楊蕊,姜守達(dá),宋國東
(1.中國人民解放軍92941部隊(duì)93分隊(duì),遼寧 葫蘆島 125000;2.哈爾濱工業(yè)大學(xué) 自動(dòng)化測試與控制系,哈爾濱 150001;3.黑龍江大學(xué) 學(xué)術(shù)期刊中心,哈爾濱 150080)
為了實(shí)現(xiàn) “按作戰(zhàn)方式進(jìn)行試驗(yàn)”的目標(biāo),靶場需要將自然環(huán)境、武器平臺、靶標(biāo)、測量設(shè)施、時(shí)統(tǒng)通信、指揮控制中心等有機(jī)集成并優(yōu)化運(yùn)行,為導(dǎo)彈武器系統(tǒng)構(gòu)建一個(gè)模擬真實(shí)戰(zhàn)場、可控、可測的虛實(shí)合成試驗(yàn)環(huán)境。對于大型及復(fù)雜的虛實(shí)合成試驗(yàn)環(huán)境運(yùn)行支撐軟件,軟件測試是保證軟件質(zhì)量和可靠性的重要手段[1],虛實(shí)合成試驗(yàn)環(huán)境中,內(nèi)場虛擬和構(gòu)造的仿真資源需要與外場真實(shí)裝備實(shí)時(shí)交互,因此對各個(gè)試驗(yàn)系統(tǒng)的實(shí)時(shí)性要求較高,且由于試驗(yàn)的目的不同,試驗(yàn)設(shè)計(jì)不同,這就要求各個(gè)仿真資源能夠互操作,并且可組合和可擴(kuò)充的,此外由于外場飛行試驗(yàn)耗費(fèi)大,在每次試驗(yàn)前都要對新組合成的試驗(yàn)環(huán)境進(jìn)行測試以保證試驗(yàn)的順利實(shí)施。因此,通過對虛實(shí)合成試驗(yàn)環(huán)境試驗(yàn)運(yùn)行支撐軟件進(jìn)行測試,檢驗(yàn)系統(tǒng)是否滿足規(guī)定的需求,以保證軟件的質(zhì)量,降低試驗(yàn)過程的風(fēng)險(xiǎn)。
虛實(shí)合成試驗(yàn)環(huán)境運(yùn)行支撐軟件是一個(gè)高性能、實(shí)時(shí)、低延遲的軟件,負(fù)責(zé)導(dǎo)彈虛實(shí)合成試驗(yàn)環(huán)境建立及運(yùn)行期間的所有信息交互,能夠提供一個(gè)適用于試驗(yàn)環(huán)境開發(fā)人員用于構(gòu)建試驗(yàn)應(yīng)用的標(biāo)準(zhǔn)API。該軟件支持對象、消息和數(shù)據(jù)流3種模式的數(shù)據(jù)傳輸,能夠?qū)崿F(xiàn)無服務(wù)器節(jié)點(diǎn)、分布運(yùn)行,并提供5大服務(wù),包括在線成員管理服務(wù)、生命管理服務(wù)、對象管理服務(wù)、時(shí)間管理服務(wù)和其他支持服務(wù)。
虛實(shí)合成試驗(yàn)環(huán)境運(yùn)行支撐軟件非實(shí)時(shí)網(wǎng)采用普通的以太網(wǎng)絡(luò),對于實(shí)時(shí)網(wǎng)我們選用的是VIMC反射內(nèi)存網(wǎng),對于數(shù)據(jù)交互頻繁且實(shí)時(shí)性要求較高的仿真節(jié)點(diǎn)運(yùn)行在反射內(nèi)存網(wǎng)上。并且通過網(wǎng)關(guān)節(jié)點(diǎn)解決兩種網(wǎng)絡(luò)的異構(gòu)問題。虛實(shí)合成試驗(yàn)環(huán)境運(yùn)行支撐軟件的體系結(jié)構(gòu)是影響其性能的重要因素之一,因此采用了類似多級總線的層次式體系結(jié)構(gòu),結(jié)合了集中式和分布式體系結(jié)構(gòu)的優(yōu)點(diǎn),既避免了中心節(jié)點(diǎn)的瓶頸問題,又節(jié)省了協(xié)調(diào)各系統(tǒng)的開銷。
通信與連接方式是影響性能的另一重要因素,虛實(shí)合成試驗(yàn)環(huán)境運(yùn)行支撐軟件中交互的消息可分為兩類:①數(shù)據(jù)類消息;②控制類消息。對于數(shù)據(jù)類消息可分為可靠的和盡可能的,采用組播的方式實(shí)現(xiàn)可以提高數(shù)據(jù)傳輸?shù)乃俣?;對于控制類消息,必須保證快速準(zhǔn)確地傳送,使訂購消息的聯(lián)邦成員能夠及時(shí)準(zhǔn)確地響應(yīng)控制命令,因此采用可靠的點(diǎn)對點(diǎn)方式通信。
時(shí)間管理算法是影響性能的關(guān)鍵因素,它主要用于提供系統(tǒng)時(shí)間管理策略,包括初始化及關(guān)閉、獲取時(shí)間偏差、同步服務(wù)等功能,為整個(gè)系統(tǒng)的時(shí)間一致性提供保證。
虛實(shí)合成試驗(yàn)環(huán)境運(yùn)行支撐軟件性能測試指標(biāo)的性能測試是指在一定的測試環(huán)境條件下,在基本的網(wǎng)絡(luò)測試的基礎(chǔ)上,對于各種性能指標(biāo),在各種條件下進(jìn)行重復(fù)測試。具體來說,虛實(shí)合成試驗(yàn)環(huán)境運(yùn)行支撐軟件性能指標(biāo)主要研究內(nèi)容包括以下幾個(gè)方面:
在虛實(shí)合成試驗(yàn)環(huán)境中,仿真系統(tǒng)需要與真實(shí)的裝備進(jìn)行交互,試驗(yàn)運(yùn)行的有效性依賴于數(shù)據(jù)的及時(shí)性,因此實(shí)時(shí)性是運(yùn)行支撐軟件的重要性能指標(biāo)之一,要保證虛實(shí)合成試驗(yàn)環(huán)境運(yùn)行支撐軟件在適當(dāng)?shù)臅r(shí)間以適當(dāng)?shù)姆绞胶晚樞蜻\(yùn)行,為此軟件必須滿足兩個(gè)時(shí)間約束條件:
1)軟件在規(guī)定的時(shí)間內(nèi)將來自聯(lián)邦成員的屬性更新消息轉(zhuǎn)發(fā)給相應(yīng)感興趣的聯(lián)邦成員;
2)軟件在規(guī)定的時(shí)間內(nèi)提供服務(wù)響應(yīng)。為了滿足這些時(shí)間約束條件測試者主要測試屬性更新延遲,我們采用Ping-Pong方式,就是說延遲時(shí)間的測量只在發(fā)送聯(lián)邦成員端進(jìn)行,另一聯(lián)邦成員在接收到消息后按照同樣的協(xié)議和數(shù)據(jù)格式回送消息,多次交互后取平均,即可得到屬性更新延遲。
吞吐量的定義是聯(lián)邦成員在零消息丟失率的情況下發(fā)送/接收交互的最大速率。吞吐量是反映系統(tǒng)在單位時(shí)間內(nèi)能夠處理的最大容量的數(shù)據(jù)包的一個(gè)重要指標(biāo)[3]。
時(shí)空一致性問題是虛實(shí)合成試驗(yàn)環(huán)境中的本質(zhì)和核心問題。由于網(wǎng)絡(luò)傳輸延遲不可避免,各節(jié)點(diǎn)間的消息通信不能實(shí)時(shí)到達(dá),會(huì)導(dǎo)致消息序錯(cuò)亂以及時(shí)序關(guān)系混亂等情況,嚴(yán)重影響虛實(shí)合成試驗(yàn)環(huán)境的正常運(yùn)行。此外,時(shí)空一致性問題還會(huì)影響系統(tǒng)的公平性和正確性,使得最終仿真得到的結(jié)果不可信。
虛實(shí)合成試驗(yàn)環(huán)境運(yùn)行支撐軟件測試環(huán)境采用實(shí)裝環(huán)境與仿真環(huán)境混合搭建的方式構(gòu)建,實(shí)裝環(huán)境包括:仿真環(huán)境由測試工具LoadRunner依據(jù)實(shí)際試驗(yàn)場景搭建,包括多個(gè)虛擬試驗(yàn)成員,虛擬成員與實(shí)裝設(shè)備通過運(yùn)行支撐軟件發(fā)送數(shù)據(jù)。虛實(shí)合成試驗(yàn)環(huán)境運(yùn)行支撐軟件性能測試環(huán)境見圖1。
圖1 虛實(shí)合成試驗(yàn)環(huán)境運(yùn)行支撐軟件性能測試環(huán)境Fig.1 Performance testing environment of LVC test running support software
本次軟件測試環(huán)境采用實(shí)裝環(huán)境與仿真環(huán)境混合搭建的方式構(gòu)建。其中,對運(yùn)行支撐軟件的功能、接口、性能、安裝性以及強(qiáng)度的測試均采用LoadRunner仿真,在實(shí)裝上測試的方法。經(jīng)分析,LoadRunner采用標(biāo)準(zhǔn)C語言的方式加載DLL文件,與實(shí)裝設(shè)備調(diào)用運(yùn)行支撐軟件的方式?jīng)]有差異。在模擬多個(gè)成員時(shí),可以按運(yùn)行支撐軟件的使用要求,使每個(gè)成員能夠獲取自己獨(dú)立的進(jìn)程,成員之間不會(huì)產(chǎn)生內(nèi)存資源沖突。故可以認(rèn)為使用LoadRunner仿真試驗(yàn)成員的方法可靠、有效。
4.1.1 測試方法
4.1.2 測試結(jié)果分析
根據(jù)屬性更新延遲的測試方法,對該虛實(shí)合成試驗(yàn)環(huán)境運(yùn)行支撐軟件在兩種不同網(wǎng)絡(luò)環(huán)境下的運(yùn)行情況進(jìn)行了測試。測試結(jié)果見表1。
表1 屬性更新延遲測試結(jié)果Table1 Test result of the delay of attribute update/ms
由屬性延遲的測試結(jié)果分析得知:受網(wǎng)絡(luò)環(huán)境的影響在廣域網(wǎng)上虛實(shí)合成試驗(yàn)環(huán)境運(yùn)行支撐軟件的實(shí)時(shí)性有所降低。但仍滿足<100ms的指標(biāo)要求。
4.2.1 測試方法
與實(shí)時(shí)性測試相同,通過在聯(lián)邦運(yùn)行之前增加測試程序段來完成吞吐量的性能測試,在測試過程中主要考慮的因素包括屬性更新次數(shù)和屬性更新數(shù)據(jù)量,由導(dǎo)彈試驗(yàn)管控系統(tǒng)建立聯(lián)邦后,火控在線仿真測試系統(tǒng)和導(dǎo)彈數(shù)字仿真系統(tǒng)加入聯(lián)邦,在初始化的過程中各分系統(tǒng)采用GPS授時(shí),進(jìn)行時(shí)間校準(zhǔn),火控在線仿真測試系統(tǒng)向?qū)棓?shù)字仿真系統(tǒng)發(fā)送屬性值,設(shè)M代表節(jié)點(diǎn)發(fā)布的測試信息的集合,對于任意的mi∈M,i≤n,Tp為發(fā)布節(jié)點(diǎn)發(fā)布n條測試信息的時(shí)間;Ts為訂購節(jié)點(diǎn)接收到n條測試信息的時(shí)間。
4.2.2 測試結(jié)果
根據(jù)屬性吞吐量的測試方法,對該虛實(shí)合成試驗(yàn)環(huán)境運(yùn)行支撐軟件在局域網(wǎng)和廣域網(wǎng)兩種不同網(wǎng)絡(luò)環(huán)境下的運(yùn)行情況進(jìn)行了測試,計(jì)算屬性吞吐量的函數(shù)調(diào)用次數(shù)為1000次。測試結(jié)果見表2。
表2 吞吐量測試結(jié)果Table2 Test result of throughput/byte·ms-1
4.3.1 測試方法
通過在內(nèi)場開展虛擬打靶試驗(yàn),對虛實(shí)合成試驗(yàn)環(huán)境時(shí)空一致性進(jìn)行測試,主要參加的試驗(yàn)節(jié)點(diǎn)有火控在線仿真測試系統(tǒng)、目標(biāo)模擬系統(tǒng)、導(dǎo)彈數(shù)字仿真系統(tǒng)、靶場測控仿真代理系統(tǒng),2D、3D顯示節(jié)點(diǎn)。由于內(nèi)外場的信息傳輸延遲不同,所以降低火控在線仿真系統(tǒng)和目標(biāo)模擬系統(tǒng)的數(shù)據(jù)傳輸率,使與外場傳輸?shù)竭\(yùn)行支撐軟件信息傳輸延遲基本相同,并對每個(gè)仿真節(jié)點(diǎn)記錄的數(shù)據(jù)主要包括以下幾類:
1)節(jié)點(diǎn)興趣實(shí)體集合;
2)異地實(shí)體狀態(tài)的接收;
3)狀態(tài)計(jì)算事件及其原因?qū)嶓w、結(jié)果實(shí)體;
4)觀察事件及其原因?qū)嶓w、結(jié)果實(shí)體;
5)本地實(shí)體的狀態(tài)變化。
虛擬打靶試驗(yàn)開展了10次,分析了各節(jié)點(diǎn)平均計(jì)算的仿真正確度和時(shí)間順序一致度。
4.3.2 測試結(jié)果
根據(jù)時(shí)空一致性的測試方法,對該虛實(shí)合成試驗(yàn)環(huán)境運(yùn)行支撐軟件的時(shí)空一致性進(jìn)行了測試,測試結(jié)果見表3。
表3 時(shí)空一致性測試結(jié)果Table3 Test result of time-space consistency
測試結(jié)果表明,一致性控制方法可行、有效,虛實(shí)合成試驗(yàn)環(huán)境的時(shí)空一致性滿足試驗(yàn)要求。
本文在全面分析虛實(shí)合成試驗(yàn)環(huán)境運(yùn)行支撐軟件特性的基礎(chǔ)上,同時(shí)結(jié)合不同仿真運(yùn)行支撐軟件性能測試的方法,提出了虛實(shí)合成試驗(yàn)環(huán)境運(yùn)行支撐軟件的性能測試方案,然后對各性能指標(biāo)進(jìn)行了詳細(xì)測試。通過對測試結(jié)果加以研究和分析后,證實(shí)該虛實(shí)合成試驗(yàn)環(huán)境運(yùn)行支撐軟件整體性能良好,具有低時(shí)延、吞吐量大和時(shí)空一致性的特點(diǎn),使內(nèi)外仿真與外場實(shí)裝能夠互操作并優(yōu)化運(yùn)行,能滿足虛實(shí)合成試驗(yàn)的需要。
[1]單錦輝,姜 瑛,孫 萍.軟件測試研究進(jìn)展 [J].北京大學(xué)學(xué)報(bào):自然科學(xué)版,2005,41(1):134-139.
[2]黃曉冬,何 友,姜本清.RTI實(shí)時(shí)性與信息吞吐量的研究與測試 [J].系統(tǒng)仿真學(xué)報(bào),2003,15(4):516-520.
[3]王 蒙,杜承烈,尤 濤,等.復(fù)雜虛擬試驗(yàn)運(yùn)行支撐軟件的性能測試研究 [J].計(jì)算機(jī)測量與控制,2010,18(3):632-635.
[4]張 偉.分布式大規(guī)模虛擬環(huán)境中的時(shí)序一致性 [D].長沙:國防科學(xué)技術(shù)大學(xué),2010.