基于组件的分布集中一体化仿真系统运行支撑平台的制作方法
【专利摘要】本发明公开了一种基于组件的分布集中一体化仿真系统运行支撑平台。它包括仿真运行控制模块、仿真模型组件管理模块、仿真数据分发模块、仿真服务模块和网络服务模块,网络服务模块是采用符合HLA规范的RTI?API实现,根据不同的运行模式决定是否被加载。在本平台中,仿真运行控制模块根据加载的配置文件可以灵活决定仿真系统运行支撑平台的运行模式是采用分布式还是集中式,而对运行于仿真系统运行支撑平台之上的组件模型是透明的,实现仿真系统运行支撑平台能够对分布式和集中式运行模式的一体化支持。本发明可以运用于分布式运行或集中式运行的组件化仿真系统,能够满足未来不同HLA标准的分布式仿真系统和非HLA标准的集中式仿真系统。
【专利说明】基于组件的分布集中一体化仿真系统运行支撑平台
【技术领域】
[0001]本发明涉及大型分布式仿真领域,具体涉及一种基于组件的分布集中一体化仿真系统运行支撑平台。
【背景技术】
[0002]仿真技术是一门综合性较强的技术,具有可靠、无破坏、可重复、安全、经济、不受气象条件和场地限制等特点,已广泛应用于国民经济和社会生活的各个领域,尤其在国防军事领域中得到了迅速发展。
[0003]在仿真需求的牵引下,分布式仿真技术得到了快速发展。分布式系统具有经济代价小、综合速度快、可靠性高等显著优点。在短短的二十余年,分布式仿真技术发展经历了SIMNET (Simulator Networking)、DIS (Distributed Interactive Simulation)、ALSP(Aggregate Level Simulation Protocol)和 HLA (High Level Architecture)四个时期。
[0004]目前仿真系统越来越呈现出规模化、分布化、多样化等特点,包含了大量的动态、多种类型并具有层次结构的实体。特别是分布式的作战仿真大多在联合层次上展开,在大规模的仿真环境中组合不同的战场实体进行仿真。在仿真系统的集成、仿真系统间的互操作、仿真资源的重用和仿真系统规模的可控性等方面对仿真技术提出了更高的要求。
[0005]仿真活动通过仿真系统来支撑。对建模的支持能力和运行时模型的动态调度是衡量仿真系统的核心指标。仿真系统指“按仿真任务要求,实现被仿真的系统模型,以进行仿真试验的一套软件、硬件系统,包括仿真设备、参与被仿真的系统操作人员或部分被仿真的系统组件”。仿真系统在功能上可以分解成多个可重用的仿真模型组件,每个仿真模型组件从不同的侧面分别描述仿真系统;仿真系统在实现上是一个独立的应用程序,通过多个不同的仿真模型组件的组合构建的。因此,仿真系统的建模与仿真能力依赖于建设仿真系统的“砖块”,即数量庞大的仿真模型组件,提高仿真系统开发效率的一种重要途径就是尽可能地重用已有的模型。
[0006]随着分布仿真技术的不断发展及仿真应用领域的拓展特别是军事作战需求的增长,仿真规模越来越大,层次越来越高,被仿真的系统日益复杂,因此完全从头研制、开发一个大型仿真系统不仅效率十分低下,而且模型与仿真结果的可靠性与可信性也难以保证。同时,目前在分布式仿真中大多数仿真系统是针对某一问题或某一专业的需求而建立的,它们之间互操作差,仿真系统的组成部件难以在新的仿真系统中重用。运用面向对象的思想与方法,通过动态组合的方式,创建一个可扩展仿真系统运行支撑平台,它能够支持分布和集中等多种运行模式下仿真系统的仿真活动,鼓励在整个建模与仿真领域内开发和重用满足需求的仿真模型组件,通过仿真模型组件的快速、便捷地组合从而创建用户所需的仿真系统,使仿真系统具有可定制、可扩展和互操作能力,为克服复杂系统仿真所面临的困难提供一种有效途径。
[0007]但是,现有技术的仿真系统支撑平台执行方案存在以下不足:
[0008](I)重用性和互操作性:目前大多仿真系统运行支撑平台采用各自定义的仿真模型描述规范,因此很难定义一种统一的搜索格式,通过自动化工具能够很方便地从模型库中获取到所需的仿真模型。这些描述规范通常只是从语法上定义了仿真模型的静态结构,缺乏对仿真模型动态行为的描述,在很大程度上,限制了仿真模型的重用性。HLA通过RTI和OMT (Object Model Template)的定义保证了基于HLA的联邦成员之间的互操作性,但是缺乏基于组件的仿真模型的互操作规范,难以保证仿真模型组件在语法与语义层次上的互操作。
[0009](2)组合性和扩展性:基于组件的仿真系统不再是单一模块的应用程序,而是由多个仿真模型组件组合构建的。这种组合需要仿真模型组件具有高内聚低耦合的特点,实现仿真系统功能的灵活扩展性。但目前大多数的仿真系统不具有可扩展性和组合能力。
[0010](3)移植性和自适应性:日新月异的仿真技术驱动着仿真软件的不断发展,但目前大多仿真系统缺乏良好的移植性,无法在不同运行模式下的仿真系统运行支撑平台上运行,它们很少有自适应能力,经常需要修改或升级,通常造成仿真系统中的仿真模型很难在新的仿真系统中直接重用。
【发明内容】
[0011]本发明要解决的技术问题是提供一种基于组件的分布集中一体化仿真系统运行支撑平台,它可同时支持单机集中式运行和多机互联分布式运行的组件化的通用仿真系统运行支撑平台,仿真操作简单方便,能够实现仿真系统运行支撑平台与仿真模型组件的松耦合,通过组合仿真模型组件快速构建仿真系统,提高仿真模型组件重用性和仿真系统构建的灵活性。
[0012]为了解决上述技术问题,本发明采用下述的技术方案:
[0013]一种基于组件的分布集中一体化仿真系统运行支撑平台,包括仿真运行控制模块、仿真模型组件管理模块、仿真数据分发模块、仿真服务模块和网络服务模块,所示网络服务模块采用符合HLA规范的RTI API实现,其特征在于:
[0014]所述仿真运行控制模块,用于提供人机交互界面控制仿真开始、暂停、继续和结束,解析仿真系统组成配置信息和仿真控制命令,通过仿真服务模块建立仿真模型组件之间的数据交互表,以及在分布式运行模式下系统与外部其他联邦成员的数据交互表,负责加载仿真数据分发模块和仿真模型组件管理模块,为仿真数据分发模块提供仿真脚本数据,为仿真模型组件管理模块提供仿真系统组成配置的组件初始化配置信息;
[0015]所述仿真模型组件管理模块,用于组合仿真模型组件构建仿真系统,管理仿真模型组件调度状态,建立仿真模型组件的仿真事件队列,通过仿真服务模块实现仿真事件的发送和接收;
[0016]所述仿真数据分发模块,用于在集中式运行模式下解析输入的仿真脚本数据文件,获取仿真脚本所规划的仿真实体及仿真实体所对应的仿真模型组件信息,输出临时的仿真系统组成配置文件,在仿真运行过程中根据仿真推进时间发送相应的仿真脚本数据,调用仿真服务模块把仿真脚本数据通过仿真事件分发给仿真模型组件;
[0017]所述仿真服务模块,用于为仿真模型组件提供仿真服务集,完成仿真模型组件之间的数据公布和订购声明,建立仿真模型组件之间的数据交互表,以及在分布式运行模式下系统与外部其他联邦成员的数据交互表,维护仿真系统中所有仿真实体的注册和删除,负责协同仿真系统运行平台的时间推进;
[0018]所述网络服务模块,用于分布式运行模式下与RTI服务之间的转换,隔离仿真模型组件和RTI,实现仿真系统运行平台与其他联邦成员的数据交互。
[0019]具体地,本发明中的仿真运行控制模块包括人机交互单元、配置解析单元和运行控制单元;所述人机交互单元提供人机交互界面,使得使用人员可以设置仿真系统运行支撑平台运行模式,触发仿真系统运行的仿真启动、暂停、继续和结束状态,以及输入仿真系统运行支撑平台运行所需的输入数据,所述输入数据包括仿真脚本数据文件(采用XML格式)和仿真系统组成配置文件(采用XML格式);所述配置解析单元通过人机交互单元获取的输入数据,如果输入数据是仿真脚本数据文件,则首先通过数据分发模块将仿真脚本数据文件转换为仿真系统组成配置文件,然后解析仿真系统组成配置文件;所述运行控制单元根据使用人员通过人机交互单元设置的运行模式,加载仿真模型组件管理模块,只在集中式运行模式下加载仿真数据分发模块,根据配置解析单元提供的配置解析信息,通过调用仿真服务模块建立仿真模型组件之间的数据交互表,通过人机交互单元触发的仿真系统运作状态,向仿真服务模块发送仿真开始、暂停、继续和结束事件,控制仿真系统运行支撑平台的运行状态。
[0020]具体地,本发明中的所述仿真模型组件管理模块包括组件组合管理单元、组件调度管理单元和组件事件管理单元;所述组件组合管理单元获取仿真运行控制模块解析的仿真系统组成配置信息,检查仿真模型组件资源是否完备,加载仿真模型组件,创建仿真模型组件实例组合构建仿真系统;所述组件调度管理单元通过调度管理器存储组件组合管理单元创建的仿真模型组件实例,在仿真运行过程中管理仿真模型组件调度状态;所述组件事件管理单元管理组件调度管理单元调度仿真模型组件过程中产生的仿真事件,调用仿真服务模块实现仿真模型组件之间的数据交互。
[0021]具体地,本发明中的所述仿真数据分发模块包括数据解析单元和数据分发单元;所述数据解析单元解析仿真运行模块读取的仿真脚本数据文件,获取仿真脚本所描述的仿真实体及仿真实体所对应的仿真模型组件信息,输出临时的仿真系统组成配置文件;所述数据分发单元在仿真运行过程中根据仿真推进时间发送相应的仿真脚本数据,调用仿真服务模块把仿真脚本数据通过仿真事件分发给仿真模型组件。
[0022]具体地,本发明中的所述仿真服务模块包括数据交互声明单元、对象管理单元和时间协同管理单元;所述数据交互声明单元解析仿真运行控制模块发送的仿真模型组件数据公布订购事件调用相应的仿真服务建立仿真模型组件之间的数据交互表;所述对象管理单元解析仿真模型组件管理模块在调度过程中发送的仿真事件调用相应的仿真服务,管理仿真模型组件内部仿真实体状态,根据数据交互声明单元的仿真模型组件数据交互表把特定的数据分发给仿真模型组件,在分布式运行模式下通过网络服务模块把外部其他联邦成员感兴趣的数据发送给联邦;所述时间协同管理单元根据仿真模型组件管理模块发送的仿真模型组件请求推进的仿真事件,计算仿真模型组件被允许调度的时间,设置仿真模型组件推进时间,在分布式运行模式下还管理本系统在HLA联邦中的联邦成员局部仿真时间。
[0023]具体地,本发明中的所述网络服务模块包括数据转换单元、服务翻译单元和HLA服务管理单元;所述数据转换单元解析仿真服务模块发送给其他联邦成员和接收其他联邦成员的交互数据,转换为仿真系统运行支撑平台和其他联邦成员约定的数据格式;所述服务翻译单元把数据转换单元转换后的数据映射为仿真系统运行支撑平台内部的仿真服务或HLA服务;所述HLA服务管理单元负责提供的HLA服务集合,被服务翻译单元所调用。
[0024]具体地,本发明中所述仿真运行控制模块在分布式和集中式运行模式下负责加载仿真模型组件管理模块,在运行过程中调用仿真服务模块,只在集中式运行模式下加载仿真数据分发模块,只在分布式运行模式下加载网络服务模块;所述仿真模型组件管理模块与仿真服务模块相互调用;所述仿真数据分发模块调用仿真服务模块;所述仿真服务模块与网络服务模块相互调用,实现在分布式运行模式下与外部其他联邦成员进行数据交互。
[0025]本发明还提供一种基于组件的分布集中一体化仿真系统运行支撑平台的实施方法,其实施步骤如下:
[0026]I)配置仿真系统运行支撑平台运行模式,在运行前指定采用分布式或集中式的运行模式之一,根据确定的运行模式决定是否加载仿真数据分发模块或加载网络服务;
[0027]2)在分布式运行模式下,启动仿真系统运行支撑平台,加载特定的仿真系统组成配置文件;在集中式运行模式下,启动仿真系统运行支撑平台,加载仿真脚本数据文件,后台自动生成所需的仿真系统组成配置文件;
[0028]3)在分布式或集中式运行模式下,根据仿真系统组成配置文件,仿真系统运行支撑平台加载所需的仿真模型组件,组合这些仿真模型组件构建特定的仿真应用系统;
[0029]4)启动仿真,在集中式运行模式下仿真系统运行支撑平台能够独立运行;在分布式运行模式下仿真系统运行支撑平台加载网络服务模块,作为基于HLA的分布式仿真系统中联邦成员加入联邦,通过RTI提供的仿真服务与其他联邦成员进行数据交互;
[0030]5 )仿真运行过程中,集中式运行模式下仿真系统运行支撑平台能够通过仿真服务模块独立维护仿真模型组件之间的数据分发和过滤,负责仿真模型组件之间的仿真时间协同推进,根据仿真推进时间分发仿真脚本数据给仿真模型组件;分布式模式下仿真系统运行支撑平台通过RTI提供的仿真服务完成与其他联邦成员的数据更新和发送,由RTI负责仿真系统运行支撑平台与其他联邦成员的仿真时间协同推进;
[0031]6)结束仿真,集中式模式下仿真系统运行支撑平台停止了整个仿真运行活动;分布式模式下仿真系统运行支撑平台退出联邦,结束仿真系统运行支撑平台自身的仿真运行活动。
[0032]具体地,其中
[0033]步骤I)中能够根据需要修改仿真系统运行支撑平台运行采用的模式,如果采用集中式运行模式,在仿真运行开始时仿真系统运行支撑平台不会加载网络服务模块,但会加载数据分发模块,仿真系统运行支撑平台作为独立的仿真系统运行,不会向外部其他仿真系统发送数据也不会从外部其他仿真系统获取数据。
[0034]步骤2)的详细步骤包括:
[0035]2.1)根据步骤I)配置的仿真系统运行支撑平台运行模式,如果采用分布式运行模式,则执行步骤2.2);否则执行步骤2.3);
[0036]2.2)分布式运行模式下,仿真系统运行支撑平台的输入是仿真系统组成配置文件,由仿真运行控制模块解析该文件获取构建仿真系统的仿真模型组件信息,确定仿真模型组件之间的数据公布和订购关系,提取加入HLA联邦所需的联邦名称、联邦成员名称和联邦成员运行的仿真步长;[0037]2.3)集中式运行模式下,仿真系统运行支撑平台的输入是仿真脚本数据文件,通过仿真数据分发模块解析仿真脚本数据,获取仿真脚本所规划的仿真实体及仿真实体所对应的仿真模型组件信息,输出临时的仿真系统组成配置文件,由仿真运行控制模块解析仿真系统组成配置信息,确定仿真模型组件之间的数据公布和订购关系。
[0038]步骤3)的详细步骤包括:
[0039]3.1)仿真系统运行支撑平台根据步骤2)所获取的组成仿真系统的仿真模型组件信息,检查仿真模型组件资源是否完备,如果资源完备,则执行下一步骤,否则结束仿真活动;
[0040]3.2)仿真系统运行支撑平台在启动仿真之前加载所需的仿真模型组件模块,输出仿真模型组件加载的过程信息,创建仿真模型组件实例,从仿真系统组成配置中提取仿真模型组件特定的设置信息,转发给仿真模型组件实现组件配置初始化。
[0041]步骤4)的详细步骤包括:
[0042]4.1)启动仿真,如果运行模式是分布式,则执行步骤4.2),否则执行步骤4.3);
[0043]4.2)在分布式运行模式下,仿真系统运行支撑平台加载网络服务模块,以指定的联邦成员名称加入指定的联邦,如果成功加入联邦,则执行步骤4.4);否则结束仿真活动;
[0044]4.3)在集中式运行模式下,仿真系统运行支撑平台不需要加载网络服务模块,直接执行步骤4.4);
[0045]4.4)仿真系统运行支撑平台根据仿真模型组件的数据公布和订购信息,建立仿真模型组件之间的数据交互表;
[0046]4.5)仿真系统运行支撑平台向仿真模型组件发送仿真活动初始化事件,所有仿真模型组件初始化成功后执行下一步骤,否则结束仿真活动。
[0047]步骤5)的详细步骤包括:
[0048]5.1)在仿真运行过程中,分布式运行模式下仿真系统运行支撑平台通过网络服务不断向RTI请求时间推进,被允许推进后,接收其他联邦成员的数据,通过网络服务把接收到的数据转换为相应的仿真事件,按照时间升序把仿真事件放入仿真事件队列中,然后执行步骤5.2);在集中式运行模式下,仿真系统运行支撑平台时间推进由自身控制,每一步推进步骤如5.2);
[0049]5.2)仿真系统运行支撑平台根据仿真模型组件的不同推进步长,计算仿真模型组件的允许推进时间,获取被允许调度的仿真模型组件,设置这些仿真模型组件状态为可允许调度状态,仿真模型组件进入组件管理器中的允许调度组件列表;
[0050]5.3)仿真系统运行支撑平台从组件管理器中的允许调度组件列表获取被允许调度的仿真模型组件,从仿真事件队列中获取被允许调度的仿真模型组件感兴趣的仿真事件,把这些事件按照时间升序发送给仿真模型组件;
[0051]5.4)等待被允许调度的仿真模型组件处理完接收到的仿真事件后,仿真系统运行支撑平台向其发送仿真更新事件,等待仿真模型组件处理完仿真更新事件后,设置这些仿真模型组件状态为等待调度状态,仿真模型组件进入组件管理器中的等待调度组件列表;
[0052]5.5)仿真模型组件调度结束后,对仿真模型组件输出的仿真事件,如果事件排序与仿真时间无关,则仿真系统运行支撑平台直接发送给感兴趣的其他仿真模型组件,在分布式运行模式下还通过网络服务转换为特定的RTI服务发送给其他联邦成员;如果事件排序与仿真时间相关,则按照时间升序方式把该事件放入仿真事件队列;
[0053]5.6)如果仿真系统运行支撑平台没有达到仿真停止条件,则继续执行步骤5.1);否则,执行下一步骤。
[0054]步骤6)的详细步骤包括:
[0055]6.1)仿真系统运行支撑平台达到仿真停止条件,分布式运行模式下仿真系统运行支撑平台退出联邦,接着执行步骤6.2),集中式运行模式下仿真系统运行支撑平台直接执行步骤6.2);
[0056]6.2)仿真系统运行支撑平台向仿真模型组件发送仿真停止事件,等待仿真模型组件处理完仿真停止事件后,结束仿真活动。
[0057]本发明的基于组件的分布集中一体化仿真系统运行支撑平台具有下述优点:
[0058]本发明的仿真系统运行支撑平台能够使用同一套仿真模型组件支持分布式和集中式两种运行模式,根据仿真系统组成配置信息自动加载所需的仿真模型组件,组合仿真模型组件可灵活定制、扩展仿真系统,提高仿真模型组件和仿真系统的重用性和互操作能力,通过网络服务翻译能力分离仿真模型组件和底层的HLA提供的RTI,在不修改仿真模型组件情况能够运行在不同版本、不同开发商提供的RTI,也能够在分布式和集中式两种运行模式下运行,提高仿真模型组件和仿真系统的自适应能力。使用人员只需要通过人机交互单元的简单配置即可快捷地切换不同的运行模式,通过人机交互界面就能够开始、暂停、继续和结束仿真活动,仿真操作简单方便。
【专利附图】
【附图说明】
[0059]图1为本发明实施例的平台组成示意图。
[0060]图2为应用本发明实施例分布式运行模式的运行示意图。
[0061]图3为应用本发明实施例集中式运行模式的运行示意图。
[0062]图4为本发明实施例应用于分布式仿真环境中的运行示意图。
[0063]图5为本发明实施例仿真模型组件管理模块的工作流程示意图。
[0064]图6为本发明实施例仿真数据分发模块的工作流程示意图。
[0065]图7为本发明实施例仿真服务模块的工作流程示意图。
[0066]图8为本发明实施例网络服务模块的工作流程示意图。
[0067]图例说明:1、仿真运行控制模块;11、人机交互单元;12、配置解析单元;13、运行控制单元;2、仿真模型组件管理模块;21、组件组合管理单元;22、组件调度管理单元;23、组件事件管理单元;3、仿真数据分发模块;31、数据解析单元;32、数据分发单元;4、仿真服务模块;41、数据交互声明单元;42、对象管理单元;43、时间协同管理单元;5、网络服务模块;51、数据转换单元;52、服务翻译单元;53、HLA服务管理单元。
[0068]本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
【具体实施方式】
[0069]应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0070]本实施例一种基于组件的分布集中一体化仿真系统运行支撑平台包括仿真运行控制模块、仿真模型组件管理模块、仿真数据分发模块、仿真服务模块和网络服务模块,所示网络服务模块采用符合HLA规范的RTI API实现,其中
[0071]所述仿真运行控制模块,用于提供人机交互界面控制仿真开始、暂停、继续和结束,解析仿真系统组成配置信息和仿真控制命令,通过仿真服务模块建立仿真模型组件之间的数据交互表,以及在分布式运行模式下系统与外部其他联邦成员的数据交互表,负责加载仿真数据分发模块和仿真模型组件管理模块,为仿真数据分发模块提供仿真脚本数据,为仿真模型组件管理模块提供仿真系统组成配置的组件初始化配置信息。
[0072]所述仿真模型组件管理模块,用于组合仿真模型组件构建仿真系统,管理仿真模型组件调度状态,建立仿真模型组件的仿真事件队列,通过仿真服务模块实现仿真事件的发送和接收。
[0073]所述仿真数据分发模块,用于在集中式运行模式下解析输入的仿真脚本数据文件,获取仿真脚本所规划的仿真实体及仿真实体所对应的仿真模型组件信息,输出临时的仿真系统组成配置文件,在仿真运行过程中根据仿真推进时间发送相应的仿真脚本数据,调用仿真服务模块把仿真脚本数据通过仿真事件分发给仿真模型组件。
[0074]所述仿真服务模块,用于为仿真模型组件提供仿真服务集,完成仿真模型组件之间的数据公布和订购声明,建立仿真模型组件之间的数据交互表,以及在分布式运行模式下系统与外部其他联邦成员的数据交互表,维护仿真系统中所有仿真实体的注册和删除,负责协同仿真系统运行平台的时间推进。
[0075]所述网络服务模块,用于分布式运行模式下与RTI服务之间的转换,隔离仿真模型组件和RTI,实现仿真系统运行平台与其他联邦成员的数据交互。
[0076]基于组件的分布集中一体化仿真系统运行支撑平台的实施步骤如下:
[0077]I)配置仿真系统运行支撑平台运行模式,在运行前指定采用分布式或集中式的运行模式之一,根据确定的运行模式决定是否加载仿真数据分发模块或加载网络服务。
[0078]2)在分布式运行模式下,启动仿真系统运行支撑平台,加载特定的仿真系统组成配置文件;在集中式运行模式下,启动仿真系统运行支撑平台,加载仿真脚本数据文件,后台自动生成所需的仿真系统组成配置文件。
[0079]3)在分布式或集中式运行模式下,根据仿真系统组成配置文件,仿真系统运行支撑平台加载所需的仿真模型组件,组合这些仿真模型组件构建特定的仿真应用系统。
[0080]4)启动仿真,在集中式运行模式下仿真系统运行支撑平台能够独立运行;在分布式运行模式下仿真系统运行支撑平台加载网络服务模块,作为基于HLA的分布式仿真系统中联邦成员加入联邦,通过RTI提供的仿真服务与其他联邦成员进行数据交互。
[0081]5)仿真运行过程中,集中式运行模式下仿真系统运行支撑平台能够通过仿真服务模块独立维护仿真模型组件之间的数据分发和过滤,负责仿真模型组件之间的仿真时间协同推进,根据仿真推进时间分发仿真脚本数据给仿真模型组件;分布式模式下仿真系统运行支撑平台通过RTI提供的仿真服务完成与其他联邦成员的数据更新和发送,由RTI负责仿真系统运行支撑平台与其他联邦成员的仿真时间协同推进。
[0082]6)结束仿真,集中式模式下仿真系统运行支撑平台停止了整个仿真运行活动;分布式模式下仿真系统运行支撑平台退出联邦,结束仿真系统运行支撑平台自身的仿真运行活动。
[0083]其中,[0084]步骤I)中能够根据需要修改仿真系统运行支撑平台运行采用的模式,如果采用集中式运行模式,在仿真运行开始时仿真系统运行支撑平台不会加载网络服务模块,但会加载数据分发模块,仿真系统运行支撑平台作为独立的仿真系统运行,不会向外部其他仿真系统发送数据也不会从外部其他仿真系统获取数据。
[0085]步骤2)的详细步骤包括:2.1)根据步骤I)配置的仿真系统运行支撑平台运行模式,如果采用分布式运行模式,则执行步骤2.2);否则执行步骤2.3)。2.2)分布式运行模式下,仿真系统运行支撑平台的输入是仿真系统组成配置文件,由仿真运行控制模块解析该文件获取构建仿真系统的仿真模型组件信息,确定仿真模型组件之间的数据公布和订购关系,提取加入HLA联邦所需的联邦名称、联邦成员名称和联邦成员运行的仿真步长。2.3)集中式运行模式下,仿真系统运行支撑平台的输入是仿真脚本数据文件,通过仿真数据分发模块解析仿真脚本数据,获取仿真脚本所规划的仿真实体及仿真实体所对应的仿真模型组件信息,输出临时的仿真系统组成配置文件,由仿真运行控制模块解析仿真系统组成配置信息,确定仿真模型组件之间的数据公布和订购关系。
[0086]步骤3)的详细步骤包括:3.1)仿真系统运行支撑平台根据步骤2)所获取的组成仿真系统的仿真模型组件信息,检查仿真模型组件资源是否完备,如果资源完备,则执行下一步骤,否则结束仿真活动。3.2)仿真系统运行支撑平台在启动仿真之前加载所需的仿真模型组件模块,输出仿真模型组件加载的过程信息,创建仿真模型组件实例,从仿真系统组成配置中提取仿真模型组件特定的设置信息,转发给仿真模型组件实现组件配置初始化。
[0087]步骤4)的详细步骤包括:4.1)启动仿真,如果运行模式是分布式,则执行步骤
4.2),否则执行步骤4.3)。4.2)在分布式运行模式下,仿真系统运行支撑平台加载网络服务模块,以指定的联邦成员名称加入指定的联邦,如果成功加入联邦,则执行步骤4.4);否则结束仿真活动。4.3)在集中式运行模式下,仿真系统运行支撑平台不需要加载网络服务模块,直接执行步骤4.4)。4.4)仿真系统运行支撑平台根据仿真模型组件的数据公布和订购信息,建立仿真模型组件之间的数据交互表。4.5)仿真系统运行支撑平台向仿真模型组件发送仿真活动初始化事件,所有仿真模型组件初始化成功后执行下一步骤,否则结束仿真活动。
[0088]步骤5)的详细步骤包括:5.1)在仿真运行过程中,分布式运行模式下仿真系统运行支撑平台通过网络服务不断向RTI请求时间推进,被允许推进后,接收其他联邦成员的数据,通过网络服务把接收到的数据转换为相应的仿真事件,按照时间升序把仿真事件放入仿真事件队列中,然后执行步骤5.2)。在集中式运行模式下,仿真系统运行支撑平台时间推进由自身控制,每一步推进步骤如5.2)。5.2)仿真系统运行支撑平台根据仿真模型组件的不同推进步长,计算仿真模型组件的允许推进时间,获取被允许调度的仿真模型组件,设置这些仿真模型组件状态为可允许调度状态,仿真模型组件进入组件管理器中的允许调度组件列表。5.3)仿真系统运行支撑平台从组件管理器中的允许调度组件列表获取被允许调度的仿真模型组件,从仿真事件队列中获取被允许调度的仿真模型组件感兴趣的仿真事件,把这些事件按照时间升序发送给仿真模型组件。5.4)等待被允许调度的仿真模型组件处理完接收到的仿真事件后,仿真系统运行支撑平台向其发送仿真更新事件,等待仿真模型组件处理完仿真更新事件后,设置这些仿真模型组件状态为等待调度状态,仿真模型组件进入组件管理器中的等待调度组件列表。5.5)仿真模型组件调度结束后,对仿真模型组件输出的仿真事件,如果事件排序与仿真时间无关,则仿真系统运行支撑平台直接发送给感兴趣的其他仿真模型组件,在分布式运行模式下还通过网络服务转换为特定的RTI服务发送给其他联邦成员;如果事件排序与仿真时间相关,则按照时间升序方式把该事件放入仿真事件队列。5.5)如果仿真系统运行支撑平台没有达到仿真停止条件,则继续执行步骤
5.1);否则,执行下一步骤。
[0089]步骤6)的详细步骤包括:6.1)仿真系统运行支撑平台达到仿真停止条件,分布式运行模式下仿真系统运行支撑平台退出联邦,接着执行步骤6.2),集中式运行模式下仿真系统运行支撑平台直接执行步骤6.2)。6.2)仿真系统运行支撑平台向仿真模型组件发送仿真停止事件,等待仿真模型组件处理完仿真停止事件后,结束仿真活动。
[0090]如图1所示,本实施例的基于组件的分布集中一体化仿真系统运行支撑平台包括:
[0091 ] 仿真运行控制模块I,用于提供人机交互界面控制仿真开始、暂停、继续和结束,解析仿真系统组成配置信息和仿真控制命令,通过仿真服务模块4建立仿真模型组件之间的数据交互表,以及在分布式运行模式下系统与外部其他联邦成员的数据交互表,负责加载仿真数据分发模块2和仿真模型组件管理模块3,为仿真数据分发模块2提供仿真脚本数据,为仿真模型组件管理模块3提供仿真系统组成配置的组件初始化配置信息。
[0092]仿真运行控制模块I包括人机交互单元11、配置解析单元12和运行控制单元13 ;人机交互单元11提供人机交互界面,使得使用人员可以设置仿真系统运行支撑平台运行模式,触发仿真系统运行的仿真启动、暂停、继续和结束状态,以及输入仿真系统运行支撑平台运行所需的输入数据,所述输入数据包括仿真脚本数据文件(采用XML格式)和仿真系统组成配置文件(采用XML格式);所述配置解析单元12通过人机交互单元获取的输入数据,如果输入数据是仿真脚本数据文件,则首先将仿真脚本数据文件转换为仿真系统组成配置文件,然后解析仿真系统组成配置文件;所述运行控制单元13根据使用人员通过人机交互单元设置的运行模式,加载仿真模型组件管理模块,只在集中式运行模式下加载仿真数据分发模块,根据配置解析单元提供的配置解析信息,通过调用仿真服务模块建立仿真模型组件之间的数据交互表,通过人机交互单元触发的仿真系统运作状态,向仿真服务模块发送仿真开始、暂停、继续和结束事件,控制仿真系统运行支撑平台的运行状态。
[0093]仿真模型组件管理模块2,用于组合仿真模型组件构建仿真系统,管理仿真模型组件调度状态,建立仿真模型组件的仿真事件队列,通过仿真服务模块4实现仿真事件的发送和接收。
[0094]仿真模型组件管理模块2包括组件组合管理单元21、组件调度管理单元22和组件事件管理单元23 ;所述组件组合管理单元21获取仿真运行控制模块解析的仿真系统组成配置信息,检查仿真模型组件资源是否完备,加载仿真模型组件,创建仿真模型组件实例组合构建仿真系统;所述组件调度管理单元22通过调度管理器存储组件组合管理单元创建的仿真模型组件实例,在仿真运行过程中管理仿真模型组件调度状态;所述组件事件管理单元23管理组件调度管理单元调度仿真模型组件过程中产生的仿真事件,调用仿真服务模块实现仿真模型组件之间的数据交互。
[0095]仿真数据分发模块3,用于在集中式运行模式下解析输入的仿真脚本数据文件,获取仿真脚本所规划的仿真实体及仿真实体所对应的仿真模型组件信息,输出临时的仿真系统组成配置文件,在仿真运行过程中根据仿真推进时间发送相应的仿真脚本数据,调用仿真服务模块4把仿真脚本数据通过仿真事件分发给仿真模型组件。
[0096]仿真数据分发模块3包括数据解析单元31和数据分发单元32 ;所述数据解析单元31解析仿真运行模块读取的仿真脚本数据文件,获取仿真脚本所描述的仿真实体及仿真实体所对应的仿真模型组件信息,输出临时的仿真系统组成配置文件;所述数据分发单元32在仿真运行过程中根据仿真推进时间发送相应的仿真脚本数据,调用仿真服务模块把仿真脚本数据通过仿真事件分发给仿真模型组件。
[0097]仿真服务模块4,用于为仿真模型组件提供仿真服务集,完成仿真模型组件之间的数据公布和订购声明,建立仿真模型组件之间的数据交互表,以及在分布式运行模式下系统与外部其他联邦成员的数据交互表,维护仿真系统中所有仿真实体的注册和删除,负责协同仿真系统运行平台的时间推进。
[0098]仿真服务模块4包括数据交互声明单元41、对象管理单元42和时间协同管理单元43 ;所述数据交互声明单元41解析仿真运行控制模块发送的仿真模型组件数据公布订购事件调用相应的仿真服务建立仿真模型组件之间的数据交互表;所述对象管理单元42解析仿真模型组件管理模块在调度过程中发送的仿真事件调用相应的仿真服务,管理仿真模型组件内部仿真实体状态,根据数据交互声明单元的仿真模型组件数据交互表把特定的数据分发给仿真模型组件,在分布式运行模式下通过网络服务模块把外部其他联邦成员感兴趣的数据发送给联邦;所述时间协同管理单元43根据仿真模型组件管理模块发送的仿真模型组件请求推进的仿真事件,计算仿真模型组件被允许调度的时间,设置仿真模型组件推进时间,在分布式运行模式下还管理本系统在HLA联邦中的联邦成员局部仿真时间。
[0099]网络服务模块5,用于分布式运行模式下与RTI服务之间的转换,隔离仿真模型组件和RTI,实现仿真系统运行支撑平台与其他联邦成员的数据交互。
[0100]网络服务模块5包括数据转换单元51、服务翻译单元52和HLA服务管理单元53 ;所述数据转换单元51解析仿真服务模块发送给其他联邦成员和接收其他联邦成员的交互数据,转换为仿真系统运行支撑平台和其他联邦成员约定的数据格式;所述服务翻译单元52把数据转换单元转换后的数据映射为仿真系统运行支撑平台内部的仿真服务或HLA服务;所述HLA服务管理单元53负责提供的HLA服务集合,被服务翻译单元所调用。
[0101]本实施例中,仿真运行控制模块I在分布式和集中式运行模式下负责加载仿真模型组件管理模块2,在运行过程中调用仿真服务模块4,只在集中式运行模式下加载仿真数据分发模块3,只在分布式运行模式下加载网络服务模块;所述仿真模型组件管理模块2与仿真服务模块4相互调用;所述仿真数据分发模块3调用仿真服务模块4 ;所述仿真服务模块4与网络服务模块相互调用,实现在分布式运行模式下与外部其他联邦成员进行数据交互。
[0102]如图2所示,在本实施例的分布式运行模式下,仿真系统运行支撑平台通过仿真运行控制模块提供的人机交互单元读取指定的仿真系统组成配置文件,交给配置解析单元进行解析,解析好的信息作为仿真模型组件管理模块的输入,仿真模型组件管理模块根据这些信息在指定的位置下加载构建仿真系统所需的仿真模型组件,构建成功的仿真系统通过网络服务模块调用RTI服务,作为符合一个HLA规范的联邦成员加入HLA分布式仿真系统中,与其他联邦成员实现互操作。由于网络服务模块隔离了仿真系统运行支撑平台与特定版本的RTI,因此通过替换对应不同版本RTI的相应网络服务模块,不需要修改仿真系统运行支撑平台的其他模块,使得基于本实例的仿真系统运行支撑平台构建的仿真系统就可以在不同版本的RTI运行,提高了仿真系统的重用性和可移植性。
[0103]如图3,在本实施例的集中式运行模式下,仿真系统运行支撑平台通过仿真运行控制模块提供的人机交互单元读取指定的仿真脚本数据文件,首先由仿真数据模块数据解析单元进行转换为仿真系统配置组成文件并由仿真运行控制模块配置解析单元进行解析,接着把仿真脚本数据作为独立信息节点嵌入仿真系统配置组成文件中。与分布式运行模式同理,仿真模型组件管理模块根据仿真系统组成配置信息加载构建仿真系统所需的仿真模型组件。与分布式运行模式不同的是,仿真系统运行支撑平台不再需要网络服务模块,而是作为独立运行的仿真系统。
[0104]如图4所示,本实施例的分布式运行模式中,基于本实例的仿真系统运行支撑平台构建的仿真系统作为联邦成员加入基于HLA的分布式仿真系统中,与其他联邦成员进行互操作。其他联邦成员也可以是基于本实施例的仿真系统运行支撑平台构建的另一个仿真系统,也可以是非基于本实施例的仿真系统运行支撑平台构建的联邦成员,但要求运行的RTI必须是相同版本。
[0105]如图5所示,本实施例的仿真模型组件管理模块2的具体流程为:
[0106]步骤Al,读取仿真运行控制模块I输入的仿真系统组成配置信息;
[0107]步骤A2,根据仿真系统组成配置信息加载所需的仿真模型组件,并对仿真模型组件进行配置信息的初始化;
[0108]步骤A3,仿真模型组件管理模块2组合仿真模型组件,建立仿真模型组件管理列表,完成初始化;
[0109]步骤A4,等待仿真运行控制模块I发出的仿真运行开始命令,如果没有收到,则继续等待,否则转入下一步;
[0110]步骤A5,计算仿真模型组件推进时间,设置仿真模型组件调度状态,根据调度列表从仿真模型组件管理列表获取被允许调度的一个或多个仿真模型组件进行调度;
[0111]步骤A6,根据被调度的仿真模型组件产生的仿真事件,更新仿真模型组件事件列表;
[0112]步骤A7,等待仿真运行控制模块I发出的仿真运行结束命令,如果没有接收到结束命令,则返回步骤A5,否则转入下一步;
[0113]步骤AS,清空仿真模型组件事件列表和调度列表。
[0114]如图6所示,本实施例的仿真数据分发模块3的数据处理具体流程为:
[0115]步骤BI,获取仿真运行控制模块I输入的仿真脚本数据进行解析,并将其转换为仿真系统组成配置文件提供给仿真运行控制模块I使用;
[0116]步骤B2,根据仿真脚本中各数据段所对应的仿真时间,按照升序进行排列,建立仿真脚本数据队列;
[0117]步骤B3,等待仿真运行控制模块I发出的仿真运行开始命令,如果没有收到,则继续等待,否则转入下一步;
[0118]步骤B4,根据当前的仿真时间,从仿真脚本数据队列查询所对应的仿真数据,并存入需要发送的仿真数据队列中;[0119]步骤B5,判断需要发送的仿真数据队列中是否存在需要发送的仿真脚本数据,如果仿真数据队列为空,则直接进入步骤B7,否则转入下一步;
[0120]步骤B6,调用仿真服务模块4分发仿真脚本数据;
[0121]步骤B7,等待仿真运行控制模块I发出的仿真运行结束命令,如果没有接收到结束命令,则返回步骤B4继续查询,否则转入下一步;
[0122]步骤B8,清空仿真脚本数据队列。
[0123]如图7所示,本实施例的仿真服务模块4的数据处理具体流程为:
[0124]步骤Cl,读取仿真运行控制模块I输入的仿真系统组成配置信息;
[0125]步骤C2,根据仿真系统组成配置中的仿真模型组件接口和系统接口信息建立仿真数据交互映射表,完成初始化;
[0126]步骤C3,等待本地或网络发送过来的仿真事件,如果没有,则继续等待,否则转入下一步;
[0127]步骤C4,解析仿真事件所包含的事件参数内容;
[0128]步骤C5,根据解析后的仿真事件类型,调用相应的仿真服务;
[0129]步骤C6,判断仿真系统运行支撑平台的运行模式,如果是集中式运行模式,则返回步骤C3继续等待新的仿真事件,否则转入下一步;
[0130]步骤C7,调用网络服务模块,把仿真事件进一步分发给其他联邦成员。
[0131]如图8所示,本实施例的网络服务模块5的数据处理具体流程为:
[0132]步骤D1,等待本地或网络发送过来的仿真事件,如果没有,则继续等待,否则转入下一步;
[0133]步骤D2,解析仿真事件所包含的事件参数内容;
[0134]步骤D3,把解析后的仿真数据转换为符合本地或HLA要求的数据流,并设置相应的仿真事件类型;
[0135]步骤D4,根据仿真事件类型,调用相应的仿真服务;
[0136]步骤D5,判断仿真运行是否结束,如果没有,则返回步骤Dl继续等待新的仿真事件,否则结束仿真。
[0137]以上所述仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本【技术领域】的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
【权利要求】
1.一种基于组件的分布集中一体化仿真系统运行支撑平台,包括仿真运行控制模块、仿真模型组件管理模块、仿真数据分发模块、仿真服务模块和网络服务模块,所示网络服务模块采用符合HLA规范的RTI API实现,其特征在于: 所述仿真运行控制模块,用于提供人机交互界面控制仿真开始、暂停、继续和结束,解析仿真系统组成配置信息和仿真控制命令,通过仿真服务模块建立仿真模型组件之间的数据交互表,以及在分布式运行模式下系统与外部其他联邦成员的数据交互表,负责加载仿真数据分发模块和仿真模型组件管理模块,为仿真数据分发模块提供仿真脚本数据,为仿真模型组件管理模块提供仿真系统组成配置的组件初始化配置信息; 所述仿真模型组件管理模块,用于组合仿真模型组件构建仿真系统,管理仿真模型组件调度状态,建立仿真模型组件的仿真事件队列,通过仿真服务模块实现仿真事件的发送和接收; 所述仿真数据分发模块,用于在集中式运行模式下解析输入的仿真脚本数据文件,获取仿真脚本所规划的仿真实体及仿真实体所对应的仿真模型组件信息,输出临时的仿真系统组成配置文件,在仿真运行过程中根据仿真推进时间发送相应的仿真脚本数据,调用仿真服务模块把仿真脚本数据通过仿真事件分发给仿真模型组件; 所述仿真服务模块,用于为仿真模型组件提供仿真服务集,完成仿真模型组件之间的数据公布和订购声明,建立仿真模型组件之间的数据交互表,以及在分布式运行模式下系统与外部其他联邦成员的数据交互表,维护仿真系统中所有仿真实体的注册和删除,负责协同仿真系统运行平台的时间推进; 所述网络服务模块,用于分布式运行模式下与RTI服务之间的转换,隔离仿真模型组件和RTI,实现仿真系统运行平台与其他联邦成员的数据交互。
2.根据权利要求1所述的基于组件的分布集中一体化仿真系统运行支撑平台,其特征在于,所述仿真运行控制模块包括人机交互单元、配置解析单元和运行控制单元;所述人机交互单元提供人机交互界面,使得使用人员可以设置仿真系统运行支撑平台运行模式,触发仿真系统运行的仿真启动、 暂停、继续和结束状态,以及输入仿真系统运行支撑平台运行所需的输入数据,所述输入数据包括仿真脚本数据文件和仿真系统组成配置文件;所述配置解析单元通过人机交互单元获取的输入数据,如果输入数据是仿真脚本数据文件,则首先通过数据分发模块将仿真脚本数据文件转换为仿真系统组成配置文件,然后解析仿真系统组成配置文件;所述运行控制单元根据使用人员通过人机交互单元设置的运行模式,力口载仿真模型组件管理模块,只在集中式运行模式下加载仿真数据分发模块,根据配置解析单元提供的配置解析信息,通过调用仿真服务模块建立仿真模型组件之间的数据交互表,通过人机交互单元触发的仿真系统运作状态,向仿真服务模块发送仿真开始、暂停、继续和结束事件,控制仿真系统运行支撑平台的运行状态。
3.根据权利要求1所述的基于组件的分布集中一体化仿真系统运行支撑平台,其特征在于:所述仿真模型组件管理模块包括组件组合管理单元、组件调度管理单元和组件事件管理单元;所述组件组合管理单元获取仿真运行控制模块解析的仿真系统组成配置信息,检查仿真模型组件资源是否完备,加载仿真模型组件,创建仿真模型组件实例组合构建仿真系统;所述组件调度管理单元通过调度管理器存储组件组合管理单元创建的仿真模型组件实例,在仿真运行过程中管理仿真模型组件调度状态;所述组件事件管理单元管理组件调度管理单元调度仿真模型组件过程中产生的仿真事件,调用仿真服务模块实现仿真模型组件之间的数据交互。
4.根据权利要求1所述的基于组件的分布集中一体化仿真系统运行支撑平台,其特征在于:所述仿真数据分发模块包括数据解析单元和数据分发单元;所述数据解析单元解析仿真运行模块读取的仿真脚本数据文件,获取仿真脚本所描述的仿真实体及仿真实体所对应的仿真模型组件信息,输出临时的仿真系统组成配置文件;所述数据分发单元在仿真运行过程中根据仿真推进时间发送相应的仿真脚本数据,调用仿真服务模块把仿真脚本数据通过仿真事件分发给仿真模型组件。
5.根据权利要求4所述的基于组件的分布集中一体化仿真系统运行支撑平台,其特征在于:所述仿真服务模块包括数据交互声明单元、对象管理单元和时间协同管理单元;所述数据交互声明单元解析仿真运行控制模块发送的仿真模型组件数据公布订购事件调用相应的仿真服务建立仿真模型组件之间的数据交互表;所述对象管理单元解析仿真模型组件管理模块在调度过程中发送的仿真事件调用相应的仿真服务,管理仿真模型组件内部仿真实体状态,根据数据交互声明单元的仿真模型组件数据交互表把特定的数据分发给仿真模型组件,在分布式运行模式下通过网络服务模块把外部其他联邦成员感兴趣的数据发送给联邦;所述时间协同管理单元根据仿真模型组件管理模块发送的仿真模型组件请求推进的仿真事件,计算仿真模型组件被允许调度的时间,设置仿真模型组件推进时间,在分布式运行模式下还管理本系统在HLA联邦中的联邦成员局部仿真时间。
6.根据权利要求4所述的基于组件的分布集中一体化仿真系统运行支撑平台,其特征在于:所述网络服务模块包括数据转换单元、服务翻译单元和HLA服务管理单元;所述数据转换单元解析仿真服务模块发送给其他联邦成员和接收其他联邦成员的交互数据,转换为仿真系统运行支撑平台和其他联邦成员约定的数据格式;所述服务翻译单元把数据转换单元转换后的数据映射为仿真系统运行支撑平台内部的仿真服务或HLA服务;所述HLA服务管理单元负责提供的HLA服务集合,被服务翻译单元所调用。
7.根据权利要求4所述的基于组件的分布集中一体化仿真系统运行支撑平台,其特征在于:所述仿真运行控 制模块在分布式和集中式运行模式下负责加载仿真模型组件管理模块,在运行过程中调用仿真服务模块,只在集中式运行模式下加载仿真数据分发模块,只在分布式运行模式下加载网络服务模块;所述仿真模型组件管理模块与仿真服务模块相互调用;所述仿真数据分发模块调用仿真服务模块;所述仿真服务模块与网络服务模块相互调用,实现在分布式运行模式下与外部其他联邦成员进行数据交互。
8.上述一种基于组件的分布集中一体化仿真系统运行支撑平台的实施方法,其特征在于: 1)配置仿真系统运行支撑平台运行模式,在运行前指定采用分布式或集中式的运行模式之一,根据确定的运行模式决定是否加载仿真数据分发模块或加载网络服务模块; 2)在分布式运行模式下,启动仿真系统运行支撑平台,加载特定的仿真系统组成配置文件;在集中式运行模式下,启动仿真系统运行支撑平台,加载仿真脚本数据文件,后台自动生成所需的仿真系统组成配置文件; 3)在分布式或集中式运行模式下,根据仿真系统组成配置文件,仿真系统运行支撑平台加载所需的仿真模型组件,组合这些仿真模型组件构建特定的仿真应用系统;·4)启动仿真,在集中式运行模式下仿真系统运行支撑平台能够独立运行;在分布式运行模式下仿真系统运行支撑平台加载网络服务模块,作为基于HLA的分布式仿真系统中联邦成员加入联邦,通过RTI提供的仿真服务与其他联邦成员进行数据交互; ·5 )仿真运行过程中,集中式运行模式下仿真系统运行支撑平台能够通过仿真服务模块独立维护仿真模型组件之间的数据分发和过滤,负责仿真模型组件之间的仿真时间协同推进,根据仿真推进时间分发仿真脚本数据给仿真模型组件;分布式模式下仿真系统运行支撑平台通过RTI提供的仿真服务完成与其他联邦成员的数据更新和发送,由RTI负责仿真系统运行支撑平台与其他联邦成员的仿真时间协同推进; ·6)结束仿真,集中式模式下仿真系统运行支撑平台停止了整个仿真运行活动;分布式模式下仿真系统运行支撑平台退出联邦,结束仿真系统运行支撑平台自身的仿真运行活动。
9.根据权利要求8所述的一种基于组件的分布集中一体化仿真系统运行支撑平台的实施方法,其特征在于: 步骤I)中能够根据需要修改仿真系统运行支撑平台运行采用的模式,如果采用集中式运行模式,在仿真运行开始时仿真系统运行支撑平台不会加载网络服务模块,但会加载数据分发模块,仿真系统运行支撑平台作为独立的仿真系统运行,不会向外部其他仿真系统发送数据也不会从外部其他仿真系统获取数据; 步骤2)的详细步骤包括: ·2.1)根据步骤I)配置的仿真系统运行支撑平台运行模式,如果采用分布式运行模式,则执行步骤2.2);否则执行步骤2.3); ·2.2)分布式运行模式下,仿真系统运行支撑平台的输入是仿真系统组成配置文件,由仿真运行控制模块解析该文件获取构建仿真系统的仿真模型组件信息,确定仿真模型组件之间的数据公布和订购关系,提取加入HLA联邦所需的联邦名称、联邦成员名称和联邦成员运行的仿真步长; ·2.3)集中式运行模式下,仿真系统运行支撑平台的输入是仿真脚本数据文件,通过仿真数据分发模块解析仿真脚本数据,获取仿真脚本所规划的仿真实体及仿真实体所对应的仿真模型组件信息,输出临时的仿真系统组成配置文件,由仿真运行控制模块解析仿真系统组成配置信息,确定仿真模型组件之间的数据公布和订购关系; 步骤3)的详细步骤包括: ·3.1)仿真系统运行支撑平台根据步骤2)所获取的组成仿真系统的仿真模型组件信息,检查仿真模型组件资源是否完备,如果资源完备,则执行下一步骤,否则结束仿真活动; ·3.2)仿真系统运行支撑平台在启动仿真之前加载所需的仿真模型组件模块,输出仿真模型组件加载的过程信息,创建仿真模型组件实例,从仿真系统组成配置中提取仿真模型组件特定的设置信息,转发给仿真模型组件实现组件配置初始化; 步骤4)的详细步骤包括: ·4.1)启动仿真,如果运行模式是分布式,则执行步骤4.2),否则执行步骤4.3); ·4.2)在分布式运行模式下,仿真系统运行支撑平台加载网络服务模块,以指定的联邦成员名称加入指定的联邦,如果成功加入联邦,则执行步骤4.4);否则结束仿真活动; ·4.3)在集中式运行模式下,仿真系统运行支撑平台不需要加载网络服务模块,直接执行步骤4.4); . 4.4)仿真系统运行支撑平台根据仿真模型组件的数据公布和订购信息,建立仿真模型组件之间的数据交互表; .4.5)仿真系统运行支撑平台向仿真模型组件发送仿真活动初始化事件,所有仿真模型组件初始化成功后执行下一步骤,否则结束仿真活动; 步骤5)的详细步骤包括: . 5.1)在仿真运行过程中,分布式运行模式下仿真系统运行支撑平台通过网络服务不断向RTI请求时间推进,被允许推进后,接收其他联邦成员的数据,通过网络服务把接收到的数据转换为相应的仿真事件,按照时间升序把仿真事件放入仿真事件队列中,然后执行步骤5.2);在集中式运行模式下,仿真系统运行支撑平台时间推进由自身控制,每一步推进步骤如5.2); .5.2)仿真系统运行支撑平台根据仿真模型组件的不同推进步长,计算仿真模型组件的允许推进时间,获取被允许调度的仿真模型组件,设置这些仿真模型组件状态为可允许调度状态,仿真模型组件进入组件管理器中的允许调度组件列表; .5.3)仿真系统运行支撑平台从组件管理器中的允许调度组件列表获取被允许调度的仿真模型组件,从仿真事件队列中获取被允许调度的仿真模型组件感兴趣的仿真事件,把这些事件按照时间升序发送给仿真模型组件; .5.4)等待被允许调度的仿真模型组件处理完接收到的仿真事件后,仿真系统运行支撑平台向其发送仿真更新事件,等待仿真模型组件处理完仿真更新事件后,设置这些仿真模型组件状态为等待调度状态,仿真模型组件进入组件管理器中的等待调度组件列表; .5.5)仿真模型组件调度结束后,对仿真模型组件输出的仿真事件,如果事件排序与仿真时间无关,则仿真系统运行支撑平台直接发送给感兴趣的其他仿真模型组件,在分布式运行模式下还通过网络服务转换为特定的RTI服务发送给其他联邦成员;如果事件排序与仿真时间相关,则按照时间升序方式把该事件放入仿真事件队列; .5.6)如果仿真系统运行支撑平台没有达到仿真停止条件,则继续执行步骤5.1);否则,执行下一步骤; 步骤6)的详细步骤包括: .6.1)仿真系统运行支撑平台达到仿真停止条件,分布式运行模式下仿真系统运行支撑平台退出联邦,接着执行步骤6.2),集中式运行模式下仿真系统运行支撑平台直接执行步骤 6.2); . 6.2)仿真系统运行支撑平台向仿真模型组件发送仿真停止事件,等待仿真模型组件处理完仿真停止事件后 ,结束仿真活动。
【文档编号】G06F17/50GK103440376SQ201310375962
【公开日】2013年12月11日 申请日期:2013年8月26日 优先权日:2013年8月26日
【发明者】龚建兴, 黄健, 郝建国, 程巧, 王志佳, 张中杰 申请人:中国人民解放军国防科学技术大学