虚实合成试验环境运行支撑软件的性能测试研究
2013-07-06向杨蕊姜守达宋国东
向杨蕊,姜守达,宋国东
(1.中国人民解放军92941部队93分队,辽宁 葫芦岛 125000;2.哈尔滨工业大学 自动化测试与控制系,哈尔滨 150001;3.黑龙江大学 学术期刊中心,哈尔滨 150080)
0 引 言
为了实现 “按作战方式进行试验”的目标,靶场需要将自然环境、武器平台、靶标、测量设施、时统通信、指挥控制中心等有机集成并优化运行,为导弹武器系统构建一个模拟真实战场、可控、可测的虚实合成试验环境。对于大型及复杂的虚实合成试验环境运行支撑软件,软件测试是保证软件质量和可靠性的重要手段[1],虚实合成试验环境中,内场虚拟和构造的仿真资源需要与外场真实装备实时交互,因此对各个试验系统的实时性要求较高,且由于试验的目的不同,试验设计不同,这就要求各个仿真资源能够互操作,并且可组合和可扩充的,此外由于外场飞行试验耗费大,在每次试验前都要对新组合成的试验环境进行测试以保证试验的顺利实施。因此,通过对虚实合成试验环境试验运行支撑软件进行测试,检验系统是否满足规定的需求,以保证软件的质量,降低试验过程的风险。
1 虚实合成试验环境运行支撑软件概述
虚实合成试验环境运行支撑软件是一个高性能、实时、低延迟的软件,负责导弹虚实合成试验环境建立及运行期间的所有信息交互,能够提供一个适用于试验环境开发人员用于构建试验应用的标准API。该软件支持对象、消息和数据流3种模式的数据传输,能够实现无服务器节点、分布运行,并提供5大服务,包括在线成员管理服务、生命管理服务、对象管理服务、时间管理服务和其他支持服务。
虚实合成试验环境运行支撑软件非实时网采用普通的以太网络,对于实时网我们选用的是VIMC反射内存网,对于数据交互频繁且实时性要求较高的仿真节点运行在反射内存网上。并且通过网关节点解决两种网络的异构问题。虚实合成试验环境运行支撑软件的体系结构是影响其性能的重要因素之一,因此采用了类似多级总线的层次式体系结构,结合了集中式和分布式体系结构的优点,既避免了中心节点的瓶颈问题,又节省了协调各系统的开销。
通信与连接方式是影响性能的另一重要因素,虚实合成试验环境运行支撑软件中交互的消息可分为两类:①数据类消息;②控制类消息。对于数据类消息可分为可靠的和尽可能的,采用组播的方式实现可以提高数据传输的速度;对于控制类消息,必须保证快速准确地传送,使订购消息的联邦成员能够及时准确地响应控制命令,因此采用可靠的点对点方式通信。
时间管理算法是影响性能的关键因素,它主要用于提供系统时间管理策略,包括初始化及关闭、获取时间偏差、同步服务等功能,为整个系统的时间一致性提供保证。
2 虚实合成试验环境运行支撑软件性能测试指标
虚实合成试验环境运行支撑软件性能测试指标的性能测试是指在一定的测试环境条件下,在基本的网络测试的基础上,对于各种性能指标,在各种条件下进行重复测试。具体来说,虚实合成试验环境运行支撑软件性能指标主要研究内容包括以下几个方面:
2.1 实时性测试[2]
在虚实合成试验环境中,仿真系统需要与真实的装备进行交互,试验运行的有效性依赖于数据的及时性,因此实时性是运行支撑软件的重要性能指标之一,要保证虚实合成试验环境运行支撑软件在适当的时间以适当的方式和顺序运行,为此软件必须满足两个时间约束条件:
1)软件在规定的时间内将来自联邦成员的属性更新消息转发给相应感兴趣的联邦成员;
2)软件在规定的时间内提供服务响应。为了满足这些时间约束条件测试者主要测试属性更新延迟,我们采用Ping-Pong方式,就是说延迟时间的测量只在发送联邦成员端进行,另一联邦成员在接收到消息后按照同样的协议和数据格式回送消息,多次交互后取平均,即可得到属性更新延迟。
2.2 吞吐量测试
吞吐量的定义是联邦成员在零消息丢失率的情况下发送/接收交互的最大速率。吞吐量是反映系统在单位时间内能够处理的最大容量的数据包的一个重要指标[3]。
2.3 时空一致性测试[4]
时空一致性问题是虚实合成试验环境中的本质和核心问题。由于网络传输延迟不可避免,各节点间的消息通信不能实时到达,会导致消息序错乱以及时序关系混乱等情况,严重影响虚实合成试验环境的正常运行。此外,时空一致性问题还会影响系统的公平性和正确性,使得最终仿真得到的结果不可信。
3 测试环境
3.1 测试环境描述
虚实合成试验环境运行支撑软件测试环境采用实装环境与仿真环境混合搭建的方式构建,实装环境包括:仿真环境由测试工具LoadRunner依据实际试验场景搭建,包括多个虚拟试验成员,虚拟成员与实装设备通过运行支撑软件发送数据。虚实合成试验环境运行支撑软件性能测试环境见图1。
图1 虚实合成试验环境运行支撑软件性能测试环境Fig.1 Performance testing environment of LVC test running support software
3.2 环境差异性分析和有效性说明
本次软件测试环境采用实装环境与仿真环境混合搭建的方式构建。其中,对运行支撑软件的功能、接口、性能、安装性以及强度的测试均采用LoadRunner仿真,在实装上测试的方法。经分析,LoadRunner采用标准C语言的方式加载DLL文件,与实装设备调用运行支撑软件的方式没有差异。在模拟多个成员时,可以按运行支撑软件的使用要求,使每个成员能够获取自己独立的进程,成员之间不会产生内存资源冲突。故可以认为使用LoadRunner仿真试验成员的方法可靠、有效。
4 测试方法与结果分析
4.1 实时性测试
4.1.1 测试方法
4.1.2 测试结果分析
根据属性更新延迟的测试方法,对该虚实合成试验环境运行支撑软件在两种不同网络环境下的运行情况进行了测试。测试结果见表1。
表1 属性更新延迟测试结果Table1 Test result of the delay of attribute update/ms
由属性延迟的测试结果分析得知:受网络环境的影响在广域网上虚实合成试验环境运行支撑软件的实时性有所降低。但仍满足<100ms的指标要求。
4.2 吞吐量测试
4.2.1 测试方法
与实时性测试相同,通过在联邦运行之前增加测试程序段来完成吞吐量的性能测试,在测试过程中主要考虑的因素包括属性更新次数和属性更新数据量,由导弹试验管控系统建立联邦后,火控在线仿真测试系统和导弹数字仿真系统加入联邦,在初始化的过程中各分系统采用GPS授时,进行时间校准,火控在线仿真测试系统向导弹数字仿真系统发送属性值,设M代表节点发布的测试信息的集合,对于任意的mi∈M,i≤n,Tp为发布节点发布n条测试信息的时间;Ts为订购节点接收到n条测试信息的时间。
4.2.2 测试结果
根据属性吞吐量的测试方法,对该虚实合成试验环境运行支撑软件在局域网和广域网两种不同网络环境下的运行情况进行了测试,计算属性吞吐量的函数调用次数为1000次。测试结果见表2。
表2 吞吐量测试结果Table2 Test result of throughput/byte·ms-1
4.3 时空一致性测试
4.3.1 测试方法
通过在内场开展虚拟打靶试验,对虚实合成试验环境时空一致性进行测试,主要参加的试验节点有火控在线仿真测试系统、目标模拟系统、导弹数字仿真系统、靶场测控仿真代理系统,2D、3D显示节点。由于内外场的信息传输延迟不同,所以降低火控在线仿真系统和目标模拟系统的数据传输率,使与外场传输到运行支撑软件信息传输延迟基本相同,并对每个仿真节点记录的数据主要包括以下几类:
1)节点兴趣实体集合;
2)异地实体状态的接收;
3)状态计算事件及其原因实体、结果实体;
4)观察事件及其原因实体、结果实体;
5)本地实体的状态变化。
虚拟打靶试验开展了10次,分析了各节点平均计算的仿真正确度和时间顺序一致度。
4.3.2 测试结果
根据时空一致性的测试方法,对该虚实合成试验环境运行支撑软件的时空一致性进行了测试,测试结果见表3。
表3 时空一致性测试结果Table3 Test result of time-space consistency
测试结果表明,一致性控制方法可行、有效,虚实合成试验环境的时空一致性满足试验要求。
5 结 语
本文在全面分析虚实合成试验环境运行支撑软件特性的基础上,同时结合不同仿真运行支撑软件性能测试的方法,提出了虚实合成试验环境运行支撑软件的性能测试方案,然后对各性能指标进行了详细测试。通过对测试结果加以研究和分析后,证实该虚实合成试验环境运行支撑软件整体性能良好,具有低时延、吞吐量大和时空一致性的特点,使内外仿真与外场实装能够互操作并优化运行,能满足虚实合成试验的需要。
[1]单锦辉,姜 瑛,孙 萍.软件测试研究进展 [J].北京大学学报:自然科学版,2005,41(1):134-139.
[2]黄晓冬,何 友,姜本清.RTI实时性与信息吞吐量的研究与测试 [J].系统仿真学报,2003,15(4):516-520.
[3]王 蒙,杜承烈,尤 涛,等.复杂虚拟试验运行支撑软件的性能测试研究 [J].计算机测量与控制,2010,18(3):632-635.
[4]张 伟.分布式大规模虚拟环境中的时序一致性 [D].长沙:国防科学技术大学,2010.