秦媛媛
(中国电子科学研究院,北京 100041)
作战实体的行为建模设计与实现
秦媛媛
(中国电子科学研究院,北京100041)
摘要:作战模拟训练系统中用户战术战法和作战规则多种多样,这导致作战实体行为建模过程异常繁琐,且基于事件驱动的任务执行过程中实体行为模型的可重用性差。针对这些等问题,本文给出了组合构造的行为建模方法,从某型作战模拟训练系统中的实际应用效果来看,任务模型的构建十分灵活而且易于操作,模型的重用率高,可以灵活构建训练内容,降低了系统的设计开发成本。
关键词:作战实体; 行为建模; 任务模型
1技术背景
在作战模拟训练系统设计过程中,作战实体的建模和实体作战行为的建模是两大核心内容。实体的行为表示是否准确、行为模型是否真实,直接影响了训练的效果。而实际作战中的作战行为与军事背景紧密相关,是灵活多样、甚至是不可以穷举的,因此作战实体行为的建模是作战模拟训练中的主要困难之一。
通常行为建模主要由军事专家和技术开发人员协同完成。首先以具备深厚作战知识和背景的军事专家作为主导,分析获取作战任务的需求,建立任务知识库;其次,根据实际情况,选择一种既方便军事专家建模又便于技术开发人员理解的建模语言,将任务知识库中的每一条任务建立作战任务的抽象概念模型,形成概念模型库[1]。最后,针对概念模型库中的每一条作战任务,技术开发人员将其计算机化,转化为可以由计算机执行的软件程序,并且在开发过程中,军事专家需要核验软件程序是否真实的反映了他们最初的意图,并且需要随时与技术开发人员进行交互。
依据作战任务建模通行方案,建立的作战任务库大多数是相对固定的,因此训练存在局限性。可能会由于前期的考虑不周全而导致部分训练内容没有被包含到任务库中,并且当用户认为当前任务库中的任务无法满足训练要求或者是某些任务的作战规则发生变化需要改变时,需要先由军事专家来建立或者修改概念模型,再由技术开发人员编程实现,整个过程十分繁琐,且难以维护。
而且,仿真实体模型的执行完全依靠仿真引擎的事件驱动完成,自身没有任何自主执行能力。当一个动作执行结束之后,任务引擎收回装备实体的控制权,接收该动作执行产生的所有输出,同时按照当前任务中各动作的逻辑次序关系,为后继动作收集输入参数,之后启动后继动作并将输入参数以及控制权交给该后继动作。在此过程中,仿真实体模型主要依靠仿真引擎给出的事件表,完成任务执行。由于仿真实体模型无法自主执行,各实体模型中没有给出各动作中的后续动作,现有建模技术无法将不同的状态、选择条件串起来完成某个任务,导致已经建立的任务模型无法重用[2]。
本文设计的作战实体行为模型表示为由动作模型、执行条件和消息模型可视化生成的任务模型,基于事件触发的高效率任务引擎用于执行实体的行为模型。建立了组合构造的作战实体行为建模方法,实现了仿真行为资源更细粒度上的重用和更高效的互操作,解决了不同用户战术战法和作战规则不同导致的实体行为灵活性建模的难题,支持和方便用户军事人员根据其作战规则定制符合自身需要的作战实体行为模型,提供了所见即所得的实体行为建模能力。
2行为建模技术设计
实体状态是对作战实体某一特定时刻的静态表示,实体行为是实体状态的变化过程,是状态转移的动因和根据。在实体行为的建模中,考虑两种粒度的行为:动作和任务[3]。
动作(Action):动作定义为任务实施过程中的步骤或工序,是最小的、不可再细分的行为概念;
任务(Task):一项任务定义为执行一个具体的作战命令的过程,是具有明确作战意图的军事行动,它可由实体的一个或多个动作构成。
编辑形成作战任务模型主要包括四个阶段,其中前三个阶段主要完成建立动作库、消息库、条件库、任务库,具体执行流程见图1。
图1 任务引擎执行流程Fig.1 Mission engine implementation flow path
第一阶段:在模型服务器建立动作库、消息库、条件库、任务库4个数据库,并通过动作导入和编辑模块、消息导入与编辑模块、条件编辑模块分别填写动作库、消息库、条件库3个库的数据项。
(1) 动作库包括序号、名称、启动命令、参数4个数据项;
(2) 消息库包括序号、名称、内容3个数据项;
(3) 条件库包括序号、名称、数据类型、取值范围5个数据项;
(4) 任务库包括任务表、动作序列表2个表,任务表包括任务序号、任务名称、动作序列3个数据项,其中任务表的动作序列为动作序列表的编号。动作序列表包括动作序号、动作名称、动作类型、动作输入参数、动作输出参数、动作处理函数、后继动作序号6个数据项。动作序列表中的动作类型为条件类型、非条件类型。
由模型建模人员执行动作导入和编辑模块、消息导入与编辑模块、条件编辑模块中填写动作库、消息库、条件库的记录,并将动作库、消息库、条件库保存在模型服务器。
第二阶段:在模型服务器建立动作的标准化的输入、输出接口。
输入接口包括动作名称、启动命令、启动参数3个数据项;其中启动命令表示与该动作关联的命令,当收到该命令时表示需要启动当前的动作;启动参数表示该动作在执行过程中需用到的数据,这些数据需要外部输入,是该动作内部不能自动产生的。
输出接口包括后继动作节点启动参数、公共参数、判断条件、消息4个数据项。其中启动参数指该动作执行产生并且可以直接由任务引擎传递给其后继动作使用的一组参数;公共参数指该动作执行产生,需要传递给任务引擎使用的一组参数,由任务引擎负责这组参数的保存和使用;判断条件指该动作执行产生,需要传递给任务引擎使用的一组参数,任务引擎根据这组参数判断决定任务执行的流程;消息指在动作执行过程中根据分析决策得到的需要向上级报告的情报或者是需要向下级下达的命令。
第三阶段由模型建模人员在模型服务器平台,选择动作和条件构成任务,并填充任务库。在任务编辑模块中,用户从动作库中选择特定动作,从条件库中选择逻辑判断条件,并在此工具提供的流程图的界面中,将动作和条件组织成为一个特定的作战任务,形成任务库中的一条记录,并保存在任务库中。
第四阶段为仿真实体模型执行的过程。包括仿真实体模型从模型服务器中的任务库中获取任务,并执行任务。
用户给仿真实体模型下达命令,仿真实体模型接收命令,从模型服务器中的任务库查找得出特定任务后,根据特定任务表序号,取出其中的动作序列。根据概念模型服务器中的动作序列表,获取动作顺序执行。具体分为6个步骤,具体执行流程如图2所示。
第1步:从动作序列表中提取第一个动作,将用户输入命令中的参数作为输入参数,执行动作处理函数后,得出动作输出参数。运行第2步。
图2 仿真实体模型执行流程Fig.2 Simulation entity implementation flow path
第2步:从动作序列表中提取第i个(i>1)动作,判断第i个动作的动作类型是否是条件类型?如是,进入第3步,否则进入第4步。
第3步:根据第i个动作的动作输出参数、动作输出参数与后继动作的映射表,选择满足条件的后继动作,运行第5步。
第4步:选择第i个动作的所有后继动作,运行第5步。
第5步:判断当前选取的后继动作是否为空值?如是,则结束,否则运行第6步。
第6步:将用户输入命令中的参数、第i个动作的输出参数作为后继动作的输入参数,运行后继动作的动作处理函数,如果后继动作为多个,则所有后继动作同时执行对应的动作处理函数,运行第2步。
通过以上阶段和步骤,用户建立了自己所需要的作战任务模型。如果需要建立新的作战任务,或者是已有作战任务等规则等发生了变化,则只要在流程图上重新进行编辑形成任务模型即可实现。
3应用与实例
以坦克连“冲击某地面目标”的作战任务为例,共分4个阶段执行。
第一阶段:在模型服务器建立行为库、消息库、条件库、任务库4个数据库,并填写完成动作库、消息库、条件库3个库。
动作库包括机动、更新状态、搜索目标、更新速度、开火、遭遇袭击、报告敌情等动作;消息库包括发现敌情、道路受阻等消息;条件库包括是否锁定目标、是否可还击、是否遭遇袭击等条件[4]。
第二阶段:在概念模型服务器建立了动作标准化的接口,包括输入、输出接口。
在模型服务器建立“搜索目标”动作的输入、输出接口。
第三阶段:
(1) 用户从动作库中选择动作,在此冲击作战任务中,包括更新状态、机动、搜索目标、更新速度、开火、遭遇袭击、更改速度、报告敌情等动作。
(2) 在条件库中选择逻辑判断条件,包括“是否锁定目标”条件。
(3) 组合特定动作和条件,形成冲击任务的概念模型流程,如图3所示。
(4)将冲击任务形成任务库中的一条记录,保存在任务库。
第四阶段:
坦克连装备实体模型收到冲击命令后,执行冲击任务,从任务库中提取对应的“冲击”任务表以及动作序列表,具体包括6个步骤。
图3 作战任务概念模型流程Fig.2 Combat mission concept model flow path
第1步:从执行动作1“更新状态”开始,根据冲击命令内容,得到“任务类型、通信电台状态”的具体参数。执行动作1的动作处理函数UpdateState,得出输出参数为更新成功,使模型从待命状态为冲击状态。
第2步:判断第1个动作为非条件动作。
第3步:根据第1个动作的动作输出参数、动作输出参数与后继动作的映射表,选择满足条件的后继动作为第2、3个动作,即“机动”、“搜索目标”2个动作同时运行,顺序执行。
第4步:分2个并行执行子步骤,第1个子步骤执行机动动作的动作处理函数MoveMent后,得出输出参数。
第5步:执行搜索目标动作的动作处理函数ScanTarget。
第6步:判断第2个动作为非条件动作,根据第2个动作的后续动作为NULL,结束。
4结束语
基于本方法,用户可以根据实际的需要来灵
活定制和重用、重构实体所承担的作战任务,从而实现了整个作战任务域的柔性可扩展。本方法在某型作战模拟训练系统中的实际应用过程中,任务模型的构建十分灵活而且易于操作,模型的重用率高,可以灵活构建训练内容,降低了系统的开发成本和训练成本。
参考文献:
[1]赵杰,林辉.基于AGENT的防空作战CGF行为建模研究[J].系统仿真学报,2007,19(10):2321-2323.
ZHAOJie,LINHui.Researchofactionmodelingofair-defensecombatCGFbasedonagent[J].JournalofSystemSimulation,2007,19(10):2321-2323.
[2]徐润萍,王树宗,顾健.基于Agent的作战单元行为规划方法研究[J].系统工程与电子技术,2005,27(5):844-847.
XURunping,WANGShouzong,GUJian.Agent-basedactionplanningmethodofthefightunit[J].SystemEngineeringandElectronics.2005,27(5):844-847.
[3]冯磊,查亚兵,胡记文,等.CGF中的协同行为建模技术[J].系统仿真学报,2013,25(4):1056-1058.
FENGLei,ZHAYabing,HuJiwen,etal.cooperativebehaviormodelingtechnologyinCGF[J].JournalofSystemSimulation,2013,25(4):1056-1058.
[4]陈彩辉.任务空间概念模型(CMMS)浅析[J].电子科学技术评论,2004(2):57-60.
CHENCaihui.Conceptmodelofmissionmpace[J].ReviewofElectronicsScienceandTechnology,2004(2):57-60.
秦媛媛女(1984-),北京人,硕士,工程师,主要研究方向为系统建模与仿真方面的研究工作。
中图分类号:TP 391
文献标识码:A
Designing and Implementation ofCombat Entity Behavior Modeling
QIN Yuanyuan
(ChinaAcademyofElectronicsandInformationTechnology,Beijing100041,China)
Abstract:There are different varieties of user′s tactics and operational rules in the combat simulate training system,as a result,combat entity behavior modeling was a complex process.Additionally,the reusability of model is poor in the event-driven mission implementation.Aiming at these problems,the association combat entity behavior modeling method was introduced in this paper.From the application effect in a certain combat simulate training system;the behavior modeling construction was flexible and easy to operate.In addition,this method can construct the training content conveniently and can reduce the cost of designing and development of the system.
Key words:combat entity; behavior modeling; mission model