1.1 概念和需求
引擎一词来源于英语的“Egnien”,一般指的是将能量转化为力量或运动的装置,是系统的“心脏”。在仿真系统中,仿真引擎是驱动模型运行的核心组件,它为模型提供输人数据,控制模型运行,推进仿真时间,为各类分析和表现工具提供输出数据和控制信号。仿真引擎按照战争层次划分为不同的级别,如装备级仿真引擎、战术级仿真引擎、战役级仿真引擎和战略级仿真引擎。通常情况下,由于仿真的层次不同,仿真的侧重点也不同,仿真引擎在具体功能上也有不同,特别是其建模框架。按照分布程度可以将仿真引擎分为集中式仿真引擎和分布式仿真引擎,集中式仿真引擎具有单一的运行控制管理模块,而分布式仿真引擎则具有多个可以互相协调的运行控制管理模块。按照内部的处理机制可以将仿真引擎分为串行仿真引擎和并行仿真引擎两种,串行仿真引擎中按顺序调度各实体仿真执行,而并行仿真引擎中则可以支持多个实体同时仿真执行。
联合作战仿真引擎是面向联合作战仿真系统的仿真引擎,其主要需求应该包括以下几个方面。
一是提供联合作战模型的开发框架。模型开发框架采用面向对象的机制组织各类仿真实体,实体类的组织结构要符合联合作战的特点,具有开放性并且易于扩展。模型开发框架支持形式化的作战规则,提供作战规则表述机制和组织管理工具。模型开发框架提供一组设计合理的AIP,可以对实体的各种属性和行为进行调整,如实体的人员配置参数、武器装备参数、运动方式、通信行为、战役战术行为、毁伤和感知等等。
二是支持多种仿真推进方式。仿真引擎必须支持两种基本推进方式,即时间步长推进方式和事件步长推进方式,具备从模型组件库中读取模型组件信息,并根据这些信息,采用模型驱动的方式推进仿真。
三是支持实体的并行式仿真。通过在单一仿真引擎内采用多线程技术,不同的实体可以具有不同的线程,实体可以并行地仿真。
四是支持仿真引擎之间的分布式部署。仿真引擎之间可以通过特定的接口和某种通信基础设施进行互操作,从而可以将复杂大规模仿真合理部署到网络上,提高单独仿真引擎的执行效率及仿真实体的规模。
五是提供良好的数据组织方式。仿真引擎应提供结构合理、易于扩展的数据组织机制,方便模型读取各种输人数据(如来自想定中的部队配置和武器装备参数等),为态势表现模块和分析评估模块提供方便的输出数据(如部队的各种损耗)。
1.2 体系架构
根据对联合作战仿真引擎的主要需求,联合作战仿真引擎的系统体系结构如下图所示。
1.3 核心模块
1.3.1 实体管理模块
实体管理模块包括一系列负责管理各类实体的实体管理类,每一个基本实体类都对应一个实体管理类,它控制着实体的创建、销毁、配置、用户界面和各种相关数据,从而可以简化开发人员的相关工作,简化代码编写。
1.3.2 时间管理模块
时间管理工具能够为仿真运行提供统一的时间服务,协调单机多线程、多机各邦员之间的时间同步,协调分布式仿真运行的仿真推进,以保证联邦成员间收发信息的时间逻辑正确性,协调不同时间管理类型的联邦成员在联邦时间轴上的推进,同时为各联邦成员提供不同传输要求和质量的消息、数据传输。
1.3.2.1 时间管理机制
按照对联邦逻辑时间推进的影响,联邦成员的时间管理策略分为时间受限和时间控制,它们描述联邦成员之间的逻辑时钟推进关系,与时间管理机制的内容密切相关,对联邦成员选择时间管理机制产生影响。在此基础上,HLA的时间管理机制包括两方面的内容:消息传递机制和时间推进机制。消息传递机制包括消息传输方式和消息传递顺序。其中消息传输方式分为“可靠(reliable)”和“快速(best effort)两种,前者保证可靠性,使消息最终能达到目的成员,通常要增加时延;后者以减少传输时延为主要目的,通常要降低可靠性。消息的传递顺序分为两类:接收顺序(Accept Order,RO)、时戳顺序(Timestamp Order,TSO),它们是目前HLA支持的两种基本消息传递顺序。时间推进机制可分为两大类:一类为保守时间推进机制,另一类为乐观时间推进机制。HLA时间管理中保守时间推进机制的基本思想是假设物理系统满足可实现性和可预测性,保证系统发出的t时刻的消息依赖于t时刻前收到的消息和状态,且系统能在t时刻预测出t+ε时刻的消息(ε>0),按照非递减的时戳顺序对时戳消息进行交互,以处理逻辑进程的离散事件实现对系统的正确仿真。在该机制中,“时间前瞻量(Lookahead)”和“时戳下限(LBTS)”是影响时间推进的两个关键变量。尽管保守算法可能会引起死锁,Fujimoto的研究指出利用“时间前瞻量”可有效解决这个问题。HLA乐观时间推进机制的基本思想则不遵守保守机制算法,当系统发生逻辑因果错误,利用回滚(retract)机制对系统状态进行恢复,其机制确保事件按TSO处理。
1.3.2.2 时间推进方式
时间推进服务管理分布式网络环境下的事件队列,统一维护仿真过程中模型、系统或外部驱动产生的各类型事件,调度请求仿真时间推进。在HLA时间管理中,联邦成员的时间推进方式是由时间管理策略和时间推进机制共同决定的,时间推进方式的选择是在时间推进机制的基础上进行的。时间推进方式分为独立时间推进和协商时间推进。通常在独立时间推进方式下,各联邦成员不受约束地推进各自的时间,且RTI不参加协调成员间的时间推进。在协商时间推进方式下,RTI协同各成员间的时间推进,保证联邦执行与物理系统中事件的先后顺序一致,协商时间推进分为:步进的时间推进、基于事件的时间推进和乐观机制下的时间推进。因此,在保守同步机制下,可选择步进的时间推进方式或基于事件的时间推进方式。
1.3.3 事件管理模块
详见附件
1.3.4 地理处理模块
详见附件
1.3.5 数据处理模块
详见附件
1.3.6 脚本解析模块
详见附件
1.3.7 日志管理模块
详见附件
1.3.8 显示控制模块
详见附件
1.3.9 界面生成模块
详见附件
1.3.10 网络通信模块
详见附件
1.3.11 分布式服务模块
详见附件
1.4 辅助工具
详见附件
1.5 关键技术问题
构建这样一个仿真引擎需要解决一系列技术问题,其中的关键技术问题包括以下几个方面。
1.5.1 仿真模型框架
详见附件
1.5.2 数据管理
详见附件