面向舰艇作战软件研制的仿真模型体系建设∗
2021-01-19
(海军大连舰艇学院作战软件与仿真研究所 大连 116018)
1 引言
作战模型是军用软件系统做出作战决策、指挥作战行动的核心技术手段,是综合运用所属指挥对象遂行作战任务的形式化描述,是作战指挥决策和武器控制的经验总结[1]。如果说作战软件系统是作战指挥信息系统的大脑,那么作战模型则是作战软件系统的灵魂。
仿真模型是仿真系统的核心,它抽象描述了人们所关注的复杂的现实系统或人工系统的结构、静态属性和动态行为特征[2],作战仿真模型[3~5]描述的是作战指挥信息系统的结构、静态属性和动态行为特征。
从应用场景的可替代性来看,如果仿真系统设计得当,作战模型应该可直接应用于面向海上及指挥控制研究的仿真系统,因此作战模型可以是作战仿真模型的子集。另一方面,作战模型属于一类知识密集型产品,存在功能难以展示和有效性难以确认的问题[6],作战仿真系统作为作战模型的功能展示和验证的有效工具,对提高作战模型的质量水平具有重要意义。
2 作战模型与作战软件产品族特征
2.1 作战模型的领域概念及分类方法
模型作为真实世界中的物体或过程的相关信息进行形式化的结果,可根据领域背景、研究对象、建模过程等多种角度对模型进行分类。如根据领域划分,应用于军事领域的模型,可统称为作战模型;根据研究对象不同,模型可分为实体模型和过程模型。具体到特定实体和过程,可予以进一步细分,如针对海上作战,实体模型有水面舰艇模型、潜艇模型和航空兵模型[7]等,过程模型通常则有算法模型[8](研究对象为问题求解的过程)、决策分析模型[8](研究对象是某一个决策过程)、业务逻辑模型[9](研究对象为特定组织的指挥信息关系、实施方法或操作规程)和效能评估模型[10](研究对象为效能评估的规程)等。根据建模过程阶段不同,模型具有不同的形态,对作战模型而言,根据其研制过程各阶段的工件特点,可分为军事概念模型[11]、数学逻辑模型、软件工程模型和计算机程序模型。
另外,模型还有其他分类方法,如根据建模方法的不同,可分为排队论模型、概率论模型和马尔科夫模型等;根据模型与研究对象的相似程度,可分为白盒模型、黑盒模型和灰盒模型等。
总之,根据应用领域背景、研究对象、模型描述方法及建模过程阶段等不同,不同领域及专业人员根据其需要,对模型的概念及分类都有其自己的认识,并无统一的分类标准。在软件工程领域,Bézivin和Gerbé[12]则将模型定义为以目标驱动方式创建系统时对系统的抽象,认为模型应能代表要创建的系统。
面向舰艇作战软件产品族研制,我们将作战模型定位为作战软件系统的原理性制品,其形成的作战模型体系应可以代表作战软件产品族。
2.2 舰艇作战软件的产品族结构
图1 舰艇作战软件产品族的结构示意图
指挥控制系统实质上是一类用于信息和资源的动态管理和分配的人机系统的统称[13],舰艇作战软件产品涵盖联合机动编队、战术群和单舰等指挥层级;各指挥层级内部,因为所需管理的信息和资源不同,对应着不同的型号;相同型号的舰艇作战软件产品,由于研制时间的不同,又产生了不同的版本,因此,特定型号舰艇作战软件产品可从指挥层级、应用环境及版本三个维度来标识。这些舰艇作战软件产品综合在一起,可统称为舰艇作战软件产品族。
舰艇作战软件产品族的结构,从功能分布来看,同一指挥层级不同型号的舰艇作战软件功能之间存在交叠,如对水面舰艇单舰作战软件而言,驱护舰和导弹艇都有威胁判断、对海导弹攻击等功能;不同的指挥层级所对应的舰艇作战软件,由于指挥层级分工灵活,以及作战使用需求都源于海上兵力运用方法,不同指挥层级的舰艇作战软件功能之间也存在交叠。从产品的演化过程来看,在海军战法、武器装备和指挥控制系统体系结构保持相对平稳发展的阶段内,舰艇作战软件的下一代产品通常是以前一代产品为基础进行优化和改进,因此各舰艇作战软件的产品功能存在交叉和重叠。
作战模型是舰艇作战软件研制过程中的核心工件,其是作战指挥流程、决策和武器控制领域知识的形式化描述,是对作战要素、过程及规律的简化反映和抽象描述,对舰艇作战软件产品族而言,作战模型是相对稳定的一类领域知识,其复用对提高舰艇作战软件的研制质量和效率具有重要意义。
2.3 作战模型在舰艇作战软件产品族中的复用需求
作战模型的研发活动主要是针对军事领域需要解决的业务问题进行建模和验证,作战模型在舰艇作战软件产品族的复用活动,主要发生在如下几个维度。
1)应用维度:指挥层级
这个维度主要是指舰艇作战软件系统按照所物化的作战指挥业务逻辑和所服务的对象不同,形成了与海上方向指挥层次相对应的体系,包含单舰作战软件、战术编队作战软件和联合机动编队作战软件等系统,特定作战模型可能跨层级复用于不同的软件系统。
2)系统维度:应用环境
舰艇作战软件系统的功能、行为和性能受到装备系统的约束。在海上作战环境下,舰艇作为搭载作战软件的平台,可能独立使用,也可能与其他舰艇组成编队联合使用,形成复杂的分散系统,共同构成舰艇作战软件的应用环境,特定作战模型可能同时应用于不同舰艇上的软件系统。
3)时间维度:版本演化
作为指挥信息系统的有机组成部分,舰艇作战软件的生命周期要短于舰艇平台的生命周期,因此特定型号舰艇作战软件在时间维度上会有不同版本。在特定舰艇作战软件系统改版过程中,部分作战模型会得以沿用。
4)功能维度:功能类别
舰艇作战软件系统按照其所提供的作战指挥决策支持功能类别,分为威胁判断、舰艇机动、对空防御、对海攻击和对潜搜索等功能部件,不同的功能部件可能会使用到相同的作战模型,比如舰艇机动和对海攻击这两个功能部件就同时使用到“最短时间到达指定位置”这个解算模型。
5)工程化维度:建模阶段
作战模型的工程化过程中,会形成军事概念模型、数学逻辑模型、工程模型和计算机程序模型(原型构件)等工作产品等在上述四个维度的复用过程中,可能复用的并非是最终的原型构件,而仅仅是对数学逻辑模型的复用。例如在上述四个维度的复用过程中,在决策支持功能需求相同但软件运行平台不同的情况下,复用的就只是数学逻辑模型,需要以数学模型为基础,针对不同的软件运行平台做相应的工程化建模,形成与运行平台相匹配的软件工程模型。
3 作战模型研制与模型驱动仿真系统研制
3.1 作战模型研制的通用性要求
作战模型是体系作战能力的生成要素之一,从能打仗、打胜仗的角度出发,作战模型需要满足如下通用要求。
1)权威性要求
作战模型最终将支撑作战软件系统为各级各类指挥员提供辅助决策支持,会直接或间接地影响到海上战斗的结果,因此要求作战模型具备权威性。
2)一致性要求
在处理同一个问题时,不同层次的作战软件所给出的辅助决策结果在整体上应保持一致。不同层次的作战软件,在同一态势情况下,考虑要素会不尽相同,使得输出结果不一致,此时不同层次的作战软件应具备协调机制,使得指挥员能得到整体上一致的决策结果。如在特定态势下,有关水面舰艇该如何转向的问题,指控级作战软件和火控级作战软件可能会给出不一致的结果,或者防空和反潜相关作战软件也会给出不一致的结果,此时就需要有相关的协调机制,保证整体上决策结果的一致性。
3)体系性要求
作战模型的研究范围非常广泛,而我们的研究经费和力量都是有限的,当单个作战模型的研究是整个模型体系研究需求的一部分时,才可最大化研究资源的利用率。而且当单个作战模型隶属于整个模型体系时,会有利于模型的集中管控。
4)规范性要求
从有利于作战模型的评审验证、模型研究人员复用已有模型、模型使用方正确选用、在模型发布之后的维护升级等方面出发,要求作战模型具备形式上的规范性。
5)可验证要求
作战模型是否可用,需要通过相应的检验、验证。这就要求作战模型的研究人员,同时提供相应的验证方法及工具,以便于模型的验证、管理及使用。
6)适应性要求
适应性要求体现在对新的海上作战理论方法的适应性、指挥员在使用模型过程中所提意见建议及新的决策理论与方法的适应性。事易时移,作战模型也需反映新情况,适时而变。
3.2 成体系研制作战模型的要求
1)作战模型需要有组织地进行研究。作战模型是针对海上作战的客观现实,综合运用决策理论与方法、运筹学等知识,形成特定场景下的辅助决策能力。海战的复杂性,决定了反应海战理论方法的作战模型的复杂性。由于海战没有一定之规,且作战模型的使用时机多样,模型研究容易出现仁者见仁智者见智的情况,当作战模型实例化为作战软件时,可能会出现针对同一个问题提供的辅助决策结果存在巨大差异。
2)作战模型需要基于整体规划的条件下有组织地进行研究。作战模型的整体规划是生成体系作战能力的要求,从体系作战的观点看,各级各类作战软件系统中的作战模型都是体系作战能力的生成要素,体系作战能力生成过程则表现为诸要素的互动过程。这就要求对作战模型研究的整体规划,否则各研究单位只见树木不见森林,最终会影响到体系作战能力的生成。
3.3 模型驱动的软件研制过程
模型驱动架构(Model Driven Architecture,MDA)将软件系统模型分为三个大类[14~15],分别是CIM(Computation Independent Model,计算无关模型)、PIM(Platform Independent Model,平台无关模型)和 PSM(Platform Specific Model,平台相关模型)。其中CIM是从计算无关的角度来观察一个系统得到的视图,它不包括系统结构的具体细节,仅考虑系统要解决的业务问题。CIM又被称为领域模型,在建模过程中使用的词汇来自问题领域专家所熟悉的术语,CIM中并不包含软件建模和实现技术相关的知识。PIM描述了系统的功能和结构,但是并不包含与具体实现技术相关的细节。PSM描述了系统的实现技术以及所有实现的细节,可以被转换为具体的代码[5]。
基于模型驱动的软件开发过程,可以看作是建立模型和模型转换的过程,并且模型转换在这个过程中起到了主要作用。
图2MDA开发过程
与传统的软件开发过程类似,基于模型驱动的软件开发过程也可以分为需求分析、设计、实现、测试和发布等阶段,并且每个阶段都是一个迭代的过程。图2展示了基于MDA的软件开发流程。从图中可以看到,需求阶段输出的是计算无关模型CIM。一个CIM是从计算无关视角对系统进行描述的一个视图。在高层设计阶段,通过模型转换将CIM生成PIM。在低层设计阶段,通过模型转换再将PIM生成PSM。最后通过代码转换将PSM生成基于特定平台的系统实现代码,经迭代测试后就可以发布系统了。
3.4 基于仿真引擎的作战模型研制过程
图3 基于仿真引擎的作战模型研制过程示意图
作战仿真系统作为一类软件系统,也可应用模型驱动的软件研制过程来研制。面向支撑舰艇作战软件产品族的需求,可基于特定仿真引擎来研制海战场作战仿真系统,通过系统研制来牵引仿真模型体系建设,同时仿真模型体系建设的部分成果可直接应用于作战软件产品族的研制。在这一指导思想下,基于仿真引擎的作战模型研制过程如图3所示。
从此过程可以看出,基于仿真引擎的作战模型研制过程和传统作战模型的研制过程并无本质区别,这一过程可视为模型驱动的软件研制过程模型在作战仿真系统研制中的应用。
4 作战仿真模型库在舰艇作战软件产品族研制过程中的应用
仿真模型库的建设过程和舰艇作战软件产品族的研制过程是相关但不完全相同的技术过程,这两个技术过程之间存在着以“模型标准化提炼”和“模型复用”为主要内容的信息交换(如图4所示)过程,当然从最终目标来看,是仿真模型库应用于舰艇作战软件产品族的研制。
图4 作战模型库与作战软件产品族之间信息交换示意图
具体而言,在舰艇作战软件研制过程中,可按照作战使用需求,在作战模型库中查找能够匹配并复用的作战模型,将其应用于在研的型号软件研制任务,这个过程为“模型复用”;另一方面,在研制时有意识带着复用的思维,也就是充分分析软件设计和模型补充研制的成果进入作战模型库的可行性,尽可能地将其纳入到作战模型库,这个过程为“模型标准化提炼”。
当然,从保持战法先进性,提高作战方法研究的理论水平角度来看,对战法的研究是独立于舰艇型号软件研制持续不间断的工作。其工作结果产生的作战概念模型、数学模型和相关算法也会不断加入到作战模型库中,它们作为共享知识供舰艇作战软件研制复用。
5 结语
作战仿真模型体系建设是作战实验建设领域的一项重点工作,是以体系化和规范化方式开展海战场仿真模型建设、提高仿真模型权威性的一项重要举措。为提高工程建设的效益,结合本单位多年来在舰艇作战软件方面的工程实践和作战仿真模型建设的内在规律,我们设计了将仿真模型体系建设融入到舰艇作战软件产品族研制的建设思路,后续将结合舰艇作战软件产品族的研制来开展作战仿真模型体系的建设工作,力争在完成好仿真模型标准规范和研制规程的制定和仿真模型库建设等工作基础上,还能有效支撑舰艇作战软件产品族的研制。