论文部分内容阅读
分布式交互仿真指采用协调一致的结构、标准、协议和数据库,通过局域网和广域网将分布在各地的各种仿真器互连,使人可参与交互作用的一种综合环境。经过几十年的发展,分布式仿真技术目前已成功地应用于医学、军事、航空、设计制造业、建筑、教育及娱乐等众多领域。同时对分布式仿真技术本身的研究也得到了广泛地开展,自从上世纪80年代以来逐步出现了SIMNET、ALSP、DIS、ADS等标准和技术,但是利用这些技术和标准开发的仿真应用只有有限的可重用性和互操作性,不能满足越来越复杂的作战仿真应用。因此为了提高各种仿真应用的可重用性和互操作性,美国国防部于1995年发布了建模与仿真计划,决定在国防部范围内建立一个通用的开放的仿真技术框架,而HLA(High Level Architecture,高层体系结构)是此技术框架的核心。在1996年8月美国国防部完成了HLA标准的基础定义,并于2000年10月被IEEE接受为IEEE P1516、IEEE P1516.1、IEEE P1516.2系列标准。 HLA标准由规则、接口规范、对象模型模板三部分组成,而RTI(Run-Time Infrastructure,运行时底层结构)是实现HLA标准中接口规范的软件,它以类似于分布式操作系统为应用程序提供服务的方式给仿真应用提供了联邦管理、声明管理、对象管理、时间管理、数据分发管理、所有权管理和支持的服务等七组服务,但是RTI本身并不属于HLA标准。目前有很多研究团体和个人致力于开发RTI软件,现有较为典型的RTI软件包括DMSO RTI,pitch公司pRTI1.3、pRTI1516,M(?)K RTI,以及北京航空航天大学的DVE_RTI等,但是这些RTI软件往往不是共享或开放源代码的。为了满足扩展性的需求,我们根据HLA 1.3接口规范标准自行开发了具有高度可扩展性的RTI软件CADRTI。 CADRTI作为一个软件产品,和其它所有的软件类似,有必要对它进行功能测试从而发现软件本身中的错误和缺陷,CADRTI开发者可以根据功能测试结果来改进软件本身。同时由于CADRTI是根据HLA 1.3开发的软件,因此CADRTI功能测试的主要目的是验证CADRTI与HLA 1.3接口规范的一致性。为了对CADRTI进行功能测试,本文设计并实现了RTIfuncTest功能测试平台,同时为RTI中的每组服务都设计了一系列的测试流程。 在另外一方面HLA接口规范虽然定义了RTI应该实现哪些功能提供哪些服务,但是HLA标准并没有规定这些功能和服务的具体实现方式,因此RTI软件的开发者可以自由选择不同的实现方式(包括不同的网络拓扑结构、进程模型、时间管理算法、数据分发算法等)来实现他们的RTI软件。而不同的内部实现方式则会影响RTI软件的速度、资源需求、稳定性、可扩展性、用户性能等方面的性能指标,而不同的仿真应用具有不同的RTI性能指标要求,因此对RTI软件进行性能测试,提供一组性能指标测试结果,可以帮助RTI软件的用户根据他们的仿真需求选择不同的RTI软件产品。同时对RTI软件的开发者而言,通过对RTI本身进行性能测试和性能分析,可以发现他们的RTI软件产品的性能瓶颈,通过改进影响RTI性能的某些内部实现,可以达到最终提高性能的目的。本文设计了RTIperfTest和RTIscalabilityTest测试平台,其中RTIperfTest测试平台主要用于测试RTI在延迟、吞吐量、丢包率、CPU资源需求、网络带宽需求以及稳定性等性能指标,而RTIscalabilityTest测试平台则主要用于测试RTI在可扩展性方面的性能,利用这两个测试平台对DMSO_RTI、DVE_RTI和CADRTI进行了性能测试并得到了一组量化的性能测试结果,同时本文还从CADRTI的内部实现方式包括它所采用的网络拓扑结构、进程模型、时间管理算法、数据分发算法等方面出发,对CADRTI的性能进行了分析。 最后本文利用CADRTI开发了一个符合HLA标准的仿真应用FoodFight,此仿真应用使用了CADRTI提供的所有七组服务,因此这实际上也是对CADRTI进行了应用层次上的分布式仿真高层体系结构(HLA)核心RTI测试与分析测试,同时通过FoodFight的开发经验,也了解到基于HLA标准的仿真应用的具体开发流程。