張志鶴,史璐莎,張 斌,張 濤
(1.中國科學(xué)院大學(xué) 北京100080;2.中國科學(xué)院空間應(yīng)用工程與技術(shù)研究中心 北京100094)
一種基于DDS與HLA的實(shí)時(shí)性聯(lián)合仿真系統(tǒng)
張志鶴1,2,史璐莎2,張 斌2,張 濤2
(1.中國科學(xué)院大學(xué) 北京100080;2.中國科學(xué)院空間應(yīng)用工程與技術(shù)研究中心 北京100094)
針對目前基于HLA的半實(shí)物仿真的實(shí)時(shí)性不強(qiáng)的特點(diǎn),在分析該實(shí)時(shí)性問題的基礎(chǔ)上,利用數(shù)據(jù)分發(fā)服務(wù)DDS,設(shè)計(jì)了一種基于DDS和HLA的實(shí)時(shí)性聯(lián)合仿真系統(tǒng)。該系統(tǒng)通過使用DDS替換HLA中的數(shù)據(jù)分發(fā)功能,利用HLA進(jìn)行仿真系統(tǒng)中的聯(lián)邦管理,并使DDS負(fù)責(zé)仿真節(jié)點(diǎn)間的數(shù)據(jù)分發(fā)功能,在半實(shí)物仿真中達(dá)到了實(shí)時(shí)仿真的目的。試驗(yàn)結(jié)果表明:該聯(lián)合仿真系統(tǒng)結(jié)構(gòu)能顯著提高基于HLA的半實(shí)物仿真系統(tǒng)的實(shí)時(shí)性,能有效滿足分布式仿真的實(shí)時(shí)性需求。
數(shù)據(jù)分發(fā)服務(wù);高層體系結(jié)構(gòu);半實(shí)物仿真;實(shí)時(shí)性
高層體系結(jié)構(gòu) HLA(High Level Architecture),是當(dāng)前系統(tǒng)仿真領(lǐng)域應(yīng)用最廣的一種分布式系統(tǒng)仿真規(guī)范。HLA從規(guī)范層給出了搭建仿真應(yīng)用的框架,它利用運(yùn)行支撐環(huán)境RTI,實(shí)現(xiàn)了仿真應(yīng)用層和數(shù)據(jù)通信層的分離,仿真聯(lián)邦節(jié)點(diǎn)通過RTI通信。
HLA的優(yōu)勢在于解決了分布式仿真系統(tǒng)的互操作性和仿真組件的可重用性。然而,HLA的C/S架構(gòu)所帶來的帶寬瓶頸,導(dǎo)致在大規(guī)模分布式仿真系統(tǒng)與高實(shí)時(shí)仿真系統(tǒng)中面臨數(shù)據(jù)的實(shí)時(shí)性問題。在半實(shí)物仿真系統(tǒng)中,實(shí)物系統(tǒng)的存在使得仿真時(shí)間尺度不能被任意改變,仿真系統(tǒng)對仿真節(jié)點(diǎn)間信息傳輸有極強(qiáng)的時(shí)間約束。如何解決基于HLA的半實(shí)物仿真系統(tǒng)中數(shù)據(jù)傳輸?shù)膶?shí)時(shí)性問題,是當(dāng)前仿真領(lǐng)域的一個(gè)研究方向。
陳源龍等利用插值外推法和利用網(wǎng)絡(luò)層進(jìn)行數(shù)據(jù)傳輸相結(jié)合的方法,解決了由于RTI自身性能不足造成的實(shí)時(shí)數(shù)據(jù)傳輸過程中出現(xiàn)的數(shù)據(jù)包丟失和數(shù)據(jù)傳輸延遲的問題[1]。馬東等提出采用HLA橋接技術(shù)的HLA實(shí)時(shí)性改進(jìn)策略,使HLA能夠運(yùn)用到半實(shí)物仿真系統(tǒng)中[2]。左軍等通過引入動態(tài)時(shí)間補(bǔ)償機(jī)制使基于HLA的仿真系統(tǒng)能達(dá)到實(shí)時(shí)仿真的目的[3]。
文中通過引入數(shù)據(jù)分發(fā)服務(wù) DDS(Data Distribution Service),結(jié)合HLA的仿真架構(gòu),提出一種基于DDS的數(shù)據(jù)分發(fā)服務(wù)和HLA的時(shí)間管理與對象管理功能的聯(lián)合仿真架構(gòu)。在該仿真架構(gòu)下,仿真數(shù)據(jù)的實(shí)時(shí)性能得到有效保障。
1.1 耦合可行性分析
DDS和HLA雖然是兩種不同用途的規(guī)范,但是其基本的訂閱/發(fā)布模式導(dǎo)致了兩者的模型概念之間極高的相似度,這種相似度也是耦合DDS和HLA的可能性所在。
從原理上講,HLA和DDS都是分布式仿真系統(tǒng)的架構(gòu)規(guī)范,都提供了發(fā)布-訂閱的通信機(jī)制,而且都有標(biāo)準(zhǔn)統(tǒng)一的API支持。從實(shí)體的定義上講,DDS和HLA的實(shí)體之間具有高度對應(yīng)的映射關(guān)系。表1描述了DDS的實(shí)體和HLA的仿真實(shí)體之間的映射關(guān)系[4-5]。
表1 DDS和HLA實(shí)體的映射關(guān)系
從功能上來說,HLA和DDS也具有一些聯(lián)系。HLA具有強(qiáng)大的聲明管理,聯(lián)邦管理,時(shí)間管理(DDS只有一些基本的時(shí)間戳管理功能)等功能,而DDS卻致力于完善數(shù)據(jù)分發(fā)功能 (HLA只有基于TCP/IP的簡單數(shù)據(jù)分發(fā)功能),如豐富的QoS策略,強(qiáng)大的數(shù)據(jù)模型。
所以,HLA和DDS在概念上具有極強(qiáng)的相似度,在功能上,又具有天然完美的互補(bǔ)性,這給HLA和DDS的聯(lián)合仿真提供了極大的可行性。
1.2 聯(lián)合仿真結(jié)構(gòu)
HLA作為一種成熟的仿真規(guī)范,最為重要的一點(diǎn)就是其優(yōu)秀的的時(shí)間管理服務(wù)。對仿真系統(tǒng)進(jìn)行時(shí)間控制,能夠保證仿真世界事件的發(fā)生順序和因果關(guān)系,與真實(shí)世界相一致,這也是仿真系統(tǒng)成立的根本前提。DDS本質(zhì)上不是一種仿真規(guī)范,不具備完善的仿真功能,也并非專用于仿真領(lǐng)域。但是,DDS的平臺無關(guān)性保障了其良好的可移植性[6],HLA的RTI僅規(guī)定了接口規(guī)范,數(shù)據(jù)收發(fā)服務(wù)的主體需要由開發(fā)者完成,所以可以考慮用DDS取代HLA中仿真數(shù)據(jù)的傳輸。
聯(lián)合仿真系統(tǒng)的結(jié)構(gòu)如圖1所示。
圖1 聯(lián)合仿真系統(tǒng)結(jié)構(gòu)圖
一方面,仿真節(jié)點(diǎn)作為聯(lián)邦成員參與HLA仿真,通過RTI接受時(shí)間控制,另一方面,仿真節(jié)點(diǎn)作為域參與者通過DDS進(jìn)行數(shù)據(jù)通信。具體的流程圖如圖2所示。
編寫通信數(shù)據(jù)類型支持庫(如圖2(a))。
圖2 流程圖
1)分析聯(lián)邦成員的通信數(shù)據(jù)類型,編寫FOM表,根據(jù)FOM表編寫IDL文件。
2)使用IDL編譯器編譯IDL文件,生成類型支持文件,建立類型支持工程。
3)編譯類型支持工程,生成用于類型支持的靜態(tài)運(yùn)行庫lib文件,為后續(xù)的發(fā)布訂閱做準(zhǔn)備。
編寫發(fā)布訂閱端(如圖2(b))。
1)創(chuàng)建聯(lián)邦后,仿真節(jié)點(diǎn)首先作為聯(lián)邦成員加入聯(lián)邦,某聯(lián)邦成員注冊同步點(diǎn)之后,等待其他邦元加入聯(lián)邦。
2)所有邦元加入后,公布仿真時(shí)間同步點(diǎn),所有邦元根據(jù)需求申請時(shí)間控制信息。
3)仿真節(jié)點(diǎn)加入RTI的同時(shí),需要作為元參與者加入DDS,首先需要創(chuàng)建域中實(shí)體,如域參與者,主題,發(fā)布者/訂閱者等。
4)初始化工作完成后,仿真進(jìn)入由HLA時(shí)間管理控制的單步執(zhí)行階段(如圖2(c))。
① 數(shù)據(jù)寫者將應(yīng)用程序送出的數(shù)據(jù)寫入發(fā)布者,根據(jù)需要確定是否需要設(shè)置監(jiān)聽者,HLA的時(shí)間管理功能的一個(gè)重要體現(xiàn)是通過控制數(shù)據(jù)的時(shí)間屬性來確定是否可以交付,然而在DDS的架構(gòu)并沒有時(shí)間屬性的概念,為了體現(xiàn)HLA的時(shí)間管理功能,需要在發(fā)布端對數(shù)據(jù)加上本地時(shí)間戳,本地時(shí)鐘取系統(tǒng)的仿真時(shí)間。訂閱者接收數(shù)據(jù)時(shí)對比本地仿真時(shí)間和數(shù)據(jù)的時(shí)間戳,確定數(shù)據(jù)是否可以被交付,同時(shí)在訂閱段設(shè)置計(jì)數(shù)器和等待閾值,本步數(shù)據(jù)接收完畢或者接收等待時(shí)間超過閾值時(shí),判定本步接收完畢。發(fā)布端設(shè)置接收等待機(jī)制,數(shù)據(jù)被成功接收后,返回布爾標(biāo)志信息,判定本步發(fā)布完畢。
② 仿真節(jié)點(diǎn)的發(fā)布與訂閱服務(wù)均完畢后,向RTI申請時(shí)間推進(jìn)
5)仿真結(jié)束后,摧毀所有仿真實(shí)體。
2.1 與實(shí)時(shí)性相關(guān)的QOS
DDS的實(shí)時(shí)性是建立在其豐富的QoS策略之上的。OMG在DDS規(guī)范中定義了22種QoS策略,RTI-DDS在實(shí)現(xiàn)的時(shí)候更是擴(kuò)展到了52種[7]。在一個(gè)實(shí)時(shí)仿真系統(tǒng)中,我們更需要關(guān)注DDS與實(shí)時(shí)性相關(guān)的QoS。在編程實(shí)現(xiàn)中,以RTI-DDS為例,我們認(rèn)為以下幾種QoS比較重要[8-10]。
表2 實(shí)時(shí)性相關(guān)的QOS
2.2 耦合點(diǎn)選擇
該仿真結(jié)構(gòu)中的重點(diǎn)和難點(diǎn)所在即為DDS與HLA的耦合部分。在該結(jié)構(gòu)中,DDS是作為一種邦元間的通信機(jī)制受到HLA的時(shí)間管理機(jī)制控制的。觀察HLA和DDS的工作原理,我們不難發(fā)現(xiàn),二者的耦合點(diǎn)有兩個(gè),數(shù)據(jù)的定義和仿真幀的推進(jìn)。所以,可供選擇的耦合點(diǎn)有以下兩種:
①在數(shù)據(jù)的定義處耦合
這種耦合方法將屏蔽DDS的數(shù)據(jù)定義,開發(fā)人員通過HLA的FOM和SOM表實(shí)現(xiàn)數(shù)據(jù)定義,然后根據(jù)HLA的FOM表與DDS的IDL語言元素之間的映射關(guān)系,設(shè)計(jì)一種轉(zhuǎn)換方法,將HLA定義的數(shù)據(jù)接口自動映射給DDS。
韓國KonkukUniversity的YunjungParkh和Dugki Min博士就采用這種耦合方法設(shè)計(jì)了一套HLA-DDS的wrapper,提出了一種基于網(wǎng)絡(luò)控制的分布式仿真系統(tǒng)[11]。這種耦合方法的優(yōu)點(diǎn)在于屏蔽了大部分的DDS接口,對已有的HLA仿真系統(tǒng)的支持也比較友好,在開發(fā)者層面上,接觸到的幾乎完全是HLA的API。
但是,這種方法也有一些先天的缺陷。由二者的規(guī)范可知,DDS的QoS策略的豐富度(至少22種)較HLA(只有3種)豐富很多[12],這種方法由于在數(shù)據(jù)定義處屏蔽了DDS的數(shù)據(jù)定義方法,導(dǎo)致間接削弱了DDS對數(shù)據(jù)的表現(xiàn)力和掌控度。
②在仿真幀的推進(jìn)處耦合
DDS的優(yōu)勢是能夠保障系統(tǒng)和數(shù)據(jù)的實(shí)時(shí)性,但是,DDS本身并不含有任何時(shí)間控制機(jī)制,而且由于它是和HLA剝離開的,所以,在DDS已經(jīng)能保障數(shù)據(jù)的實(shí)時(shí)性的前提下,我們?nèi)绾伪U下?lián)合仿真系統(tǒng)中數(shù)據(jù)的準(zhǔn)確度是一個(gè)問題。
此外,在HLA的仿真規(guī)范中,時(shí)間管理機(jī)制并沒有對仿真幀的推進(jìn)機(jī)制給出標(biāo)準(zhǔn)化的解決方法。即使對于HLA仿真來說,對于時(shí)間控制機(jī)制的優(yōu)化也是一個(gè)研究熱點(diǎn)。
這就意味著,開發(fā)者需要根據(jù)業(yè)務(wù)邏輯來設(shè)計(jì)自己的推進(jìn)機(jī)制。在以往的HLA仿真過程中,我們一般允許仿真數(shù)據(jù)的部分缺失,所以不關(guān)心推進(jìn)機(jī)制。但是,這畢竟是由于在普通場景下我們對仿真的精確度要求不高,仿真物理環(huán)境較好以及存在數(shù)據(jù)冗余的可能性。如果仿真需求的精確度要求很高,我們就必須要設(shè)計(jì)一種時(shí)間控制機(jī)制,能夠保證在每一個(gè)仿真幀內(nèi),數(shù)據(jù)都能夠被發(fā)出和交付。
此處的耦合方法又有多種,比如可以在接收端和發(fā)送端各設(shè)置一層計(jì)數(shù)器[13],在每個(gè)仿真幀內(nèi)都通過數(shù)據(jù)計(jì)數(shù)和時(shí)間戳兩層驗(yàn)證來保證數(shù)據(jù)的準(zhǔn)確性。在當(dāng)前業(yè)務(wù)邏輯很清晰的前提下,這的確是一種最精確的控制機(jī)制。但是,隨著仿真系統(tǒng)的復(fù)雜度增加,這種機(jī)制的設(shè)計(jì)難度隨之增高,魯棒性也隨之下降。
本實(shí)驗(yàn)平臺選用Pitch公司的pRTI產(chǎn)品作為HLA框架,DDS選用RTI公司的RTI-DDS,來搭建仿真實(shí)驗(yàn)系統(tǒng)。通常對RTI性能的綜合測試包括時(shí)間推進(jìn)速率,數(shù)據(jù)吞吐能力,丟包率等9個(gè)方面的內(nèi)容[14-15]。其中時(shí)間推進(jìn)速率是衡量系統(tǒng)實(shí)時(shí)性的重要參考指標(biāo)。本實(shí)驗(yàn)測定在不同的數(shù)據(jù)吞吐量下仿真系統(tǒng)的推進(jìn)速度。
實(shí)驗(yàn)一設(shè)計(jì)一組對照試驗(yàn),試驗(yàn)A為HLA仿真,實(shí)驗(yàn)B為DDS和HLA的聯(lián)合仿真,我們測試在收發(fā)相同大小的數(shù)據(jù)包失,仿真推進(jìn)相同步長時(shí)的總時(shí)間。
本實(shí)驗(yàn)的物理環(huán)境為由千兆交換機(jī)連接的局域網(wǎng)。節(jié)點(diǎn)計(jì)算機(jī)的配置完全相相同。
實(shí)驗(yàn)結(jié)果如圖3所示。
圖3 實(shí)驗(yàn)一
從圖3中可以看出,對于方案A,即原HLA仿真系統(tǒng),當(dāng)數(shù)據(jù)包的大小在524 288*4=2 MB時(shí),仿真系統(tǒng)的推進(jìn)速度開始明顯下降。當(dāng)數(shù)據(jù)包小于2 MB時(shí),系統(tǒng)的推進(jìn)速度基本不變。對于方案B,即本課題的聯(lián)合仿真系統(tǒng),當(dāng)數(shù)據(jù)包較小時(shí),推進(jìn)效率就高于方案A,然而,隨著數(shù)據(jù)包的不斷增大,聯(lián)合仿真系統(tǒng)仍然能保持較好的實(shí)時(shí)性。
試驗(yàn)二設(shè)計(jì)一組聯(lián)合仿真系統(tǒng)的對比試驗(yàn)。試驗(yàn)中在節(jié)點(diǎn)間一次重復(fù)發(fā)送相同大小的數(shù)據(jù)包,每組試驗(yàn)改變數(shù)據(jù)包的個(gè)數(shù),仿真推進(jìn)1 000次,測試并統(tǒng)計(jì)推進(jìn)時(shí)間。實(shí)驗(yàn)二的結(jié)果如圖4所示。
圖4 實(shí)驗(yàn)二
可以看出,隨著通信數(shù)據(jù)包數(shù)的增加,仿真時(shí)間呈正比例增加,符合預(yù)期。在工程中,單節(jié)點(diǎn)在單次數(shù)據(jù)幀內(nèi)交互數(shù)據(jù)包個(gè)數(shù)在103的數(shù)量級時(shí)[16],我們認(rèn)為已經(jīng)屬于比較大的通信量了。所以,聯(lián)合仿真系統(tǒng)可以滿足仿真系統(tǒng)的實(shí)時(shí)性需求。
文中設(shè)計(jì)的實(shí)時(shí)性聯(lián)合仿真系統(tǒng),在HLA的聯(lián)邦管理層之下,使用DDS負(fù)責(zé)數(shù)據(jù)分發(fā)的方法,在分布式仿真中,尤其是半實(shí)物仿真,能顯著提高基于HLA的仿真系統(tǒng)的實(shí)時(shí)性。此外,對于仿真時(shí)間推進(jìn)管理的優(yōu)化是后期的一個(gè)研究方向。
[1]陳源龍,李東,馬培軍,等.基于HLA半實(shí)物仿真平臺體系結(jié)構(gòu)的設(shè)計(jì)及實(shí)時(shí)性改進(jìn)[J].南京航空航天大學(xué)學(xué)報(bào),2010,42(4):532-536.
[2]李東,陳源龍,張達(dá),等.HLA仿真系統(tǒng)實(shí)時(shí)性改進(jìn)方法關(guān)鍵技術(shù)的分析 [J].哈爾濱工業(yè)大學(xué)學(xué)報(bào),2013,45(3):70-75.
[3]左軍,崔玉林.基于HLA仿真系統(tǒng)時(shí)間一致性問題的研究[J].中原工學(xué)院學(xué)報(bào),2013,24(4):39-42.
[4]張大海,賴蘭劍,陳鼎才.DDS在分布式系統(tǒng)仿真中的應(yīng)用 [J].計(jì)算機(jī)技術(shù)與發(fā)展,2011,3(21):250-254.
[5]朱瑞峰.基于橋接器的HLA與DDS互連技術(shù)研究[D].哈爾濱:哈爾濱工程大學(xué),2012.
[6]辛懷聲,高斌,李力超.基于HLA與DDS技術(shù)的仿真集成方法[J].通信技術(shù).2011,7(44):33-36.
[7]孫文俊,馮燕,張宏宇.基于DDS的實(shí)時(shí)信息交換平臺研究[J].指揮信息系統(tǒng)與技術(shù),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]竇志武.基于高層體系結(jié)構(gòu)HLA分布式交互仿真的應(yīng)用方法研究[D].大連:大連理工大學(xué),2006.
[12]楊傳順,錢幸存.實(shí)時(shí)數(shù)據(jù)分發(fā)系統(tǒng)軟件的設(shè)計(jì)與實(shí)現(xiàn)[J].微型機(jī)與應(yīng)用,2011,30(6):3-6.
[13]孫世霞,黃柯棣.RTI性能測試分析[J].系統(tǒng)仿真學(xué)報(bào),2005,17(4):909-913.
[14]姚兵,蔡婷.基于DDS模型的數(shù)據(jù)分發(fā)中間件的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程與設(shè)計(jì),2009,30(3):619-623.
[15]曹萬華,謝蓓,吳海昕.基于DDS的發(fā)布/訂閱中間件設(shè)計(jì)[J].計(jì)算機(jī)工程,2007,33(18):78-8l.
[16]吳維元.將DDS用于建模仿真系統(tǒng)[J].電腦編程技巧與維護(hù),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—),男,河南鞏義人,碩士。研究方向:計(jì)算機(jī)系統(tǒng)仿真。