基于面向对象技术的机载武器管理系统仿真
2015-09-24
作者:钟咏兵,陆亚兵,贾秋锐,陈 萃
来源:2014年微型机与应用第23期
摘 要: 基于机载武器管理系统的基本工作原理和应用软件工程中面向对象的思想方法、模块化建模理论,对机载武器管理系统仿真技术进行了深入研究。设计了机载武器管理系统仿真实现总体方案,提出了仿真软件开发的主要技术途径和工程实现手段。结果表明,仿真系统不仅能很好地管理和控制各型武器,而且还具有开放性、融合性、可持续性。
关键词: 机载武器管理系统;面向对象;仿真
0 引 言
机载武器管理系统作为瞄准系统和机载武器的连接桥梁,其发展经历了从无到有,从简单到复杂,从模拟式到数字式的发展过程。在现代作战环境下,为了执行多种作战任务,飞机必须能携带多种类型的作战武器及其他外挂物,各种新的悬挂物也不断涌现,如保形油箱、保形吊舱、高密度内挂武器等[1]。悬挂物数量的增多和性能的提高曾被视为增强飞机战斗力的一个重要途径。如何管理和控制众多的外挂物,始终是机载武器管理系统面临的重要问题。利用现代仿真技术进行机载武器管理系统控制机理、逻辑控制算法、架构设计、性能评估及信号检测机理等方面研究,不仅能节省巨大的财力、物力,而且可追踪机载武器管理系统的发展,进行先进机载武器管理系统概念化研究。为了适应新时期装备发展和人才培养的需要,本文对机载武器管理系统的仿真技术和实现方法等有关问题进行了较为系统深入的研究,取得了一定的进展,并为后续工作打下了一定的基础。
1 机载武器管理系统仿真实现总体方案
根据AWCS的功能需求,机载武器管理系统仿真系统硬件平台的总体架构主要由外挂物管理处理机仿真器、挂架接口单元仿真器、悬挂物挂点仿真器(兼航炮仿真器)、航电系统仿真器、局域网等组成。各仿真节点在统一的仿真时钟控制下协调工作。外挂物管理处理机仿真器是整个仿真系统的管理中心,一方面控制仿真的启动、暂停、复位与时间协调,完成仿真关键数据的记录,同时作为外挂物管理处理机功能仿真结点,负责监控网络的其他仿真结点的数据传输、转发和自身的模型解算等工作。挂架接口单元仿真器用于模拟产生各类悬挂装置和相关接口信号。悬挂物挂点仿真器用于模拟产生悬挂物的相关接口信号。航电系统仿真器用于模拟产生其他航电系统的相关接口信号。
机载武器管理仿真系统是一个比较复杂的系统。对于这样复杂系统的开发,应该按照软件工程的方法,采用自顶向下(top-down)和自底向上(bottom-up)相结合的技术路线:一方面,在已经明确研究对象和研究目标、自顶向下地分析机载武器管理仿真系统的结构层次和概念模型的前提下,进一步细化系统各个模块间的功能关系。另一方面,立足当前,讲究实效,从基本算法和模型开始,首先实现基本仿真对象以组成最低限度仿真模型,让机载武器管理系统“动”起来;然后,开发功能模型相关的其他对象,根据各分系统的功能关系进行集成以构建出完整的机载武器管理仿真系统;最后,对软件进行严格测试以提高其可靠性。根据系统特点,在软件开发的过程中,应着重利用面向对象软件设计方法的重要特性——封装性、继承性和多态性,来提高软件的模块化程度、可重用性、可扩充性、可理解性[2]。
图1是仿真系统软件总体逻辑结构。它由仿真管理程序模块、初始参数设置模块、悬挂物管理处理机(SMP)仿真模块、悬挂物挂点仿真模块、挂架接口单元仿真模块、航电系统仿真模块、网络通信模块等组成。
2 机载武器管理系统仿真软件的开发和设计
2.1 仿真系统的面向对象分析与设计
2.1.1 对象的划分原则
从面向对象建模的角度来说,对机载武器管理系统仿真建模的实质是对象的选取及对象间的消息传递。对象的选取不是唯一的,从模型抽象为对象,应基于3个原则:一是用人的认识思维方式确定对象,分离整个系统的概念或组成;二是对象间的信息传递应该容易被认识和描述;三是对象群体对整个仿真目标的可构建能力要强。机载武器管理系统仿真软件将由众多对象构成,对象与对象之间的关系也不相同[3-4]。
2.1.2 仿真系统对象的划分
根据对象的抽象原则和系统的结构,将仿真系统划分为以下对象:悬挂物管理处理机对象、发动机油门杆对象、飞机驾驶杆对象、起落架对象、武器操纵板对象、其他航电系统对象、外挂武器接口对象、挂架接口对象、平显对象、开关量对象、节点数据交换对象等。
2.1.3 仿真系统的类层次设计
传统的仿真软件通过功能模块的组合实现仿真功能。各模块间按过程来进行信息交换,在多数的高级语言中是通过函数调用的方式来实现的。
面向对象的机载武器管理系统仿真软件不能完全脱离传统仿真中的物理概念,即由功能模块构成。但在封装上与传统的软件设计方法不同,面向对象的机载武器管理系统仿真软件通过多层次封装来完成一定的仿真任务。因此,机载武器管理系统仿真软件程序设计的关键是如何进行类层次设计[5-7]。
⑴ 类层次设计
在不同层次上对仿真软件进行类封装,一种是基于仿真平台的各功能模块进行封装构成仿真层(模块层),另一种是把平台看成物理系统对象(系统层),平台由各种实际物理系统构成,各系统在物理上存在着明确而且直观的信息交换。在该层次上进行类封装的优点不仅是与人们认知真实系统的认识相同,使人容易认识,而且按照物理系统进行类封装时,一个物理系统可由其他对象构成,是可分的,不必是唯一的一个类。
⑵ 仿真系统的类层次设计
对于仿真系统的类层次设计,首先在功能模块层上建立封闭的模块类,如开关量类、显示类、外挂武器接口类、起落架类、武器控制板类、其他航电系统类、节点数据交换类等;然后建立仿真系统层类。虽然仿真中只是模拟了上述各系统的功能,但在物理上是单独的实际物理系统。总之,在进行仿真系统的开发时,不是按单一的类层次进行设计,而是使用了3种类层次。这样做的好处是,对于操作人员使用实际物理系统对象层很方便,而当仿真任务需求发生改变时,可以把仿真系统对象层拆散再组合,又具有很强的灵活性。仿真系统的类层次树状结构如图2所示。
2.2 仿真系统软件程序开发
对所建立的各模块的模型,分别封装成相对独立的类,在这些类群的基础上,根据它们在系统中的作用,在求解模型过程中调用这些类。程序开发过程中充分利用面向对象技术的封装特性[8-10]。
2.2.1 类的建立
结合C++语言中类的声明特点,设定飞机的机型为Plane,根据前面划分的对象,建立相应的类如下:CInitSelWCS、CPlaneWCS、CPlaneWeapon、CPlaneLauncher、CPlaneUndercarriage、CPlaneDisplay、CPlaneControlPanel、CPlaneCommu等。
把用于信息传递的对象声明为如下相应结构:DoubleTable、SingleTable、WCSState、WeaponState、WCSControl、InitDataWCS等。
2.2.2 程序框架设计
使用Visual C++6.0作为开发工具,充分利用C++语言的面向对象的特性,建立一个工程名为WCS的基于MFC的单文档/视窗程序。
⑴ 流程图
程序开发的流程图如图3所示。
⑵ 主要的类
①CWCSView
该视图类由CFormView类派生而来,主要完成人机交互的工作,包括机型选择、初始化机载武器管理系统状态控制量,以及输出机载武器管理系统状态。比如,使用WcsPanel=new CPlaneControlPanel来初始化控制量。
机载武器管理系统状态的初始化是通过接受来自对话框CInitSelWCS的数据来实现的。
②CInitSelWCS
该类由话框类CDialog派生而来,用于初始化状态,包括外挂配置和机载武器管理系统各操纵机构状态设置。
③CWCSDoc
该文档类主要完成原始数据的存取。由于数据比较多,故数据的管理使用结构WCSInitData,语句如下:
WCSInitData=new InitDataWCS;
在InitDataWCS类的构造函数里把所有数据一次性读入内存中,保证实时性;同时动态生成数据,内存中只有飞机机载武器管理系统的原始数据,节约计算机资源。
3 仿真结果
采用该仿真系统进行一系列的武器管理和控制实验,结果表明,该仿真系统不仅能很好地管理和控制各型武器,而且还具有开放性、融合性、可持续性。
4 结论
本文应用软件工程中面向对象的思想方法、模块化建模的理论,以及机载武器管理系统的工作原理,对机载武器管理系统仿真系统的设计、实现、编程、集成和测试进行了较深入的研究。主要进行了以下几个方面的研究:
⑴ 通过分析得出机载武器管理系统的控制机理,建立了相应的仿真模型;
⑵ 根据系统的功能需求,研究了机载武器管理系统仿真实现的总体方案,对系统进行了模块划分,阐述了各主要模块的功能,分析了仿真软件开发的主要技术途径和实现手段;
⑶ 使用面向对象的方法编制了仿真软件,分析了仿真软件开发过程中的关键技术,如在不同操作层上建立仿真对象,并对相关技术进行了理论上的分析和探讨。
参考文献
[1] 孙隆和,等. 外挂管理系统译文集[M]. 洛阳:中航总613所, 1991.
[2] 王红卫. 建模与仿真[M]. 北京 :科学出版社, 2002.
[3] 刘兴堂,吴晓燕. 现代系统建模与仿真技术[M]. 西安:西北工业大学出版社, 2001.
[4] 周彦,戴剑伟. HLA仿真程序设计[M]. 北京:电子工业出版社, 2002.
[5] 张毅坤,左咏露,姚全珠. 面向对象软件测试的特点及方法[J].西安理工大学学报, 2002,18(4):361-365.
[6] 王行仁. 飞行实时仿真系统及技术[M]. 北京:北京航空航天大学出版社, 1998.
[7] 康凤举. 现代仿真技术与应用[M]. 北京:国防工业出版社, 2001.
[8] 钱能. C++程序设计教程[M]. 北京:清华大学出版社,1999.
[9] 普悠玛数位科技. Visual C++游戏设计入门[M]. 北京:机械工业出版社, 2002.
[10] 张海藩. 软件工程导论[M]. 北京:清华大学出版社, 1998.