999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于實裝軟件的構(gòu)造仿真技術(shù)研究

2018-10-29 01:39:48段雨昕卿杜政周敏王源源
現(xiàn)代防御技術(shù) 2018年5期
關(guān)鍵詞:系統(tǒng)

段雨昕,卿杜政,周敏,王源源

(1.中國航天科工集團有限公司 第二研究院,北京 100854;2.北京仿真中心 航天系統(tǒng)仿真重點實驗室,北京 100854; 3.北京電子工程總體研究所,北京 100854)

0 引言

仿真系統(tǒng)根據(jù)系統(tǒng)中人員參與和仿真模型的組成關(guān)系不同可分為實況仿真(live simulation)、虛擬仿真(virtual simulation)、構(gòu)造仿真(constructive simulation)[1-2]。構(gòu)造仿真重點應(yīng)用于對戰(zhàn)爭的分析和演練。其在軍事領(lǐng)域應(yīng)用廣泛,涵蓋了武器裝備效能評估、模擬戰(zhàn)爭過程和基于仿真的試驗評估等。構(gòu)造仿真系統(tǒng)具有人員參與少,系統(tǒng)自身閉環(huán),批量運行,運行過程中計算量大和數(shù)據(jù)處理要求高的特點[3]。

目前國內(nèi)構(gòu)造仿真中構(gòu)建分布式仿真系統(tǒng)時通常是基于HLA標準,使用運行支撐環(huán)境(run time infrastructure,RTI)[4]。在構(gòu)造仿真中仿真軟件存在重新建模帶來的仿真可信度問題[5]。而且模型的校核也需要大量的工作,難以與裝備的研制同步進行。隨著實際裝備不斷的更新?lián)Q代,仿真模型開發(fā)者為保證與實裝同步需要進行大量重復(fù)的開發(fā)工作。

使用實裝軟件接入構(gòu)造仿真系統(tǒng)是提高仿真置信度與仿真效率,減少仿真系統(tǒng)開發(fā)建模重復(fù)工作的重要途徑。但因為實裝軟件與仿真系統(tǒng)軟件的通信機制和時間管理策略都存在差異,所以需要通過適配中間件的形式使實裝軟件和仿真平臺間實現(xiàn)交互信息的正確傳遞和統(tǒng)一的時間管理。通信組件將實裝軟件的網(wǎng)絡(luò)通信數(shù)據(jù)轉(zhuǎn)換成為HLA標準的交互類消息通過RTI分發(fā)。時統(tǒng)組件統(tǒng)一仿真系統(tǒng)中各個實裝軟件的時間來實現(xiàn)仿真系統(tǒng)的時間一致性。

1 HLA/RTI與實裝軟件特點

1.1 HLA/RTI特點

HLA并不考慮怎么在對象的基礎(chǔ)上構(gòu)建成員,它重點在于解決構(gòu)建聯(lián)邦的問題。它把仿真支撐環(huán)境的工作和聯(lián)邦成員的開發(fā)工作作為2部分,將運行管理工作還有通信工作與仿真功能分別進行[6]。HLA以面向?qū)ο蟮乃悸穪順?gòu)建、研發(fā)和應(yīng)用仿真對象模型,進而能夠使這樣開發(fā)出來的仿真聯(lián)邦擁有很好的互操作和可重用性[7-8]。RTI按照HLA的接口規(guī)范標準進行開發(fā),它具體支持了HLA規(guī)范中的服務(wù),使基于HLA標準開發(fā)的軟件在RTI平臺的支撐下組成分布式仿真系統(tǒng)成為可能。基于HLA標準的仿真系統(tǒng)邏輯結(jié)構(gòu)如圖 1所示。

圖1 HLA標準的仿真系統(tǒng)邏輯結(jié)構(gòu)Fig.1 Logic structure of HLA simulation system

HLA所規(guī)定的是一種分布式仿真標準體系,RTI是基于HLA標準結(jié)構(gòu)的軟件實現(xiàn)。HLA標準定義的通信是以對象類和交互類的發(fā)布/訂閱來完成聯(lián)邦成員之間的信息交互。由對象管理服務(wù)統(tǒng)一對聯(lián)邦執(zhí)行過程中的信息交互進行管理。HLA/RTI的時間推進方式可以分為3類:基于步長的時間推進,基于事件的時間推進以及樂觀的時間推進。最為常用的是采用固定步長和基于下一事件的時間推進方式[9]。

1.2 實裝軟件特點

實裝軟件是武器系統(tǒng)實際裝備軟件的簡稱,一般具有多個節(jié)點,是多個軟件組成的一套整體運行的軟件集合。部分實裝軟件具有高實時性要求,是在VxWorks硬實時操作系統(tǒng)上開發(fā)運行的。還有部分軟件是在Windows系統(tǒng)上直接運行的。本研究中基于VxWorks系統(tǒng)的實裝軟件經(jīng)過操作系統(tǒng)移植后,能夠正確在Windows+RTX(8.1.2)系統(tǒng)上運行且測試通過。

實裝軟件之間通信主要通過網(wǎng)絡(luò)套接字實現(xiàn),在與HLA集成之前需要采用模擬套接字方式通過共享內(nèi)存進行通信數(shù)據(jù)接管[10-11]。實裝軟件時間來源一般是GPS等硬件授時設(shè)備,也可以采用本機時間作為相對時間來執(zhí)行任務(wù)。

2 實裝軟件構(gòu)造仿真技術(shù)基本原理

根據(jù)實裝軟件仿真適配中間件數(shù)據(jù)交互方式以及時間管理策略,通過與HLA/RTI的標準進行通信適配并采用統(tǒng)一的時統(tǒng)技術(shù),構(gòu)建集成運行的仿真系統(tǒng)。

本文提出實裝軟件接入仿真平臺總體架構(gòu)如圖2所示,圖中的實裝軟件都可以運行在Windows系統(tǒng)上,仿真適配中間件承接了實裝軟件的網(wǎng)絡(luò)通信,以共享內(nèi)存的形式提供了通信數(shù)據(jù)的接口。通信組件和時間統(tǒng)一組件則完成了與仿真平臺的信息交互和時間同步。通信組件使實裝軟件原本基于網(wǎng)絡(luò)傳遞的消息以HLA標準的交互類進行交互。通過RTI發(fā)送實裝軟件需要發(fā)送的數(shù)據(jù),同時從RTI接收其他節(jié)點的交互數(shù)據(jù)。時間統(tǒng)一組件則主要完成仿真系統(tǒng)和實裝軟件間的運行時間、任務(wù)同步等方面的匹配,從而保證實裝軟件運行時序正確。

圖2 仿真集成總體架構(gòu)Fig.2 General structure of integrated simulation system

3 通信組件

實裝軟件的通信消息從原本的網(wǎng)絡(luò)套接字的形式通過共享內(nèi)存機制,分別以接收共享內(nèi)存和發(fā)送共享內(nèi)存的形式提供數(shù)據(jù)對其他進程的共享通道。因此通信組件的功能是制定通用的HLA交互數(shù)據(jù)協(xié)議,通過RTI標準接口將數(shù)據(jù)正確發(fā)送和接收。

3.1 RTI數(shù)據(jù)交互協(xié)議

3.1.1 交互協(xié)議模型

為了使通信組件的數(shù)據(jù)交互協(xié)議能夠盡可能的通用,本文只定義了交互類并沒有定義對象類,也沒有對消息的內(nèi)容進行區(qū)分。本文定義的交互類只設(shè)計了一個基類BaseMsg。其他的交互類則繼承自該基類,因此也繼承了基類中的全部參數(shù)。在HLA聯(lián)邦數(shù)據(jù)傳輸中有reliable模式和best_effort模式,reliable模式在RTI中使用TCP協(xié)議發(fā)送,保持消息可靠性,而best_effort模式RTI中采用UDP方式發(fā)送[12]。本文考慮到使用的網(wǎng)絡(luò)環(huán)境是局域網(wǎng)基本不存在丟包的現(xiàn)象,因此交互類消息全部采用best_effort方式,而且希望設(shè)計的組件盡量具有通用性因此只使用一個交互類基類進行交互。以繼承自BaseMsg 類的A_Inter和B_Inter 2個交互類為例,對象數(shù)據(jù)模型如下:

(interactions)

(class BaseMsg best_effort receive

(parameter SendSockAddr)

∥發(fā)送方IP地址

(parameter RecvSockAddr)

∥接收方IP地址

(parameter CurrentTime)

∥發(fā)送時間

(parameter EventTime)

∥事件發(fā)生時間

(parameter MsgType)

∥消息類型

(parameter CommType)

∥通訊類型

(parameter MsgLength)

∥消息長度

(parameter MsgContent)

∥消息內(nèi)容

(class A_Inter best_effort receive)

∥繼承自BaseMsg的交互類A

(class B_Inter best_effort receive)

∥繼承自BaseMsg的交互類B

(class _Outer best_effort receive)

∥繼承自BaseMsg的交互類B

)

)

上面定義的_Inter類對應(yīng)著一套閉環(huán)運行的軟件的內(nèi)部的交互,當需要多套軟件之間交互時還需要訂購與發(fā)布_Outer類。

3.1.2 交互類發(fā)布/訂購模式

交互類的發(fā)布/訂購模式如圖 3所示,如果所有成員采用統(tǒng)一的BaseMsg交互類進行發(fā)布和訂購會使A組內(nèi)的成員間的消息也被B組成員接收,因而降低網(wǎng)絡(luò)傳輸效率。本研究采用的是為組成一個火力單元的實裝軟件定義單獨的交互類的模式。以圖中結(jié)構(gòu)為例,定義A_Inter,B_Inter 2種交互類。其中A_Inter用于A組內(nèi)成員的交互,B_Inter用于B組內(nèi)成員的交互。如果A組成員需要與B組成員交互則通過_Outer類進行。通過這種方式可以有針對性地對交互類進行管理與擴展,避免網(wǎng)絡(luò)中的通信冗余。

圖3 交互類發(fā)布/訂購關(guān)系圖Fig.3 Relation structure of interactive publishing & subscription

3.2 RTI交互數(shù)據(jù)通訊

RTI支持HLA標準的交互類數(shù)據(jù)的訂購與發(fā)布功能,在仿真聯(lián)邦運行過程中通過標準的數(shù)據(jù)發(fā)送和數(shù)據(jù)接收接口可以實現(xiàn)交互類數(shù)據(jù)的發(fā)送與接收。

當實裝軟件要通過RTI發(fā)送交互數(shù)據(jù)時,其在仿真適配中間件中設(shè)置了一個發(fā)送信息的回調(diào)函數(shù),該函數(shù)回調(diào)RTI交互數(shù)據(jù)發(fā)送標準接口。在RTI平臺接收到交互數(shù)據(jù)需要傳遞給實裝軟件時,RTI的接收消息處理框架中調(diào)用通信組件提供的接收消息處理接口函數(shù)。交互數(shù)據(jù)的發(fā)送和接收信息流程如圖4所示,圖中上半部分是通信組件與實裝軟件的信息流程本文不再贅述,下半部分SendMsg()與SubmitRecvMsg()是RTI與通信組件的數(shù)據(jù)發(fā)送和接收的函數(shù)接口。

圖4 交互數(shù)據(jù)信息流程示意圖Fig.4 Schematic flow chart of interaction message

4 時間統(tǒng)一組件

時間統(tǒng)一組件實現(xiàn)實裝軟件與RTI多個節(jié)點軟件的同步運行功能和時間管理功能。

4.1 同步控制

在RTI基于步長推進方式的框架中控制仿真周期任務(wù)的函數(shù)為OnStep( )也稱為周期調(diào)度函數(shù)。它隨著每一幀的仿真運行不斷的循環(huán)執(zhí)行,每執(zhí)行完一次都使仿真時間推進一個周期[13]。實裝軟件運行時同樣具有周期定時執(zhí)行的任務(wù)。同步控制需要把RTI周期調(diào)度函數(shù)與實裝軟件的周期任務(wù)進行同步。在RTI周期調(diào)度函數(shù)開始時觸發(fā)實裝軟件的任務(wù)運行信號量,任務(wù)結(jié)束后設(shè)置結(jié)束信號量通知RTI。如此采用信號量控制的方式與RTI的周期調(diào)度函數(shù)進行同步,實現(xiàn)同步控制功能。

本文中同步控制函數(shù)有2組共4個。其中一組為部署在實裝軟件端的WaitingForEnterOnStep( )和ExitOnStep( )函數(shù),另一對為部署在RTI仿真集成框架周期調(diào)度函數(shù)OnStep()中的EnterOnStep( )和WaitingForExitOnStep( )函數(shù)。

其中EnterOnStep( )和ExitOnStep( )函數(shù)的實現(xiàn)主要是借助RTX的系統(tǒng)事件觸發(fā)函數(shù)RtSet-Event( )[14]。其功能是使括號內(nèi)的特定的事件激活。

而與之對應(yīng)的WaitingForEnterOnStep( )和WaitingForExitOnStep( )函數(shù)的實現(xiàn)主要是借助RTX的事件等待函數(shù)RtWaitForSingleObject( )。其功能是等待括號內(nèi)的特定事件處于激活狀態(tài)直到事件超時。

在此基礎(chǔ)上能夠?qū)崿F(xiàn)RTI的周期調(diào)度函數(shù)對實裝軟件的運行周期進行同步調(diào)度。WaitingForEnterOnStep( )部署在實裝軟件周期控制函數(shù)的周期開始之前, ExitOnStep( )函數(shù)部署在周期結(jié)束后。同理在RTI生成的仿真框架中的周期調(diào)度函數(shù)開始位置部署EnterOnStep( )函數(shù),在周期結(jié)束位置部署WaitingForExitOnStep( )函數(shù)。通過RTX事件控制函數(shù)就可以完成同步控制任務(wù),其同步過程如圖 5所示。

圖5 同步控制過程圖Fig.5 Procedure chart of synchronous control

(1) 實裝軟件中需要同步的任務(wù)在初始化之后進入等待信號量狀態(tài);

(2) RTI周期調(diào)度函數(shù)中EnterOnStep激活處于等待狀態(tài)的任務(wù),實裝周期任務(wù)開始執(zhí)行;

(3) 周期任務(wù)執(zhí)行結(jié)束后由ExitOnStep通知RTI周期調(diào)度函數(shù);

(4) RTI周期調(diào)度函數(shù)接收到ExitOnStep信號量,向聯(lián)邦申請時間推進;

(5) RTI時間管理推進仿真時間后繼續(xù)本同步過程。

4.2 循環(huán)等待機制

循環(huán)等待機制的功能是實現(xiàn)實裝軟件的運行線程與仿真運行的主線程之間相互協(xié)調(diào)。保證實裝軟件在運行過程中與仿真執(zhí)行的主線程在運行時間不一致時能夠統(tǒng)一調(diào)度,防止線程阻塞而影響仿真運行。循環(huán)等待機制通過在RTI周期調(diào)度中獲得本成員節(jié)點的實裝軟件調(diào)度結(jié)束的標志,但其它成員節(jié)點的調(diào)度并未結(jié)束時循環(huán)調(diào)用RTI標準接口的等待函數(shù)進行等待。當所有節(jié)點的實裝軟件都發(fā)出周期調(diào)度結(jié)束標志后,循環(huán)等待任務(wù)結(jié)束,向RTI發(fā)出時間推進請求。

4.3 運行時間管理

基于VxWorks系統(tǒng)的實裝軟件在沒有硬授時設(shè)備時系統(tǒng)采用tick數(shù)作為任務(wù)運行的時間參考標志[15]。軟件移植的時候已經(jīng)采用RTX定時器的方式實現(xiàn)了一個硬實時的時鐘tick計數(shù)器,并設(shè)置有計數(shù)器的啟動和停止的標志位。

當實裝軟件與HLA/RTI仿真平臺集成之后,軟件運行的時間應(yīng)該以仿真實際執(zhí)行的時間為標準,通過RTI統(tǒng)一進行時間的推進。而如果實裝軟件依然在運行時按照本身系統(tǒng)時鐘的tick數(shù)執(zhí)行任務(wù),則會出現(xiàn)運行時序與任務(wù)邏輯的錯誤。本文采用的方法是通過控制實裝軟件時鐘tick計數(shù)器啟停的方法,在接入仿真系統(tǒng)后停止時鐘tick計數(shù)器的目的。

TicksRunning標志位是控制時鐘tick計數(shù)器的標志,其值為0時系統(tǒng)內(nèi)tick數(shù)不再隨物理時間進行自加,值為1時系統(tǒng)tick數(shù)隨物理時間繼續(xù)執(zhí)行自加。該標志位部署在實裝軟件同步控制函數(shù)前。同步控制函數(shù)發(fā)出激活實裝軟件周期任務(wù)事件之前將TicksRunning標志位置0,在實裝軟件周期任務(wù)執(zhí)行結(jié)束事件之后將系統(tǒng)tick數(shù)加一個周期時間。如此部署后,實裝軟件內(nèi)部任務(wù)執(zhí)行時讀取的tick數(shù)實際上就是仿真任務(wù)執(zhí)行的時間。

5 系統(tǒng)應(yīng)用

本文中的適配中間件已經(jīng)成功的應(yīng)用在一個基于實裝軟件的分布式仿真系統(tǒng)中。系統(tǒng)組成如圖 6所示。

計算機A上的各個雷達軟件組成的小閉環(huán)系統(tǒng)運行狀態(tài)正常,雷達主控軟件通過RTX輸出面板顯示軟件運行狀態(tài)信息無異常無報錯。計算機C上指控軟件和發(fā)射車軟件工作狀態(tài)正常,顯控顯示各軟件狀態(tài)更新正確。雷達系統(tǒng)能穩(wěn)定跟蹤目標,向指控發(fā)送目標信息,指控系統(tǒng)判斷后發(fā)出打擊指令,完成攔截任務(wù)。系統(tǒng)整體運行狀態(tài)與實際裝備狀態(tài)一致,證明軟件交互正確、時間管理正確、邏輯正常。

采用線程模式對同一仿真場景進行20次重復(fù)試驗并記錄。仿真虛擬時間需要750~800 s的情況下,仿真系統(tǒng)都可以在實際物理時間520~620 s完成仿真執(zhí)行。仿真加速比記錄如表1所示。系統(tǒng)平均加速比為1.37,證明系統(tǒng)具有一定超實時運行能力。

圖6 典型應(yīng)用系統(tǒng)組成Fig.6 Structure of typical application system

次數(shù)加速比次數(shù)加速比11.26111.4021.23121.3931.36131.4541.48141.2451.53151.3361.35161.3171.38171.4281.42181.4091.38191.32101.45201.37

注:平均加速比:1.37

6 結(jié)束語

本文提出了一種以實裝軟件為基礎(chǔ)構(gòu)建HLA仿真系統(tǒng)的方法。重點分析了帶有仿真適配中間件的實裝軟件通信機制和時間管理機制。通過設(shè)計統(tǒng)一交互類協(xié)議實現(xiàn)了實裝軟件通信消息以交互類的形式通過RTI平臺進行發(fā)送和接收的方法,并以同步控制機制和相應(yīng)的時間管理策略實現(xiàn)對實裝軟件與仿真平臺運行時間的統(tǒng)一管理。最后由一套實裝軟件作為仿真節(jié)點接入到閉環(huán)仿真系統(tǒng)中的實際應(yīng)用驗證了該方法的可行性和優(yōu)勢。未來可探索基于Windows系統(tǒng)的自主可控的集成中間件技術(shù)方案,提升本研究應(yīng)用深度。

猜你喜歡
系統(tǒng)
Smartflower POP 一體式光伏系統(tǒng)
WJ-700無人機系統(tǒng)
ZC系列無人機遙感系統(tǒng)
北京測繪(2020年12期)2020-12-29 01:33:58
基于PowerPC+FPGA顯示系統(tǒng)
基于UG的發(fā)射箱自動化虛擬裝配系統(tǒng)開發(fā)
半沸制皂系統(tǒng)(下)
FAO系統(tǒng)特有功能分析及互聯(lián)互通探討
連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
一德系統(tǒng) 德行天下
PLC在多段調(diào)速系統(tǒng)中的應(yīng)用
主站蜘蛛池模板: 国产jizz| 在线观看91香蕉国产免费| 国产精品99一区不卡| 91精品国产无线乱码在线| 91无码国产视频| 在线播放国产一区| 亚洲αv毛片| 国产av一码二码三码无码| 亚洲成人黄色在线| 手机在线国产精品| 免费一级α片在线观看| 欧美成人手机在线视频| 97成人在线视频| 专干老肥熟女视频网站| 欧美a级在线| 好吊妞欧美视频免费| 亚洲中文无码h在线观看 | 九色91在线视频| 国产麻豆aⅴ精品无码| 农村乱人伦一区二区| 国产91透明丝袜美腿在线| 蝌蚪国产精品视频第一页| 囯产av无码片毛片一级| 99热最新网址| 国产三区二区| 亚洲精品天堂在线观看| 先锋资源久久| 九九九久久国产精品| 欧美性色综合网| 国产亚洲视频免费播放| 午夜视频日本| hezyo加勒比一区二区三区| 欧美高清三区| 亚洲性视频网站| 国产精品原创不卡在线| 天天综合网亚洲网站| 日本一区高清| 欧美在线国产| 国产青青草视频| 九九热视频精品在线| 国产美女在线观看| 欧美中文一区| 精品综合久久久久久97| 久久黄色一级视频| 亚洲黄色激情网站| 日韩一区二区三免费高清| 色国产视频| 国产亚洲视频中文字幕视频 | 久久精品66| 久久久久免费看成人影片| 高潮毛片免费观看| 免费观看欧美性一级| 亚洲人成在线精品| 原味小视频在线www国产| 四虎永久免费地址| 在线免费观看AV| 日本欧美一二三区色视频| 国产91九色在线播放| 成人在线观看一区| 国产男女免费视频| 漂亮人妻被中出中文字幕久久| 亚洲精品男人天堂| 亚洲第一黄色网| 精品一区国产精品| 亚洲无线国产观看| 国产微拍精品| 天堂成人在线视频| 欧美日韩亚洲国产| 亚洲精选高清无码| 视频一本大道香蕉久在线播放| 国产永久免费视频m3u8| 国产精品女在线观看| 国产在线无码一区二区三区| 国产精品久久久久久久伊一| 国产杨幂丝袜av在线播放| 久草网视频在线| A级毛片高清免费视频就| 欧美福利在线| 亚洲一区二区三区国产精品| 国产成人精品2021欧美日韩| 亚洲人成高清| 日韩不卡高清视频|