基于HLA的电子信息作战训练仿真系统分析与设计
来源:第三维度
作者:徐忠富,黄柯棣,王国玉,陈琦,张冉,常 伟
摘要:应用工程化的过程、方法和工具进行分析与设计是仿真系统开发的基础环节。参照建模与仿真领域和软件工程领域中的模型开发与运行过程模型,将基于HLA的电子信息作战训练仿真系统的分析和设计过程划分为一系列相互关联的阶段,每个阶段形成不同应用目的的模型,其中,系统结构和行为模型的创建基于联邦成员软件框架代码自动生成工具KD.FedWizard。示例表明,分阶段的分析与设计过程具有较好的工程可实现性;联邦成员软件框架代码自动生成工具的运用提高了电子信息作战训练仿真系统分析和设计的效率。
引 言
电子信息作战仿真训练基于建模仿真与计算机技术,建立由各种模型构成的、逼近实战的电子信息作战虚拟战场环境。参训人员在电子信息作战过程和规则模型、武器和装备模型、地理和电磁环境模型等的约束和限制下,与虚拟战场环境交互,实施指挥与作战行动,推演不同的对抗态势。
高层体系结构(HLA)为电子信息作战训练仿真系统的设计、实现与运行提供了标准化的技术体系结构。在HLA仿真联邦的开发过程中,通常需要先采用面向对象方法,建立仿真联邦的完整描述,重点确定联邦所包含对象的结构和行为特征、对象之间的静态和动态关系等,为联邦的开发、实现、集成、测试和运行奠定基础[1]。本文总结提出并举例说明了基于HLA的电子信息作战训练仿真系统的面向对象分析与设计过程。
1 基于HLA的电子信息作战训练仿真系统分析与设计
为了提高仿真建模的效率和质量,人们在建模与仿真领域和软件工程领域定义并运用了若干模型开发与运行过程模型,包括:美国国防部建模与仿真办公室(DMSO)的HLA联邦开发与运行过程(FEDEP)[1J、IBM 的RUpI2]、德国慕尼黑联邦国防军大学智能系统技术研究所的ITIS。过程l 、V-模型14]等。参照上述模型开发与运行过程模型,本文将基于HLA 电子信息作战训练仿真系统开发过程中编程实现阶段前的活动划分为3个阶段,包括(1)设计电子信息作战军事想定;(2)分析系统需求;(3)分析与设计系统的结构和行为。
1.1 设计电子信息作战军事想定
军事想定由军事人员定义,用军事术语描述。电子信息作战军事想定说明电子信息作战背景、基本假设、作战企图、兵力使用原则、作战双方的部队番号/编队名称、作战任务、攻击方式、作战地域、初始位置、兵力规模和部署、装备配备、指挥和通信关系及流程、基本的指挥和交战过程、战场地理和电磁环境、物质和装备消耗标准和保障及医疗救护情况等。
1.2分析系统需求
1.2.1准备仿真资源
仿真资源为电子信息作战仿真建模、运行、结果评估与分析提供可重用的基础数据、模型、方法和工具,包括:作战实体性能和关系数据、综合自然环境数据、电子信息作战效能评估分析方法、作战实体矢量军标、指挥和作战文书、初始态势配置数据、目标航迹数据、导弹弹道数据等。
1.2.2分析系统用户及用户需求
基于军事想定和仿真目标,确定训练仿真系统的用户(人或其它软、硬件系统),建立系统用户需求模型。系统用户包括使用者和操作者。系统所有用户代表了仿真系统的外部环境,通过明确和划分系统用户的职责和系统的职责,训练仿真系统的范围得到限定。
1.2.3分析系统功能需求
建立系统的功能需求模型,明确系统所要实现的功能用例,以满足系统使用者的使用需求,支持系统操作者的操作需求。功能用例描述系统运行时提供的功能,概括一组动作序列,系统执行这些动作产生对特定用户可观测的、有价值的结果。一个系统用户必须与至少一个功能用例相关联。在功能需求分析阶段,统一建模语言(UML)l5】用例图可以用来建立系统用户、功能用例以及它们之问关系(包括扩展和包含关系)的可视化描述。
1.2.4确定系统组成
依照系统用户和系统功能用例的关联以及系统功能用例之间的相互关系,确定构成仿真系统的各联邦成员,建立系统总体模型。每个联邦成员实现一个或多个功能用例。在确定联邦组成时需综合考虑以下原则:(1)比较独立的功能用例单独由一个联邦成员实现;(2)耦合关系比较紧密的多个功能用例宜组合成为一个联邦成员;(3)每个联邦用户与一个且只与一个联邦成员的实现相关联,而每个联邦成员的实现可以与一个联邦用户或多个不同的联邦用户相关联。
1.3分析与设计系统的结构和行为
1.3.1分析每个联邦成员功能流程与设计
SOM分析联邦成员在执行一个或几个系统功能用例时所执行的动作流以及动作执行的输入和输出对象,重点是体现与当前联邦成员和联邦中其它联邦成员的输入输出交互有关的动作。这些动作或者以来自其它联邦成员的对象作为输入,或者产生对象输出给其它联邦成员。在此基础上,描述当前联邦成员与其它联邦成员的信息交互,开发当前联邦成员的仿真对象模型SOM。UML活动图适合用来分析和表示联邦成员的功能流程。
1.3.2利用KD.FedWizard生成联邦成员仿真框架代码
KD—FedWizard是KD—HLA工具体系[61中的HLA联邦成员软件框架代码自动生成工具,基于用户定义的联邦成员对象模型(SOM)/联邦对象模型(FOM),自动生成以工程文件形式组织的联邦成员软件的vc++框架代码【 。框架代码包含一系列类,实现并封装了联邦成员与HLA运行支撑环境(RTI)接口函数,提高了联邦成员仿真软件开发效率。
1.3.3设计联邦成员结构模型
在KD—FedWizard所生成的联邦成员仿真软件框架代码基础上,用户需要根据联邦成员仿真需求,定义一系列内部的类和接口,实现公布对象类实例属性更新值的计算、订购对象类实例反射属性值的处理、公布交互类实例参数的初始化、响应对订购交互类实例参数的处理结果、联邦成员的界面显示、数据记录等功能。在设计联邦成员结构模型时,可使用UML活动图分析联邦成员的内部交互,识别内部对象,进而定义内部类和接口。KD FedWizard生成的类、用户定义的内部类、接口和它们之问的关系共同构成联邦成员结构模型。可采用UML类图作为联邦成员结构模型的主要表现形式。
1.3.4设计联邦成员行为模型
联邦成员行为模型体现联邦成员所包含的类的实例(对象)之问的交互关系及其随时问变化的特性等。在交互过程中,联邦成员完成对象的状态更新及状态发布,交互的初始化、感知和响应等。联邦成员行为模型可采用UML顺序图作为主要表现形式,体现当前联邦成员与用户编程有关的对象的交互。这些交互包括:更新并发布公布对象类实例属性值、反射并处理订购对象类实例属性值、初始化并发布公布交互类实例、接收并处理订购交互类实例等。
1.3.5开发FOM 和建立联邦协定
基于上述对仿真系统结构和行为的分析与设计,开发联邦对象模型FOM,并建立联邦协定『1】。
2 示例:通信对抗训练仿真系统分析与设计
应用上述方法,完成了一个超短波战术通信对抗训练仿真系统的分析和设计。
2.1军事想定
背景是红蓝双方的通信对抗。红方是一个超短波通信对抗分队,以1个超短波通信对抗侦控站为中心,3个超短波通信干扰站呈扇形靠近前沿阵地部署。侦控站对蓝方的通信电台进行侦察,并根据侦察结果进行干扰资源分配,指挥干扰站对蓝方的超短波战术指挥通信网进行压制干扰。蓝方的一个分队指挥所与所属的一、二、三小分队指挥所用超短波定频半双工电台组成一个语音通信战术指挥通信网。3个小分队指挥所围绕着分队指挥所部署。为了抗红方的干扰,蓝方事先编制了一套抗干扰通信预案。
2.2系统需求
2.2.1仿真资源
开发当前仿真系统所需的仿真资源主要包括:作战地域的数字地形图;红蓝双方装备的位置信息;红方侦控站和干扰站的主要技战术指标;蓝方通信电台的技战术指标;蓝方的抗干扰通信预案;红蓝双方装备的军标符号。
2.2.2用户及用户需求
通信对抗训练仿真系统主要训练红方的通信对抗侦控站指挥人员的指挥决策能力及通信干扰站操作人员执行干扰操作的能力。蓝方作为受训方的对抗方使用本系统,负责编制抗干扰通信预案,并且根据预案,在蓝方电台受到干扰时,采取相应的抗干扰措旅。训练管理人员需要对红蓝双方的仿真训练过程进行监视,实时掌握红蓝双方的态势发展,根据红蓝双方在仿真训练过程中的表现,进行讲评。
2.2.3系统功能需求
系统共需实现8个功能用例:侦察及指挥引导、干扰、通信及抗干扰、综合态势显示、评估、仿真过程控制、记录和回放。
2.2.4系统组成
如图1所示,将通信对抗训练仿真系统设计为由以下三个联邦成员组成:(1)通信对抗分队联邦成员:实现侦察及指挥引导和干扰两个用例;(2)战术通信网联邦成员:实现通信及抗干扰一个用例;(3)仿真训练管理联邦成员:实现综合态势显示、评估、仿真过程控制、记录和回放五个用例。
图1 通信对抗训练仿真系统组成
2.3 联邦成员模型举例
本节分析通信对抗分队成员的功能流程,设计其仿真对象模型SOM,在此基础上,基于KD—FedWizard生成的成员仿真软件框架代码,分析和设计通信对抗分队成员的结构模型和行为模型。依照类似的方法,可以完成其它联邦成员的结构模型和行为模型的分析和设计,开发FOM和建立联邦协定,最终实现、集成、测试、运行联邦。
2.3.1通信对抗分队成员的功能流程分析与SOM 设计
通信对抗分队成员实现“侦察及指挥引导”和“干扰”两个功能用例,其功能流程如图2中的UML活动图所示。
图2 通信对抗分队成员的功能流程
图2中,带有灰色填充的活动所代表的功能(例如加入联邦)由KD.FedWizard生成的成员仿真软件框架代码自动实现,不需用户编程。对其它活动所代表的功能,用户需要在框架代码基础上,编写实现代码。
通过功能流程分析,可以得到由表1和表2所构成的通信对抗分队成员的仿真对象模型SOM (限于篇幅,省略了复合结构数据类型和枚举数据类型定义)。通信对抗分队成员对象类和交互类的公布和订购关系参见图2。
2.3.2通信对抗分队成员的结构模型
在通信对抗分队成员结构模型中,由KD—FedWizard自动生成的类主要包括:
(1)Simulation:是联邦成员的仿真主线程,实现联邦成员的仿真运行过程。
(2)CFederate:封装了仿真过程所需的大部分公共的RTI类RTIAmbassador的函数。
(3) CFederateAmbassador : 派生于类 RTI::FederateAmbassador, 封装并实现了仿真过程的RTI类FederateAmbassad 的接口函数。
(4)CPub ReconStation:与“侦控站”公布对象类对应。
(5)CPub_Jammer:与“干扰站”公布对象类对应。
(6)CSub_Radio:与“通信电台”订购对象类对应。
(7)Jamming_inter:与“干扰”公布交互类对应。
(8)ReconnaissanceResult_inter:与“侦察结果”公布交互类对应。
(9)Communicating—inter:与“通信”订购交互类对应。
(1O)CCommCounterApp、CCommCounterView、CCommCounter Doc、CMainFrame: 是由MFC Application Frame生成的Document/View框架类。
表1 通信对抗分队成员的公布和订购对象类属性表
为了实现联邦成员内部交互,定义了以下内部类:
(1)CCommCounter:包含该联邦成员所需计算函数。
(2)CReconStation:是通信对抗侦控站对象类,它保存通信对抗侦控站的相关信息,包括通信对抗侦控站的编号、位置及工作频段等信息。
(3)CJammer:是通信对抗干扰站对象类,它的三个实例分别保存三个干扰站的编号、位置、频率、带宽和功率等信息。
2.3.3通信对抗分队成员的行为模型
通信对抗分队成员的行为模型描述通信对抗分队成员与用户编程有关的对象交互。图3描述的对象交互实现了订购对象类“通信电台”实例属性值的反射、订购交互类“通信”实例的接收和公布交互类“侦察结果”实例的初始化与发布。
图3 初始化并发送公布交互类“侦祭结果”实例
从图3可见,通信对抗分队成员仿真软件编程实现时的相应编程点包括:simulation线程判断4个订购对象类CSub_ Radio实例的属性反射状态,获取各个实例对应通信电台的编号、位置和状态数据;CCommCounter对象的CalculateDistanceBetweenTwoSides0函数分别计算红方侦控站和干扰站与蓝方4个通信电台之间的距离;CFederate对象Fed处理交互Corni/1unicating,其间,创建订购交互类Communicating_ inter实例,解包参数数据;CCommCoun对象的CalculateReconResult0 数计算红方对蓝方通信的侦察结果;simulation线程根据侦察计算结果,创建、初始化并发送公布交互类ReconnaissanceResultinter实例。(限于篇幅,省略其它对象交互,包括公布对象类“侦控站”和“干扰站”实例属性值的更新、订购对象类“通信电台”实例属性值的反射、公布交互类“干扰,,实例的发布等).
3 结论
基于HLA电子信息作战训练仿真系统的分析与设计过程可以划分为若干相互关联的阶段,每个阶段产生具有不同应用目的的对象模型,便于分析和设计过程的组织、实施与管理。联邦成员软件框架代码自动生成工具的应用减小了用户编程工作量,提高了电子信息作战训练仿真系统分析和设计的效率,降低了仿真软件调试和维护的难度。
参考文献(略)