杜国红,李路遥
(南京陆军指挥学院作战实验中心,江苏 南京 210045)
建模与仿真技术是研究战争复杂系统的重要方法和手段,随着仿真系统和仿真模型越来越丰富,研究对象越来越复杂,仿真模型的重用和组合已经成为当前战争复杂系统建模与仿真领域的热难点问题[1]。梁义芝等对当前支持仿真模型重用的方法进行了梳理,归纳出多阶段建模方法、基于模型框架的方法、基于模型与模型表示的规范化与标准化方法以及综合适用上述方法的综合集成方法[2],并对支持模型重用的舰艇作战仿真模型框架进行了研究[3]。宋莉莉等提出了基于面向服务架构(SOA)和模型驱动架构(MDA)的模型重用和组合方法[4]。余广文提出了模型驱动的组件化A-gent仿真模型开发方法[5]。由上述文献可知,当前研究的重点侧重于模型架构和重用技术,对模型构建规范和技术标准方面的研究则较少涉及。仿真模型重用和组合的关键是模型的标准化,只有建立标准化的模型框架,确立标准化的模型设计、模型管理以及模型交互方法,才能推动建模与仿真领域的资源重用、共享和互操作。
陆军作战仿真系统是一个复杂的巨系统,涉及步兵、装甲兵、炮兵、防空兵、陆军航空兵、工程兵、通信兵、防化兵、电子对抗兵、特种部队等多个兵种,具有要素多、规模大、关系结构复杂等特点。并且,随着武器装备的更新换代以及作战样式的发展变化,使得该系统时刻处于变化之中。对它建模,尤其是构建高质量的模型非常困难。至今,陆军作战仿真尚未形成较为完善的标准化的仿真模型体系,严重阻碍和迟滞作战仿真的发展,主要表现在以下几个方面。
1)模型粒度问题
陆军作战仿真模型现已形成平台级仿真模型和聚合级仿真模型两种粒度的模型。平台级仿真模型侧重于对武器平台进行描述,依据武器平台的战技术性能进行建模,具有较高的可信度,但由于建模粒度过细,不能有效支持大规模的仿真应用。聚合级仿真模型则侧重于对单位级如营、连、排、组进行描述,依据单位的整体战技术特性进行建模,支持大规模仿真应用,但由于建模粒度过粗,仿真的可信度往往会受到质疑。因此,如何将两种粒度的仿真模型进行统一建模,使其既可支持不同规模的仿真应用,又兼具较高的可信度,是一个迫切的现实需求。
2)模型重用问题
已开发和建立的模型标准不统一,通用性差,主要体现在三个方面:一是模型在设计和开发时缺乏统一的标准规范指导;二是模型中数据、知识与逻辑严重耦合;三是模型局限于具体领域的特定需求。
3)建模效率问题
由于在模型框架、模型设计、模型管理、模型交互以及模型开发集成等方面缺乏标准研究,在作战仿真建模时,各单位闭门造车、各自为战,研制的仿真模型也未经过有效地校核、验证和确认,不仅影响了模型的交流和交互,同时也造成模型的重复开发,使得模型资源极大浪费,且建模过程费时费力,建立和运行成本很高,不易维护、扩展,建模效率低,限制了模型的推广和使用。
建模仿真在陆军作战方案论证、作战概念创新、新战法检验、作战能力评估以及作战训练等领域发挥着十分重要的作用,构建的模型越逼真、完善、实用、可靠,则越能发挥仿真系统的推动和促进作用,产生巨大的军事和经济效益。因此,进行陆军作战仿真模型的标准化研究具有非常重大的意义,建立一个完整、通用的陆军作战仿真模型体系框架,推进模型的标准化和规范化成为现阶段陆军作战仿真模型研究的当务之急。
模型架构是对模型的构成及其相互关系的规范化、一致性描述。因此,对模型构成要素及其关系进行梳理分类是进行架构标准化设计的前提。陆军作战仿真模型通用要素包括作战环境、武器装备等物理域要素和作战人员认知域要素,模型差异主要体现在各兵种武器装备类型、性能、描述粒度以及具体的作战规则等层面。在进行模型框架设计时,通过抽象这些共性要素,构建通用的模型体系,将模型结构与具体内容进行分离,从而实现模型架构的通用化、标准化设计。模型体系如图1所示。
依据上述模型体系,按照功能逻辑进行抽象分类的原则,将陆军作战仿真模型划分为仿真控制系统、仿真实体&实体管理系统、地理环境仿真系统、气象环境仿真系统、人工智能仿真系统等系统。通过将上述模型相关核心系统进行插件式设计,采用“方案-单元-实体-组件”的方式描述仿真实体管理机制,功能组件组合的方式描述仿真实体建模机制,事件订购、分发的方式描述仿真实体之间的信息交互机制,构建纵向支持武器平台建模、分队兵力要素建模、部队兵力要素建模,横向支持单兵战术规则建模、分队战术规则建模到陆军合同战术规则建模的“柔性”仿真模型架构,支持陆军作战仿真需要。仿真模型架构的“柔性”体现为模型架构具有很强的使命导向性、组合灵活性、边界可延伸性和配置可替换性,具体表现在两个方面:一是采用插件方式对模型架构进行设计,系统提供规范的插件接口描述,依据该接口规范,可以实现模型组成系统的灵活增减和替换;二是采用功能组件组合的方式对仿真实体进行描述,功能组件是按照仿真应用需要对各类仿真实体的共性功能进行的逻辑拆分,通过拼装具有最细集合特征的各类功能组件,实现仿真实体的灵活描述。“柔性”仿真模型架构如图2所示。
图1 陆军作战仿真模型体系图
图2 模型架构设计图
其中,仿真控制系统是模型的核心控制系统,负责模型启动时运行参数配置、系统插件加载以及系统依赖关系配置和模型运行时各系统的管理调度。仿真实体&实体管理系统基于抽象描述陆军作战仿真涉及的人员、装备、人工环境、认知模型等要素,负责对上述实体要素的建模、管理以及交互进行整体设计,同时支持仿真实体的变分辨率建模。地理环境仿真系统负责对陆军作战仿真涉及的地形、天然地物以及地貌进行描述。气象环境仿真系统负责对陆军作战区域内的气象、水文情况进行描述。地理环境仿真与气象环境仿真均采用实现模式进行设计,以支持不同类型、不同格式的地理和气象数据,实现环境仿真系统的通用化设计。人工智能仿真系统负责对仿真实体的智能行为算法进行描述,辅助仿真实体&实体管理系统完成实体的智能行为建模,如寻路、决策等。
模型构建标准化是指对模型设计方法、模型分类以及模型组装方法的规范化描述。传统模型设计多采用面向对象的建模方法,其基本出发点是尽可能按照人类认识世界的方法和思维方式来分析和解决问题,并以对象为中心综合功能抽象和数据抽象。其优点是比较接近人类认知,易于理解和实现;存在的不足是容易出现类爆炸以及分类易混淆的情况。基于组件的建模方法,则从全新视角,以组件为中心进行建模。其核心思想是将研究的对象作为一个容器,按照对象本身固有功能进行拆解,采用分而治之的方法封装为组件,由一系列组件的聚集来描述对象。容器本身作为组件的载体无实质内容,可理解为一个空壳。组件之间通过数据共享和控制指令实现通信,对象容器与容器之间通过消息实现交互。如图3所示。
图3 组件化建模实体结构图
针对陆军作战仿真涉及要素多以及仿真应用差异大的特点,模型组件设计时,既要能够支持对不同类型武器装备、兵力要素的描述,又要支持对不同级别的仿真实体如营、连、排等要素的描述。模型组件结构如图4所示。
图4 模型组件结构图
其中,物理组件主要侧重于描述仿真实体的物理结构功能,包括平台组件、机动组件、传感器组件、武器系统组件、通信组件、干扰组件、目标特征组件、防护组件、资源组件等。行为组件主要侧重于描述仿真实体的行为逻辑功能,包括指控组件、任务组件、计划组件、逻辑规则组件等。辅助组件主要提供附加功能或判断逻辑的描述,包括信息组件、触发器组件、条件组件、动作组件等。管理器组件按照功能类型提供管理和维护功能,包括任务管理组件、计划管理组件、资源管理组件、武器系统管理组件、组织管理组件、通信管理组件等。
基于组件的建模方法,按照仿真实体实际功能特性,通过组合各类功能组件,实现仿真实体的灵活描述。如图5所示,坦克是由平台组件、机动组件、传感器组件、武器系统组件、通信组件、防护组件、资源组件等组装而成;导弹则由平台组件、机动组件、武器系统组件等组装而成。
图5 实体组件组装示意图
模型的有序组织和管理是保证模型运行效率和稳定性的关键,模型管理包括模型静态管理和模型动态管理两个方面。模型静态管理是对模型组件参数化以及实体装配的配置方案进行的管理。采用基于组件的建模方法开发系列功能组件之后,需要依据具体装备或兵力要素进行功能组件参数配置,而后将参数化的功能组件装配,形成仿真实体的配置方案。组件参数化以及实体装配的配置方案采用XML文件的方式进行设计,通过分层的文件管理方法和资源路径配置的方式进行管理,模型静态管理是模型动态管理的前提和基础。模型动态管理是指对模型运行时组织调度方式的管理,采用“方案-单元-实体-组件”的管理策略予以设计,如图6所示。
其中,方案管理是模型动态管理的核心,采用方案的形式对具体的作战方案进行组织,便于在数据逻辑上保持一致。在方案管理初始化期间,单元管理、组织管理、通信管理以及数据处理管理向方案管理注册,提供全局服务功能。单元管理是对作战编成编组进行的管理,采用单元的形式对处于编成编组同一层级结构中的实体进行组织。单元支持单元嵌套,用于支持单元加入或脱离编组单元。实体管理是对执行作战行动的实体进行管理,任务管理、计划管理、武器系统管理以及资源管理向实体管理提供注册,提供对任务、计划、武器系统以及资源的有序管理。单元与单元、单元与实体、实体与实体之间的交互通过消息分发管理提供支持。实体同样支持实体嵌套,用于支持实体搭载或卸载、停靠或脱离等军事应用。组件管理是对各类功能组件进行管理,包括组件类型管理、组件注册、组件创建等具体功能。
图6 模型动态管理图
模型交互是指模型各系统之间以及仿真实体之间的信息交互。模型系统间的交互主要是指仿真控制系统与模型插件系统之间的运行调度信息交互。模型运行调度采用消息驱动的方式进行设计,定义三类消息MESSAGE-PREFRAME、MESSAGE-FRAME、MESSAGE-POSTFRAME 分别对应 PreFrame、Frame、Post-Frame消息处理函数。其中,PreFrame函数负责系统更新前的准备工作,如网络通信系统获取缓存中的通信信息、任务管理组件获取任务队列中待执行的任务等。Frame负责系统更新工作,如机动组件、传感器组件、武器系统组件等进行逻辑运算。PostFrame负责系统更新后的善后工作,如网络通信系统发布仿真实体状态更新信息等,如图7所示。
图7 系统交互策略图
仿真实体之间的交互主要用于描述实体之间指挥、通信、射击、召唤、上报等信息交互。实体交互采用事件与事件处理的方式进行设计,事件对应具体的交互类型,事件处理对应针对该交互的逻辑处理规则。定义两种事件类型:一是立即事件,对应立即执行的交互信息;二是未来事件,对应后续执行的交互信息。采用事件工厂的方式描述事件创建机制,事件“订购-发布”模式描述事件分发处理机制,采用事件队列的方式对事件进行管理,如图8所示。
图8 实体交互策略图
陆军作战仿真模型的标准化对于陆军作战仿真系统的设计和发展具有重大意义,只有建立标准化的模型架构,确立标准化的模型设计、模型管理以及模型交互准则,为陆军各兵种模型的开发建立起统一的设计和集成规范,才能在最大范围内规范陆军作战仿真模型开发,避免低水平重复建设,推动陆军作战仿真领域的资源重用、共享和互操作。
[1]李瑛,毕义明,金鑫.导弹作战仿真模型标准化研究[J].系统仿真学报,2009,21(17):5349-5352.
[2]梁义芝,张维石,康晓予,等.仿真模型重用方法综述[J].计算机仿真,2008,25(8):1-5.
[3]梁义芝,张维石,康晓予,等.支持模型重用的舰艇作战仿真模型框架[J].系统仿真学报,2009,21(14):4274-4278.
[4]宋莉莉,王维平,李群.基于SOA和MDA的模型重用和组合技术研究[J].系统仿真学报,2009,21(13):3969-3974.
[5]余文广,王维平,李群,等.模型驱动的组件化Agent仿真模型开发方法[J].系统工程与电子技术,2011,33(8):1907-1912.
[6]中国人民解放军军语[M].北京:军事科学出版社,2012.
[7]覃征,邢剑宽,郑翔.Software Architecture[M].杭州:浙江大学出版社,2007.
[8]王积鹏.信息化建设的顶层设计方法[J].中国电子科学研究院学报,2011,6(5):457-460.
[9]金伟新,肖田元,马亚平,等.联合作战仿真模型体系的设计[J].计算机仿真,2003,20(8):4-6.
[10]胡小云,冯进.陆军分队作战仿真模型结构描述规范设计[J].指挥控制与仿真,2010,32(1):63-67.
[11]秦媛媛,赵琳.基于组件化的作战想定系统设计[J].信息系统工程,2012(3):129-133.