王 博,范 彬,刘肖静,邹广超
(1.南京科瑞达电子装备有限责任公司,南京 211100; 2.陆军装备部驻上海地区航空军事代表室,上海 200000)
雷达电子战仿真系统[1-2]具备模拟战场多型雷达装备、雷达侦察定位装备、雷达干扰装备等多个分系统的基本功能,能够接收装备运载平台控制命令实现响应处理(包括平台姿态的变换、挂载装备开关机、工作状态切换、干扰装备的使用等)。雷达模拟分系统能够模拟生成雷达装备对战场环境目标的探测感知数据。雷达侦察定位模拟分系统能够实现对雷达装备所产生的电磁环境信号进行侦察、识别、定位和干扰[3]。雷达干扰模拟分系统能够模拟干扰响应等工作过程。
雷达电子战仿真系统涉及到的装备模型数量大、开发周期长,且对于相同类型装备有大量可复用模块。为了提高系统通用性、稳定性和可扩展性,减少重复设计工作,本文从模型组件化设计入手,根据三层C/S构架,设计了一种基于组件的雷达电子战仿真系统架构,完成了对雷达电子战系统设备功能、性能、接口和处理流程的模拟仿真。该系统具备想定制作与管理、剧情产生、仿真控制、数据处理和战场态势综合显示等功能。
雷达电子战仿真系统组成如图1所示。
图1 雷达电子战仿真系统功能组成
在组成仿真系统的各分系统中,许多功能模块有通用功能点,如雷达仿真分系统和环境仿真分系统中的雷达参数生成模块、各系统间的通信模块、各分系统的消息读写管理模块、雷达侦察和雷达设备的显示控制等。为了避免仿真系统搭建过程中功能点的重复开发,提升软件复用程度,采用了组件技术设计与开发雷达电子战仿真系统软件模块。
根据雷达电子战仿真系统功能,将其运行分为以下4个阶段:
(1) 仿真部署阶段
一般来讲,仿真系统部署是根据用户想定需求、全系统计算要求来完成仿真成员的部署。通过仿真场景对象生成与控制软件的仿真部署功能,将模型库中的仿真模型实体和想定配置文件按照仿真系统计算机部署情况分节点部署在相应计算机上,并对各仿真成员的部署状态、运行状态进行监控。
(2) 仿真准备阶段
仿真系统通过仿真场景对象生成与控制软件的想定数据管理功能进行作战想定编辑。作战想定提供仿真成员初始化所需要的各类信息,主要包括空中、海面、地面各类目标平台的运行参数和装备挂载参数,以及参战雷达装备参数、雷达侦察设备参数、雷达干扰设备参数等,并可以将这些信息存入数据库中。
(3) 仿真运行阶段
仿真系统通过仿真场景对象生成与控制软件的仿真控制功能发送仿真初始化、开始、暂停、继续、停止等命令。仿真成员按照给定的仿真步长开始仿真运行,通过组播端口进行公布、订阅相关的数据。数据记录回放软件记录评估所需数据。
(4) 事后评估阶段
当仿真系统运行结束后,根据采集的数据,进行系统、部件的性能评估。
从上述电子战仿真系统的工作流程来看,多个分系统之间的通信、时序控制复杂。为了高效地设计出贴近实际的电子战仿真系统,该系统应采用组件化的设计,减少模块之间的耦合,增强系统通信的灵活性。
组件是一些可重用的、独立发布的二进制单元,推广了对象封装的内涵,侧重于复杂系统中组成部分的协调管理,强调实体在环境中的存在形式。根据以上的定义可知,组件是可以被封装的对象类、一些功能模块、软件框架、软件构建等通过标准数据对外交流[4]。
与传统的软件开发不同,基于组件对象的软件工程着重进行组件的规划、设计和开发。总的来说,基于组件的仿真系统开发中,首先需要对仿真系统进行深入的功能分析,得到仿真系统的数据流图、系统结构图和系统软件框架;从对数据流的分析中获取可复用的组件,进而进行组件规划和对外接口的设计,然后对各组件内部实现细节处理;接着进行组件的组装与部署;最后完成整个系统的测试。具体流程如图2所示。
图2 基于组件的仿真系统开发流程图
根据图2可以得出基于组件的仿真系统开发步骤:
(1) 需求分析:主要对仿真系统的功能、性能进行分析,并分析系统中各组成部分间的数据传递和处理,找出公共部分,设计成公共组件,对特定的数据流形成特定组件;
(2) 组件和接口的设计:在需求分析基础上,对组件的功能、对外接口、组件间交互所需的信息进行设计,形成既独立又相互交流的组件和接口;
(3) 组件的实现与测试:由于基于组件的系统构造与编程语言无关,因此根据不同的组件选择适合于开发人员的编程语言,对组件进行规范化开发实现,使组件代码具有良好的扩展性和复用性,并将经过测试的组件存入组件库;
(4) 组件的组装和测试:根据仿真系统中各个子模块功能要求,从组件库中获取所需组件,将组件装配成独立模块,进行模块测试;
(5) 仿真系统的组装与测试:将组装测试好的各功能子模块按照仿真场景设计,组装成相应仿真系统,然后进行系统测试。
三层C/S架构模式是软件工程中的一种软件架构模式[5]。它将软件系统分为3个基本部分:表示层、功能层和数据层,其中各层功能逻辑上独立。三层C/S架构系统逻辑结构清晰,可扩展性好,管理简单。因此,基于电子战仿真系统架构设计的需求,本文在系统组件化设计的基础上采用了三层C/S架构模式,设计开发了雷达电子战仿真系统平台。
三层C/S架构模式中,表示层是应用程序的用户接口部分,担负着用户与应用间的对话功能;功能层相当于应用的本体,将具体的业务处理逻辑编入程序中;数据层就是数据库管理系统,负责管理对数据库数据的读写。通过三层C/S架构设计,可以将表示层和功能层分离成各自独立的程序。同时,为了降低功能层服务器的负荷,可以采用分布式的设计方式,将表示层和功能层软件部署于多台客户端和服务器中,以提高系统的稳定性和扩展性。根据三层C/S架构模式的设计要求,搭建电子战仿真系统的结构示意图如图3所示。
根据基于组件的仿真系统开发步骤和基于三层C/S模式的软件架构,在明确雷达电子战仿真系统的功能构架的基础上对各功能模块在仿真系统的数据流程进行分析,获得仿真系统所应建立的组件。其组件包括显控类组件、通信类组件、数据处理类组件、指控关系类组件、数据库类组件等。各类组件构成如图4所示。各类组件与电子战仿真系统核心层次的结构关系如图5所示。
图3 基于三层C/S架构的仿真系统结构示意图
图4 仿真系统组件模型库
图5 电子战仿真系统层次关系示意图
由图4和图5可以看出,通信类组件构成了雷达电子战仿真系统的原型和框架,主要用于完成网络通信和时间管理。其他组件在通信类组件的基础上集成,共同构建了雷达电子战仿真系统。这些组件共存于仿真系统中,相互作用。按照这种组件结构还可以将其他功能组件与系统的框架组合起来,构造出更为复杂的仿真系统。同时,也可以通过增加或减少组件来改变雷达电子战仿真系统的功能。
在这种组件架构的系统中,组件可以即插即用、无缝集成。该架构的关键点在于一种高效的接口结构,使得组件之间能够以一个公共的接口互相连接。同时,由于组件间的线性通信连接,以及接口规范的一致性,使得通信的复杂度下降,提高了组件的互操作性。
本文在分析了雷达电子战仿真系统组成和工作流程的基础上给出了基于三层C/S架构的组件化电子战仿真系统的设计方法,并开发了仿真系统,进行了实际验证。在该系统的开发过程中,各分系统对外接口的定义、通信以及显示控制等其他通用功能组件的设计与开发是该项目的核心,是实现组件化仿真系统的关键。
在项目的下一阶段研发中,将实装装备快速接入仿真平台,形成半实物仿真系统,验证仿真平台中数据处理类组件包含的不同模型所涉及到的关键算法、模型功能和作战流程,提高仿真系统的实用性和仿真结果的可信性,是拓展该平台功能的主要工作。