基于组件开发方法的反潜武器作战系统训练模拟器设计
2013-11-09张永胜
张永胜
(海军大连舰艇学院,辽宁 大连 116018)
模拟训练已成为现代军事训练中的一种重要手段。为了满足海军训练的需求,提高训练的可信度,需要研制逼真度更高的模拟训练设备。
研制训练模拟器材有两种方案:一种是采用实装,另一种是采用模拟设备。采用实装设备,是训练逼真度高,但采购实装的费用高昂,无法修改实装内部嵌入的作战软件,仿真控制及重演很难实现。如果在研发作战软件的初期考虑这些问题,可以部分解决仿真控制的问题。采用仿真设备,成本相对实装要低廉得多,对仿真的控制和重演功能很容易实现,但训练的逼真度有一定程度的降低,需要增加对实装设备模拟的研究工作。如果能捕获实装战术软件的一些功能则可以部分解决这个问题。在训练设备的研制工作中,必须综合考虑各方面的需求,选择最优化的方案设计满足训练要求的设备。
反潜导弹发射系统是驱护舰装备的新型反潜武器系统,为驱护舰提供远程的反潜能力。在该武器系统模拟设备的研制过程中,综合考虑各种需求,采用基于组件的开发方法设计了混合配置的反潜武器作战系统训练模拟系统。这一系统不仅包括仿真设备,还包括实装的火控设备。由于新设计的系统将两个独立的结构整合成一个系统,因此需要软件构架的独特设计。
本文首先介绍了组件技术的特点优势,分析了反潜导弹发射系统的功能类型,并建立了基于组件开发方法的混合反潜武器训练模拟器体系结构,详细描述了系统组成等,为类似系统建设提供借鉴。
1 基于组件的开发
面向组件的开发是在面向对象技术的基础上发展起来的,将一个系统分解到多个组件能够获得更多的可复用性、可扩展性和可维护性。因此,面向组件编程无可争议地成为软件开发的主流。
1.1 基于组件的开发
基于组件的开发(CBD),也称为基于组件的软件工程(CBSE),是软件工程方法学的一个分枝。CBSE可以理解为:在一定组件模型的支持下,重用组件库中的一个或多个软件组件,通过一般化、特殊化或组合等手段高效率、高质量地构造应用软件系统的过程[1]。
组件是一个可独立开发和部署的软件单元,封装了设计与实现,可由第三方进行组合,通过接口向外界提供服务。它通常包括组件接口和组件实现两个部分。其中,组件接口负责描述对外需要的功能和对外提供的服务,组件实现负责描述组件的具体计算功能。
1.1.1 组件技术的特点[2-4]
组件技术是在面向对象技术的基础上发展起来的,组件化程序设计的核心就是将一个应用系统切分成多个组件,这些组件保持一定的功能独立性,可以使用不同的开发工具分别开发,组件间的协同工作是通过组件间的接口来完成的[3],它主要具有以下优势。
1)组件易替换 在庞大复杂的应用程序中,使用组件技术将程序分成一个个组件模块,在进行程序修改及升级时,可以只修改或替换相关的组件,而不影响其他众多的程序组件。
2)可实现二进制代码重用 组件之间可以在二进制级别上进行集成和重用,只需一次编写代码而多处应用。
3)有助于并行开发 一个大型应用系统由许多组件组成,这些组件的实现可以并行进行,只要接口设计正确,建立这些组件之后他们将能顺利配合。
1.1.2 基于组件技术的软件开发过程
基于组件的开发首先构造出软件的总体架构,然后根据组件重用技术,在架构上根据需要组装上所需功能的组件,最后形成应用程序。
当今,现代可重用组件封装了数据结构和应用于数据结构的算法。它是基于软件对象、软件结构、软件构架和软件设计模式、面向对象的编程以及面向对象设计等扩展的先验理论建立起来的。它要求软件组件要向通信中使用的硬件组件的思想一样,最终能够具备可交换和高可靠的性能。
对于反潜武器作战训练模拟系统,在系统研制的初期确立了基于组件开发方法的开发策略,建立了一个有效的架构来保证软件的重用性和扩展性。
1.2 M&S架构
软件架构可定义为可重复使用的特定类和服务的集合,它也提供应用的逻辑结构。为了识别建立反潜软件(ASW)架构应用必须的公共组件,使用了面向对象的建模方法。通过使用案例分析捕获的功能组件在一个详细设计框架中重新组织和应用。
基于面向对象的开发方法是一种强有力的开发方法,它在模块化、可复用性、可扩展性、反向控制等方面有其特有的优越性。采用基于框架的方法开发软件,可以以框架为复用部件的基本单元来实现软件工业化生产,有效地降低软件开发的成本,提高生产效率和软件可靠性,尤其对特定领域复杂系统的高可靠专用软件更具有实用价值,为这些特定领域的软件开发提供了一种强有力的技术支持。
2 系统组成和结构
综合考虑成本和训练需求,反潜武器作战系统训练模拟系统采用了混合的配置,即部分设备采用了实装,部分采用模拟设备。
为了提高系统的可信度,反潜导弹发射系统(VLA)和舰载鱼雷发射系统(SLTS),在网络结构中使用了不作任何修改的实装C2网络。为了增加训练控制的灵活性,在系统结构中采用了仿真网络。为了模拟舰载反潜武器的武器和船载鱼雷发射系统SLTS,也同时配置了SLTS控制板和发射系统。
基于M&S构架,反潜导弹及其发射系统模拟器的应用结构设计为具有三个独立的层。所有仿真应用应该由用户接口、模型和网络接口三个层次组成。这三个层次的架构保证了在需要修改用户接口和网络接口时,对软件模块的改动最小。
2.1 混合训练结构
为了满足训练需求,发射控制训练模拟器设计为混合配置,既包含实装火控设备,又包括仿真设备。这种混合训练结构将两个分立的结构整合成一个系统,需要进行软件构架的特殊设计。混合训练结构有四个层:训练控制层、仲裁层、实装设备层、模拟设备层。如图1所示。
在训练控制层中训练控制计算机(TCC)完成系统模拟器仿真控制器功能。
由于从两个不同网络收发的所有数据应当由作战系统模拟器(CSS)和系统链接计算机(SLC)管理,仲裁层在混合训练构架中担任重要的角色。作战系统模拟器设计成位于仿真网络和C2网络的中间,在两个网络之间进行仲裁。由于作战系统模拟器是发射控制台(LC)和船载鱼雷发射系统(SLTS)到仿真网络的唯一路由,为了将发射控制台(LC)和船载鱼雷发射系统(SLTS)报告的信息发送到训练控制计算机,需要将这些信息在作战系统模拟器中合成。SLC设计为有效率控制训练模拟器新配置的模拟设备。在混合训练结构设计中引入SLC使得对仿真结构的修改最小。
三个实装设备为反潜导弹控制台(MCC)、发射控制台和船载鱼雷发射控制板(SLCP),在训练仿真器中不作任何修改的使用。在训练环境中设计了一个嵌入式训练设备来激活。
图1 混合训练结构的层次
2.2 软件结构
2.2.1 训练控制计算机(Training Control Computer)
训练控制计算机(TCC)完成仿真想定编辑、仿真进程控制、仿真数据监视和记录等功能。训练控制计算机软件包括四个功能处理模块:前端、记录器、EDMS和后端,如图2所示。训练控制计算机前端有三个功能组件:仿真控制、想定管理、通信中间件模块。首先,想定管理模块产生想定文件。该想定文件使用扩展XML标准。仿真控制模块控制仿真的整个行为。训练控制计算机EDMS包括对象建模,通信中间件模块。对象建模模块仅对潜艇对象、反潜对象、导弹对象建模,也可很容易地增加其他的对象模型。训练控制计算机记录器包括分析、记录,通信中间件模块。所有应用设计为仿真后将其内部记录数据发送到训练控制计算机记录器。对于实装MCC软件,由于使用的战术软件不作任何修改,为了获得内部的数据记录使用了网络磁盘。训练控制计算机记录器的分析模块将数据综合,使用各种方法对数据进行分析。训练控制计算机后端有一个功能,即通过信息分发器发送仿真控制指令,接收其它应用的仿真状态。如果训练控制计算机前端需要发送一个信息给四个设备,训练控制计算机前端仅需要将其连同路由表一起发送到信息分配器即可。
图2 TCC的功能结构
2.2.2 作战系统模拟器(Combat System Simulator)
作战系统模拟器CSS的高层体系结构设计为有三个层次:人-机界面(HCI)、模型和通信层,如图3所示。通信层的通信中间件可以看作是软件的基本结构,不仅传导从网络到模型层在UDP/TCP的所有信息,而且还要计划和管理数据传输。模型层的功能是处理HCI和通信层的每个数据。作战系统模拟器操作员创建的行动,模型层处理内部状态以适当的用户图形接口在HCI层显示。
图3 CSS的高层体系结构
中间件接口管理位于模型和HCI层之间,分发其它设备通过中间件分发的信息。HCI接口管理器位于HCI和模型之间,充当将模型层处理的信息发送给HCI层的角色。操作员输入和HCI信息也是通过HCI接口管理器传输的。
图形用户界面由有标示的平板显示器(LPD),软键盘面板(SKP)和托架组成。这些由HCI管理器管理。设计了安全序列来增加各层之间通信的可靠性。由于每个进程不直接发送数据给其它的进程,使用安全序列避免了通信死锁。进程之间的数据传输可以使用安全序列管理。跟踪、目标管理模型位于模型层。数通信和数据存取中间件作为数据公共服务位于通讯层。CSS的功能结构如图4所示。
2.2.3 系统链接计算机(System Link Computer)
系统链接算机(SLC)完成I/O仿真数据和实际数据的融合功能,其功能结构如图5所示。控制面板模块通过状态监视面板模拟器,遥控面板模拟器,电池安全使能开关模拟器控制开关操作和显示装置。
系统链接计算机(SLC)通过LAN与实装发射控制台(LC)使用虚拟集线机连接,它不直接与SLC和MCC连接。反潜导弹控制台(MCC)和发射控制台(LC)使用LAN通信。训练模拟器需要发送交战信息给实装、从实装接收作战信息。因此系统连接计算机负责与实装设备相关的交战信息传送/接收。使用了Winpcap数据包捕获方法实现这个功能。WinPcap是Windows环境中联结层网络存取的工业标准工具:它允许旁路协议栈应用捕获和传送网络数据包应用,以及其它的有用功能,包括核心层的包过滤、网络统计引擎以及远程包捕获支持。
图4 CSS的功能结构
图5 SLC的功能结构
仿真网络连接到训练控制计算机、反潜战作战系统模拟器、状态监视面板模拟器、遥控面板模拟器、电池安全准许开关模拟器。训练模拟器使用通常的HUB进行LAN通信(TCP/IP)。实装战术网络连接到反潜导弹控制台、发射控制台、船载鱼雷发射系统。实装设备使用虚拟集线器进行LAN通讯(UDP)。
系统连接计算机与仿真网络、战术网络都连接,系统链接计算机整合实装战术网络和仿真网络。
3 训练模拟器的实现
训练模拟器由模拟设备和实装设备组成。实装设备包括导弹控制台(MCC)、发射控制台(LC)和和船载鱼雷发射系统(SLTS)。模拟设备包括训练控制计算机(TCC)、作战系统模拟器(CCS)、状态监视面板(SMP)、遥控面板(RCP)。联接设备有系统链接计算机(SLC)。模拟设备控制开关操作和显示装置显示。反潜导弹控制台控制目标交战。发射控制台控制发射程序。船载鱼雷发射系统控制鱼雷作战。
3.1 训练控制计算机
训练控制计算机完成下面的功能:
·系统控制 控制仿真设备的远程开关机;检查连接的仿真设备状态等。
·训练想定管理 完成想定文件生成、打开、编辑,保存,删除等功能;控制想定文件向仿真设备的分发;控制仿真开始、停止、恢复等。
·对象仿真 仿真的对象包括潜艇对象、反潜对象以及导弹对象。
·态势观测和显示 管理和产生训练中一系列事件、操作时间、2D地图和对象列表。
·训练结果和记录 交战事件存档、显示导弹对象事件、打印训练结果。
训练控制计算机(TCC)完成战术态势显示和交战信息显示。使用图形用户接口设计了多个视窗,操作员可以使用这些界面进行控制、监视和分析。战术态势显示窗口显示从训练控制计算机接收到的想定信息。交战窗口显示系统状态以及LA/SLTS的交战信息。EDMS提供用来构建反潜战术环境的对象数据、状态以及实体事件等。
3.2 作战系统模拟器
作战系统模拟器功能是反潜作战模拟。CSS有跟踪和目标处理管理。
作战系统模拟器(CSS)设计为位于仿真网络和C2网络的中间,在二个网络之间仲裁。由于作战系统模拟器(CSS)是从发射控制台(LC)和船载鱼雷发射系统(SLTS)到仿真网络唯一路由,从发射控制台(LC)和船载鱼雷发射系统(SLTS)报告的信息在作战系统模拟器(CSS)综合,将这些信息发送给仿真控制器。仿真控制器显示的数据是在CSS中处理的状态的一个摘要。使用发射控制台(LC)和和船载鱼雷发射系统(SLTS)设备内部的数据记录设备来进行进一步的分析。使用隔离的两个类型网络配置是增强系统扩展性的一个很好的解决方案。
3.3 系统链接计算机
系统链接算机(SLC)完成I/O仿真数据和实际数据的融合功能。
训练控制计算机(TCC)将训练信息发送给系统链接计算机(SLC)。系统链接计算机接收训练信息;发射控制台重新发送训练信息。系统链接计算机将训练信息格式转换成实装的信息格式。
系统链接计算机(SLC)捕获与发射控制台和导弹控制台接口的实装信息。系统链接计算机不直接与发射控制台连接。因此系统链接计算机部份地受到实装信息格式限制。在系统中实装需要软件修改软件接口,仅仅需要改变系统联结计算机软件。
4 结束语
本文基于面向组件的开发方法设计了反潜导弹训练系统,为了满足训练的逼真度要求,采用实装和模拟设备结合的混合结构。本文给出了这个混合结构的架构以及模拟器的实现,在实装战术网络和仿真网络之间的独特的系统接口设计成功支持了训练模拟器的开发,对于训练模拟器材的设计有很好的参考价值。
[1] 翁南钐.基于组件的软件工程及其测试、维护与实践[J].计算机工程与应用,2000,9(2):33-36.
[2] 郑亚玲,胡和平.利用可重用组件构造软件[J].计算机应用,2000,20(2):35-37.
[3] 卿杜政,李伯虎,孙磊等.基于组件的一体化建模仿真环境(CISE)研究[J].系统仿真学报,2008,20(4):900-904.
[4] 欧海英,于辉,李晓宇.基于HLA和组件技术的仿真训练系统扩展[J].系统仿真学报,2009,21(6):3273-3276.
[5] 燕雪峰,邸颜强,战守义,等.协同仿真平台中的仿真组件技术及其实现[J].计算机集成制造系统,2004,10(4):453-460.
[6] 刘泽.面向业务领域框架的专用组件库的研究与实践[D].上海:复旦大学,2008:16-30.
[7] 桑大勇.基于构架的软件重用技术综述[J].空军工程大学学报,2000,1(5):84-86.
[8] 郑红.可重用的分布式软件组件模型分析[J].计算机工程与应用,2002,(15):68-71.
[9] 韩霜,刘志新,杨旭,等.基于组件技术的开放式数控系统体系结构[J].农业机械学报,2007,38(10):127-131.