张欣景,赵志军,谢国新,夏红梅
(海军兵种指挥学院模拟训练中心,广东 广州 510430)
随着现代高科技战争条件的复杂化,单一兵种往往很难胜任某项军事任务的完成。海军诸兵种综合战术训练仿真系统是一个复杂、庞大、典型的分布式仿真系统,其涵盖了海军现有的水面舰艇、航空兵、潜艇、陆战及岸防等五大兵种,实现了复杂环境下各兵种间多平台、多武器、多行为、多精度的实时战术对抗训练仿真。当前,军内在建立与完善不同军兵种、不同层次的各类分布式战术训练仿真系统中积累了许多经验[1-6],但如何将这些系统通过统一的体系结构、标准的通信协议,并合理地控制仿真粒度及规范仿真行为,实现各类系统的一体化建设,提高各类系统的可重用性,仍是当前军内系统仿真领域内研究的热点与难点,这也是本文探讨研究的重点。
HLA(High Level Architecture)是在系统级别上建立起来的一个开放式的仿真体系结构,其主要目的就是要使得不同用途的,不同实现方式的仿真系统能够实现互操作,并提高仿真系统及其部件的可重用性[7-9]。在构建海军诸兵种综合战术训练仿真系统时,其需要解决的主要问题就是要将这些针对不同用途开发的仿真系统,通过HLA这样一个统一的体系框架进行有效地融合,实现各个仿真系统间的互操作和仿真系统及其部件的可重用。系统的总体结构如图1所示。
图1 系统总体结构图
由图1可以看出构建系统时具体要解决的问题包含以下3个方面:1)优化网络拓扑,设计合理、开放的系统体系结构,让体系庞大的多系统,多成员能够满足实时的网络信息交互需求,并满足未来新系统、新成员的加入;2)分析系统需要仿真的实体,控制好仿真粒度(定义基本仿真粒度为平台级),并规范仿真行为;3)设计标准的信息交互协议,统一管理信息交互格式。下文将分别阐述这3个方面的设计思路与具体做法。
2.1.1基于RTI的系统网络拓扑结构
海军诸兵种综合作战模拟系统的体系结构设计时,考虑到系统可能会有数量庞大的联邦成员加入,为均衡网络负载,系统采用了分层式 MAKRTI(Run Time Infrastructure)中基于局域网的分布式独立网络代理(Singleton Forwards)拓扑模式[10],其数据传输的原理示意图如图2如示。
图2 基于局域网的分布式独立网络代理拓扑图
图2中,ForwarderA/B/C表示LAN中三个独立的RTI网络代理,每个RTI网络代理有三个联邦成员通过LAN与之相连,ForwarderA/B/C分别独立运行于一台计算机上,每个联邦成员也分别运行于一台计算机上。从图2中可以看出,三个RTI网络代理之间是互为主代理,而成员仅将与之相连的网络代理视为主代理。如果成员B2要发信息到A1或C1,则必须先通过 ForwarderB转发至 ForwarderA/C,再由ForwarderA/C转发给A1或C1。实际应用中,令每个兵种的仿真子系统启用一个Forwarder,并且限定各兵种的所有成员仅加入到该 Forwarder中,且兵种内部的数据交互通过启用RTI的路径空间形式严格限制在本 Forwarder中,兵种间的数据交互则是通过Forwarder转发,这样就可以有效地减少同一个 LAN中的数据流大小。同时,这种结构也可以不作修改地作为一个整体加入到以万维网为基础的更大型 HLA系统中使用,具有很好的可扩展性。采用这种网络拓扑相对于桥接方式而言,其最大的优点是:对于每一个联邦成员,可完全兼容全部RTI服务,有效规避了在桥接方式下处理时空一致性和复杂逻辑的诸多难题[11]。
2.1.2系统的体系结构
基于上面的设计,结合综合战术训练仿真系统的实际情况,可以得到系统的体系结构如图3所示。这里需要注意的是,整个系统体系中,只运行一个 RTI中心服务器,各兵种则分别运行一个RTI网络代理。
图3 诸兵种综合训练仿真系统体系结构图
综合战术训练仿真系统涉及大量的仿真实体,能否将这些实体的信息与行为进行合理的抽象与归纳,并体现到程序设计中,将影响到整个系统的运行效率,其主要做法可由下文给出。
2.2.1仿真实体归类及其定义
依据各类仿真实体在系统运行时所表现出来的基本特性(是否运动的平台,是否静止的设施、是否发射或接收辐射波并为平台或设施所搭载,以及是否产生爆炸等),并结合海军诸兵种综合战术训练的实际需求(诸兵种基于多平台间的协同战术对抗演练)等原则,将系统仿真所涉及到的多达近千个实体划分成四个基本类别:运动实体类、静止实体类、暴露性器材类和非精确制导武器类,这四个类别基本涵盖了系统所有所需仿真的实体。其中,运动实体一般可理解为“平台”,如飞机、舰艇、潜艇、车辆等,而非平台上所搭载的各类设备,其最大的特点是该实体可以周期性地自主改变位置、速度等参数;静止实体可理解为“设施”,如机场、固定场站、各类工事等,其特点为实体的位置等参数不发生变化;暴露性器材是指该设备有能力向外发射各类辐射信号的器材,如雷达、声纳、无线电通讯设备等;非精确制导武器是指具备面杀伤能力(即弹药具备爆炸特性)且不精确模拟实时弹道的武器弹药,杀伤的对象应为实体类中定义的各类实体,如各类炮弹、深弹、炸弹等。
2.2.2仿真实体的数据结构
依据上述分类,运动实体的数据设计为三层结构:周期更新型数据(将所有运动实体的周期更新型数据设计成统一的数据结构,具体的数据结构可参见后文中定义的Target复杂类型),事件变化型数据及静态数据。与此类似,将静止实体的数据也设计为三层结构:实体描述型数据(要依据不同类型的实体分别设计不同的结构体以存储能描述反映该实体特性的信息,如机场与观通站的数据结构就大不相同),事件变化型数据及静态数据。在实际仿真中,因为暴露性器材总是搭载在运动或静止实体中,因此,可以将暴露性器材相关数据设计包含在动、静止实体的事件变化型数据及静态数据中。具体的实现方法及其优点在后文中加以阐述。非精确制导武器数据则作为面杀伤性武器爆炸交互定义中的参数进行使用。
2.2.3仿真实体的行为规范
系统中所有“可见的”的行为或者说可被各子系统响应的交互,必须是作用于仿真实体的行为,而非仿真实体内部的交互行为。
公共参考 FOM 设计是指在某一领域内,建立一个公共的 FOM 模型,这个模型涵盖了该领域内仿真系统开发所需的各种对象类和交互类等方面的信息,当开发联邦成员时,可以依托公共参考 FOM 来设计自己所需的FOM模型[12]。在OMT中要定义一个完整的FOM模型应包括14个表格,其中对象类结构表、属性表、交互类结构表及参数表是定义系统主要交互数据的载体,另外路径空间表对于数据分发管理有着重要的作用。
2.3.1实体类设计
实体类主要是描述仿真系统中需要不断更新自身属性的成员。在设计综合战术训练仿真系统的实体类时,就需要精准地找出哪些实体中哪些数据是需要不断更新的属性。系统将需要仿真的实体分成了四个类别,运动实体、静止实体、暴露性器材和非精确制导武器。由这些实体的定义可知,静止实体、暴露性器材和非精确制导武器没有周期性实时更新的数据。因此,在 FOM表的实体类设计中,只需定义运动实体类。同时,运动实体的数据又划分成了三个层次,如图4所示。
图4 运动实体属性的分层及控制示意图
为了进一步优化网络传输的数据量,并不需要运动实体类中的所有数据实时周期性地在RTI上传递,因此,只将运动实体的周期更新型数据定义为 FOM表中实体类,而事件变化型数据,如平台自载的雷达开关机信息则由交互类来控制实现。对于运动实体的静态数据,如平台的性能参数、自载设备的性能参数则是需要时从本地数据库查询得到。事实上占用系统流量的数据主要是运动实体的周期更新型数据。而对于各类交互产生的事件变化型数据或者是静止实体的状态改变数据(包含实体描述型数据和事件变化型数据)则由各子系统收到交互后在本地建立或修改相应的数据表项。
在综合战术训练仿真系统中,为每个兵种的运动实体的周期性变化属性分别统一定义了一个实体类,即CAim_Route_SMJT(水面舰艇)、CAim_Route_QT(潜艇)、CAim_Route_HKB(航空兵)、CAim_Route_LZ(陆战)以及 CAim_Route_AF(岸防),并且这些类中只有一个为 TARGET类型的m_TargetVar属性,该属性用数组形式表示可以仿真运动实体的最大数值。TARGET类型是FOM中自定义的一个复杂类型,用于描述运动实体周期性变化的属性,TARGET类型的结构描述见表1。
表1 TARGET复杂类型的结构定义
另外,对于静止实体的数据也可分为三层,如图5所示。
静止实体中实体描述型数据,如位置、实体类型、损伤程度以及该静止实体的特有属性等是由初始方案库或交互来产生或修改,事件变化数据以及静态数据的使用方法则与运动实体相同。需要注意的是,静止实体在 FOM 表中并不需要建立相应的实体类,并且静止实体生成有两种不同的方式,一是系统初始化时,各成员读取初始方案数据后建立相应的静止实体数据表项;二是在系统实时运行时,新增静止实体是由交互来产生并建立相应的静止实体数据表项。
图5 静止实体属性的分层及控制示意图
2.3.2交互类设计
交互类主要是描述仿真系统中各成员之间的行为,而且发出方的该行为会对接受方产生影响。在设计综合战术训练仿真系统的交互类时,除了考虑交互的双方A和B外,还需在设计时引入观察者C,这样才可以将系统内部各成员的行为更充分地展现。例如,“开火”交互,接受方也许并不需要开火交互,或者说开火交互提供的参数或数据对于接受方而言是毫无用处的。但是,引入了第三方观察者C后,“开火”交互就变得很有必要,可以让观察者C知道A产生了一个行为,这个行为叫开火,并且开火后,产生了A成员的新实体如导弹、炮弹或鱼雷等。C在实际应用中对应的就是导演成员。
在对系统中各兵种间的典型交互活动进行抽象与归纳的基础上,统一定义了七个交互类(系统实际实现时远不止这些),见表 2。限于篇幅,交互的具体参数定义表未能详细给出。
表2 综合战术训练仿真系统的交互定义
2.3.3路径空间设计
为了实现将各子系统内部交互的数据限定在子系统内部,即实现典型的RTI数据分发管理,定义了一个系统的路径空间:ARMS_SPACE,一维空间,维名:ARMSTYPE,数据类型为 short,枚举映像区间。区间分配见表 3。子系统内部的所有对象类实例的注册和交互类的发送必须处于相应的路径空间,使用registerObjectInstanceWithRegion接口注册实体,使用sendInteractionWithRegion接口发送交互。
表3 综合战术训练仿真系统路径空间定义表
综合战术训练仿真系统的运行流程图如图 6所示。总控成员指的是综合导调系统的成员,分系统控制成员指的是各分系统的导演成员,而分系统仿真成员则是指具体的仿真单元。
系统采用了 HLA中保守时间推进机制,并建立了两个消息队列:一个用于保存来自RTI消息的队列,一个是Windows的消息句柄队列,用Windows消息来触发RTI的TSO(Time-Stamp Ordered)消息处理。并在联邦成员中启用Windows系统下的定时器,每隔一定时间(20ms-1000ms)更新并处理Windows消息及RTI的TSO消息。
图6 综合战术训练仿真系统的运行流程图
以上设计在.net2005平台下,使用基于MFC模式予以开发实现。系统在 MAK RTI3.2平台上进行了仿真测试,全系统运行一个RTI中央服务器,并使用6个网络代理,分别担负水面舰艇、航空兵、潜艇、陆战及岸防五大兵种成员以及综合导控成员的网络代理服务。全系统最多支持120个成员,127台计算机,峰值实体数量400个左右,在1:10超实时运行状态下,主网网络流量峰值小于10Mbit/s,系统运行正确,验证了设计方法的可行性。
构建海军诸兵种综合战术训练仿真系统是一项复杂而艰巨的任务。本文利用 HLA仿真技术框架,详细阐述了构建海军诸兵种综合战术训练仿真系统时所要解决的主要问题,体系结构、设计方法及实现手段,提出了多项 HLA理论在工程实践时的应用方法,是HLA理论在实现异类系统间互操作、可重用领域中所做的一次非常有价值的实践尝试。
[1]陈建华.舰艇作战模拟理论与实践[M].北京:国防工业出版社,2002.
[2]潘长鹏,顾文锦,陈洁,池明峰.分布式航空兵突击作战仿真系统开发[J].海军航空工程学院学报,2005,20(5):563-566.
[3]刘健,刘忠,颜冰.基于HLA的潜艇隐蔽作战仿真系统开发研究[J].系统仿真学报,2004,10(3):420-425.
[4]印明明,王英民,诸国磊.基于HLA的直升机吊放声纳系统仿真平台研究[J].计算机仿真,2007,24(9):276-279.
[5]任全,李为民,黄树彩.基于CGF/HLA的地空导弹攻防对抗仿真研究[J].计算机仿真,2004,21(5):4-7.
[6]夏丰领,赵育善.基于HLA的航天任务仿真系统[J].系统仿真学报,2007,19(24):5710-5714.
[7]周彦,戴剑伟.HLA 仿真程序设计[M].北京:电子工业出版社,2002:11,55.
[8]郭齐胜.分布交互仿真及其军事应用[M].北京:国防工业出版社,2003:6-7.
[9]周彦,蒋晓原,陈少卿,王春江,戴剑伟.基于HLA的C4ISR系统仿真环境[J].计算机仿真,2002,19(5):30-33.
[10]MAK Technologies. MAK RTI Reference Manual[M/CD].2004.
[11]韩超,郝建国,黄健,黄柯棣.桥接多联邦系统信息转发流程研究[J].计算机工程,2007,33(4):11-13
[12]刘秀罗,马亚平,曹宗胜.面向作战模拟系统的领域开发与集成平台设计[J].系统仿真学报,2006,18(10):2790-2793.