張志鶴,史璐莎,張 斌,張 濤
(1.中國科學院大學 北京100080;2.中國科學院空間應用工程與技術研究中心 北京100094)
一種基于DDS與HLA的實時性聯合仿真系統
張志鶴1,2,史璐莎2,張 斌2,張 濤2
(1.中國科學院大學 北京100080;2.中國科學院空間應用工程與技術研究中心 北京100094)
針對目前基于HLA的半實物仿真的實時性不強的特點,在分析該實時性問題的基礎上,利用數據分發服務DDS,設計了一種基于DDS和HLA的實時性聯合仿真系統。該系統通過使用DDS替換HLA中的數據分發功能,利用HLA進行仿真系統中的聯邦管理,并使DDS負責仿真節點間的數據分發功能,在半實物仿真中達到了實時仿真的目的。試驗結果表明:該聯合仿真系統結構能顯著提高基于HLA的半實物仿真系統的實時性,能有效滿足分布式仿真的實時性需求。
數據分發服務;高層體系結構;半實物仿真;實時性
高層體系結構 HLA(High Level Architecture),是當前系統仿真領域應用最廣的一種分布式系統仿真規范。HLA從規范層給出了搭建仿真應用的框架,它利用運行支撐環境RTI,實現了仿真應用層和數據通信層的分離,仿真聯邦節點通過RTI通信。
HLA的優勢在于解決了分布式仿真系統的互操作性和仿真組件的可重用性。然而,HLA的C/S架構所帶來的帶寬瓶頸,導致在大規模分布式仿真系統與高實時仿真系統中面臨數據的實時性問題。在半實物仿真系統中,實物系統的存在使得仿真時間尺度不能被任意改變,仿真系統對仿真節點間信息傳輸有極強的時間約束。如何解決基于HLA的半實物仿真系統中數據傳輸的實時性問題,是當前仿真領域的一個研究方向。
陳源龍等利用插值外推法和利用網絡層進行數據傳輸相結合的方法,解決了由于RTI自身性能不足造成的實時數據傳輸過程中出現的數據包丟失和數據傳輸延遲的問題[1]。馬東等提出采用HLA橋接技術的HLA實時性改進策略,使HLA能夠運用到半實物仿真系統中[2]。左軍等通過引入動態時間補償機制使基于HLA的仿真系統能達到實時仿真的目的[3]。
文中通過引入數據分發服務 DDS(Data Distribution Service),結合HLA的仿真架構,提出一種基于DDS的數據分發服務和HLA的時間管理與對象管理功能的聯合仿真架構。在該仿真架構下,仿真數據的實時性能得到有效保障。
1.1 耦合可行性分析
DDS和HLA雖然是兩種不同用途的規范,但是其基本的訂閱/發布模式導致了兩者的模型概念之間極高的相似度,這種相似度也是耦合DDS和HLA的可能性所在。
從原理上講,HLA和DDS都是分布式仿真系統的架構規范,都提供了發布-訂閱的通信機制,而且都有標準統一的API支持。從實體的定義上講,DDS和HLA的實體之間具有高度對應的映射關系。表1描述了DDS的實體和HLA的仿真實體之間的映射關系[4-5]。

表1 DDS和HLA實體的映射關系
從功能上來說,HLA和DDS也具有一些聯系。HLA具有強大的聲明管理,聯邦管理,時間管理(DDS只有一些基本的時間戳管理功能)等功能,而DDS卻致力于完善數據分發功能 (HLA只有基于TCP/IP的簡單數據分發功能),如豐富的QoS策略,強大的數據模型。
所以,HLA和DDS在概念上具有極強的相似度,在功能上,又具有天然完美的互補性,這給HLA和DDS的聯合仿真提供了極大的可行性。
1.2 聯合仿真結構
HLA作為一種成熟的仿真規范,最為重要的一點就是其優秀的的時間管理服務。對仿真系統進行時間控制,能夠保證仿真世界事件的發生順序和因果關系,與真實世界相一致,這也是仿真系統成立的根本前提。DDS本質上不是一種仿真規范,不具備完善的仿真功能,也并非專用于仿真領域。但是,DDS的平臺無關性保障了其良好的可移植性[6],HLA的RTI僅規定了接口規范,數據收發服務的主體需要由開發者完成,所以可以考慮用DDS取代HLA中仿真數據的傳輸。
聯合仿真系統的結構如圖1所示。

圖1 聯合仿真系統結構圖
一方面,仿真節點作為聯邦成員參與HLA仿真,通過RTI接受時間控制,另一方面,仿真節點作為域參與者通過DDS進行數據通信。具體的流程圖如圖2所示。
編寫通信數據類型支持庫(如圖2(a))。

圖2 流程圖
1)分析聯邦成員的通信數據類型,編寫FOM表,根據FOM表編寫IDL文件。
2)使用IDL編譯器編譯IDL文件,生成類型支持文件,建立類型支持工程。
3)編譯類型支持工程,生成用于類型支持的靜態運行庫lib文件,為后續的發布訂閱做準備。
編寫發布訂閱端(如圖2(b))。
1)創建聯邦后,仿真節點首先作為聯邦成員加入聯邦,某聯邦成員注冊同步點之后,等待其他邦元加入聯邦。
2)所有邦元加入后,公布仿真時間同步點,所有邦元根據需求申請時間控制信息。
3)仿真節點加入RTI的同時,需要作為元參與者加入DDS,首先需要創建域中實體,如域參與者,主題,發布者/訂閱者等。
4)初始化工作完成后,仿真進入由HLA時間管理控制的單步執行階段(如圖2(c))。
① 數據寫者將應用程序送出的數據寫入發布者,根據需要確定是否需要設置監聽者,HLA的時間管理功能的一個重要體現是通過控制數據的時間屬性來確定是否可以交付,然而在DDS的架構并沒有時間屬性的概念,為了體現HLA的時間管理功能,需要在發布端對數據加上本地時間戳,本地時鐘取系統的仿真時間。訂閱者接收數據時對比本地仿真時間和數據的時間戳,確定數據是否可以被交付,同時在訂閱段設置計數器和等待閾值,本步數據接收完畢或者接收等待時間超過閾值時,判定本步接收完畢。發布端設置接收等待機制,數據被成功接收后,返回布爾標志信息,判定本步發布完畢。
② 仿真節點的發布與訂閱服務均完畢后,向RTI申請時間推進
5)仿真結束后,摧毀所有仿真實體。
2.1 與實時性相關的QOS
DDS的實時性是建立在其豐富的QoS策略之上的。OMG在DDS規范中定義了22種QoS策略,RTI-DDS在實現的時候更是擴展到了52種[7]。在一個實時仿真系統中,我們更需要關注DDS與實時性相關的QoS。在編程實現中,以RTI-DDS為例,我們認為以下幾種QoS比較重要[8-10]。

表2 實時性相關的QOS
2.2 耦合點選擇
該仿真結構中的重點和難點所在即為DDS與HLA的耦合部分。在該結構中,DDS是作為一種邦元間的通信機制受到HLA的時間管理機制控制的。觀察HLA和DDS的工作原理,我們不難發現,二者的耦合點有兩個,數據的定義和仿真幀的推進。所以,可供選擇的耦合點有以下兩種:
①在數據的定義處耦合
這種耦合方法將屏蔽DDS的數據定義,開發人員通過HLA的FOM和SOM表實現數據定義,然后根據HLA的FOM表與DDS的IDL語言元素之間的映射關系,設計一種轉換方法,將HLA定義的數據接口自動映射給DDS。
韓國KonkukUniversity的YunjungParkh和Dugki Min博士就采用這種耦合方法設計了一套HLA-DDS的wrapper,提出了一種基于網絡控制的分布式仿真系統[11]。這種耦合方法的優點在于屏蔽了大部分的DDS接口,對已有的HLA仿真系統的支持也比較友好,在開發者層面上,接觸到的幾乎完全是HLA的API。
但是,這種方法也有一些先天的缺陷。由二者的規范可知,DDS的QoS策略的豐富度(至少22種)較HLA(只有3種)豐富很多[12],這種方法由于在數據定義處屏蔽了DDS的數據定義方法,導致間接削弱了DDS對數據的表現力和掌控度。
②在仿真幀的推進處耦合
DDS的優勢是能夠保障系統和數據的實時性,但是,DDS本身并不含有任何時間控制機制,而且由于它是和HLA剝離開的,所以,在DDS已經能保障數據的實時性的前提下,我們如何保障聯合仿真系統中數據的準確度是一個問題。
此外,在HLA的仿真規范中,時間管理機制并沒有對仿真幀的推進機制給出標準化的解決方法。即使對于HLA仿真來說,對于時間控制機制的優化也是一個研究熱點。
這就意味著,開發者需要根據業務邏輯來設計自己的推進機制。在以往的HLA仿真過程中,我們一般允許仿真數據的部分缺失,所以不關心推進機制。但是,這畢竟是由于在普通場景下我們對仿真的精確度要求不高,仿真物理環境較好以及存在數據冗余的可能性。如果仿真需求的精確度要求很高,我們就必須要設計一種時間控制機制,能夠保證在每一個仿真幀內,數據都能夠被發出和交付。
此處的耦合方法又有多種,比如可以在接收端和發送端各設置一層計數器[13],在每個仿真幀內都通過數據計數和時間戳兩層驗證來保證數據的準確性。在當前業務邏輯很清晰的前提下,這的確是一種最精確的控制機制。但是,隨著仿真系統的復雜度增加,這種機制的設計難度隨之增高,魯棒性也隨之下降。
本實驗平臺選用Pitch公司的pRTI產品作為HLA框架,DDS選用RTI公司的RTI-DDS,來搭建仿真實驗系統。通常對RTI性能的綜合測試包括時間推進速率,數據吞吐能力,丟包率等9個方面的內容[14-15]。其中時間推進速率是衡量系統實時性的重要參考指標。本實驗測定在不同的數據吞吐量下仿真系統的推進速度。
實驗一設計一組對照試驗,試驗A為HLA仿真,實驗B為DDS和HLA的聯合仿真,我們測試在收發相同大小的數據包失,仿真推進相同步長時的總時間。
本實驗的物理環境為由千兆交換機連接的局域網。節點計算機的配置完全相相同。
實驗結果如圖3所示。

圖3 實驗一
從圖3中可以看出,對于方案A,即原HLA仿真系統,當數據包的大小在524 288*4=2 MB時,仿真系統的推進速度開始明顯下降。當數據包小于2 MB時,系統的推進速度基本不變。對于方案B,即本課題的聯合仿真系統,當數據包較小時,推進效率就高于方案A,然而,隨著數據包的不斷增大,聯合仿真系統仍然能保持較好的實時性。
試驗二設計一組聯合仿真系統的對比試驗。試驗中在節點間一次重復發送相同大小的數據包,每組試驗改變數據包的個數,仿真推進1 000次,測試并統計推進時間。實驗二的結果如圖4所示。

圖4 實驗二
可以看出,隨著通信數據包數的增加,仿真時間呈正比例增加,符合預期。在工程中,單節點在單次數據幀內交互數據包個數在103的數量級時[16],我們認為已經屬于比較大的通信量了。所以,聯合仿真系統可以滿足仿真系統的實時性需求。
文中設計的實時性聯合仿真系統,在HLA的聯邦管理層之下,使用DDS負責數據分發的方法,在分布式仿真中,尤其是半實物仿真,能顯著提高基于HLA的仿真系統的實時性。此外,對于仿真時間推進管理的優化是后期的一個研究方向。
[1]陳源龍,李東,馬培軍,等.基于HLA半實物仿真平臺體系結構的設計及實時性改進[J].南京航空航天大學學報,2010,42(4):532-536.
[2]李東,陳源龍,張達,等.HLA仿真系統實時性改進方法關鍵技術的分析 [J].哈爾濱工業大學學報,2013,45(3):70-75.
[3]左軍,崔玉林.基于HLA仿真系統時間一致性問題的研究[J].中原工學院學報,2013,24(4):39-42.
[4]張大海,賴蘭劍,陳鼎才.DDS在分布式系統仿真中的應用 [J].計算機技術與發展,2011,3(21):250-254.
[5]朱瑞峰.基于橋接器的HLA與DDS互連技術研究[D].哈爾濱:哈爾濱工程大學,2012.
[6]辛懷聲,高斌,李力超.基于HLA與DDS技術的仿真集成方法[J].通信技術.2011,7(44):33-36.
[7]孫文俊,馮燕,張宏宇.基于DDS的實時信息交換平臺研究[J].指揮信息系統與技術,2011,2(1):49-53.
[8]Yunjung Park,Dugki Min.Deveplopment of HLADDS Wrapper API for Network-Controllable Distributed Simulation [A]. Application of Information and Communication Technologies(AICT)[C]//2013 7th International Conference on,2013:1-5.
[9]Azzedine Boukerche ,and Kaiyuan Lu. A novel approach to real-time RTI based distributed simulation system[C]//Proceedings of the 38th Annual Simulation Symposium on Simulation,2005:267-274.
[10]Azzedine Boukerche,Kaiyuan Lu.Optimized dynamic grid-based DDM protocol for large-scale dis-tributed simulation systems[C]//Proceedings of the 19th IEEE International Parallel and Dist ributed Processing Symposium.DenvorU SA: 2005:1-6.
[11]竇志武.基于高層體系結構HLA分布式交互仿真的應用方法研究[D].大連:大連理工大學,2006.
[12]楊傳順,錢幸存.實時數據分發系統軟件的設計與實現[J].微型機與應用,2011,30(6):3-6.
[13]孫世霞,黃柯棣.RTI性能測試分析[J].系統仿真學報,2005,17(4):909-913.
[14]姚兵,蔡婷.基于DDS模型的數據分發中間件的設計與實現[J].計算機工程與設計,2009,30(3):619-623.
[15]曹萬華,謝蓓,吳海昕.基于DDS的發布/訂閱中間件設計[J].計算機工程,2007,33(18):78-8l.
[16]吳維元.將DDS用于建模仿真系統[J].電腦編程技巧與維護,2014(8):110-114.
A real-time simulation system based on DDS&HLA
ZHANG Zhi-he1,2,SHI Lu-sha2,ZHANG Bin2,ZHANG Tao2
(1.University of Chinese Academy of Science,Beijing 100080,China;2.Technology and Engineering Center for Space Utilization,Chinese Academy of Science,Beijing 100094,China)
First the real-time problem of the hardware-in-the-loop simulation with HLA is analyzed.Then a real-time simulation system based on DDS&HLA is designed.The combined system makes use of DDS responsible for data distribution and HLA managing the simulation federation to achieve the real-time simulation.Finally an experiment shows that the combined system could improve the real-time ability of the simulation system with HLA.
data distribution service;high level architecture;hardware-in-the-loop simulation;real-time
TN919.6+4
A
1674-6236(2017)10-0026-05
2016-04-06稿件編號:201604053
張志鶴(1989—),男,河南鞏義人,碩士。研究方向:計算機系統仿真。