张志鹤,史璐莎,张 斌,张 涛
(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—),男,河南巩义人,硕士。研究方向:计算机系统仿真。