面向服务的群体行为并行仿真方法转让专利

申请号 : CN201010048611.5

文献号 : CN106508012B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 曾亮张巍李思昆蔡勋

申请人 : 中国人民解放军国防科学技术大学

摘要 :

本发明公开了一种面向服务的群体行为并行仿真方法,目的是解决现有行为仿真方法计算时间长,仿真规模可扩展性差以及仿真数据可重复利用性差等问题。技术方案是先搭建由想定编辑器、并行仿真控制服务器、各仿真结点、规则解析服务器构成的仿真软硬件环境;想定编辑器生成想定文档;并行仿真控制服务器生成仿真应用可执行程序;规则解析服务器构建行为规则库和任务层次规划图;并行仿真控制服务器分派仿真应用可执行程序,启动仿真,规则解析服务器提供任务与规则解析服务;若截获结束事件,则结束仿真。采用本发明可加快群体行为仿真应用的开发效率,提高并行仿真运行速度,增强仿真实时性,且使仿真规模可扩展,仿真数据可重复利用。

权利要求 :

1.一种面向服务的群体行为并行仿真方法,其特征在于包括以下步骤:

第一步,搭建软硬件环境,方法是:

1.1在一台普通计算机上安装想定编辑器软件,作为想定建模编辑器;

1.2构建由n+1台计算机组成的并行仿真集群,每台计算机都是并行仿真集群局域网的结点,各结点有独立的存储系统,结点之间的通信采用消息传递的方式,结点依次编号为

0,1,2,...,n,n为正整数;以0号计算机作为并行仿真控制服务器,安装后台管理软件控制端和实体模型库,并安装防火墙;1至n号计算机则安装后台管理软件客户端,作为仿真结点,用于行为仿真;

1.3采用面向服务策略,在一台服务器上安装规则解析服务软件,这台服务器成为规则解析服务器;

1.4将想定建模编辑器、并行仿真控制服务器、各仿真结点、规则解析服务器通过并行仿真集群局域网连接,即将并行仿真控制服务器、各仿真结点和规则解析服务器都以以太网方式接入并行仿真集群局域网组成内网,以并行仿真控制服务器作为内网网关,安装防火墙,再将想定建模编辑器与并行仿真控制服务器连接;

第二步,向想定建模编辑器输入想定数据,想定建模编辑器启动想定编辑器软件,由想定编辑器软件编辑想定数据中群体的组织结构、任务过程以及群体任务的作战规则,生成想定文档;想定数据包括:作战单元描述、作战环境描述和作战行为描述;作战单元描述包括参与战争行为的组织结构与作战实体、隶属关系、兵力部署、增援或支援力量;作战环境描述包括地形、有战术意义的设施、气象、电磁环境;作战行为描述包括作战企图和作战任务;想定编辑器软件的流程如下:

2.1新建想定,根据作战地域和规模选择对应的电子地图,在想定描述中添加想定的背景描述和作战企图;

2.2设置想定的环境参数,包括地球模型参数,地形模型参数,气候天气参数;

2.3在电子地图上划分战场区域,标示军事中的集结点、防线、雷区、染毒区、禁飞区、电磁覆盖区;

2.4在想定中添加作战方、组织、作战实体,设置作战实体的基本物理属性和战术属性这些详细参数数据;

2.5为组织添加作战任务,并建立作战任务层次规划图,即反映作战任务的包含关系和时序关系的图示;任务规划是依据作战的使命和资源约束建立完成使命的最佳行动过程,对应于军事领域中的军事行动过程COA即Course Of Action的选择;

2.6为作战实体添加作战规则,作战规则是作战实体在仿真中的行动依据和规范,由规则结构、规则类别、触发条件、规则描述和触发动作构成;

2.7设置仿真结束事件,可以为仿真时长、仿真对象状态或仿真事件;

2.8进行想定校验,并输出想定文档;想定校验检查组织结构的合理性,任务规划的可完成性和完备性;

2.9将想定文档发送到并行仿真控制服务器;

第三步,并行仿真控制服务器读取从想定建模编辑器接收的想定文档,生成各结点的配置文件,并生成仿真应用可执行程序:

3.1后台管理软件控制端从想定建模编辑器接收想定文档,校验文档的合法性,如果为合法想定,则执行步骤3.2,如果不为合法想定,则停止读取并报告用户;

3.2后台管理软件控制端从想定文档中读取战场环境数据、作战各方的组织结构和作战实体、作战任务和实体作战规则;

3.3后台管理软件控制端结合作战各方的组织结构和作战实体,对作战任务进行初步分解,即按组织结构将各任务的子任务分派给下级作战组织;

3.4后台管理软件控制端根据仿真结点数目n和从想定文档中解析出的作战各方的组织结构和作战实体进行预分配,即将组织和作战实体即仿真对象平均分配到各个仿真结点上;

3.5后台管理软件控制端根据每个结点预分配的仿真对象编号将仿真对象指定到各个结点,并生成各结点的配置文件,并根据实体类型列表文件中涉及到的所有实体类型,从仿真模型库中选择模型,编译并链接生成仿真应用可执行程序;配置文件包括实体类型列表文件、组织结构描述文件、实体初始参数文件、作战任务规则文件,以及平台配置文件;实体类型列表文件包括仿真中涉及的所有实体类别;组织结构描述文件描述所有作战方的编制结构;实体初始参数文件描述作战实体物理参数初始化数据;仿真应用可执行程序包含了组织模型和实体模型,对应于想定中所设定的组织结构和作战实体;

3.6后台管理软件控制端将组织结构描述文件、实体初始参数文件和作战任务规则文件发送到规则解析服务器;

第四步,规则解析服务器运行规则解析服务软件,依据从并行仿真控制服务器获得的组织结构描述文件、实体初始参数文件和作战任务规则文件构建行为规则库和任务层次规划图,具体步骤如下:

4.1规则解析服务软件根据从并行仿真控制服务器获得的实体初始参数文件和作战任务规则文件里包含的各自能够完成的任务或可执行的动作,整理创建一个可完成任务集合,即这些可完成任务和动作组成的集合;

4.2规则解析服务软件将从并行仿真控制服务器接收到的作战任务规则文件保存在本地,作为行为规则库;

4.3规则解析服务软件根据并行仿真控制服务器发送来的作战任务规则文件重建层次任务规划图,方法是:以作战任务为结点,以任务的关系为边建立有向图;

第五步,并行仿真控制服务器分派仿真应用可执行程序,启动仿真并统计数据,在仿真过程中,规则解析服务软件采用任务层次规划与行为规则搜索相结合的策略向仿真结点提供任务与规则解析服务,具体步骤如下:

5.1后台管理软件控制端将配置文件和仿真应用可执行程序分发到1至n号仿真结点;

后台管理软件客户端接收配置文件和仿真应用可执行程序,并启动各个仿真结点的仿真应用可执行程序;仿真应用可执行程序通过读取本地的配置文件进行仿真运算;

5.2当所有仿真结点上的仿真样本开始运行后,并行仿真控制服务器上的后台管理软件控制端每隔一段时间T向后台管理软件客户端收集各个仿真结点上仿真样本运行数据,并对仿真样本运行数据进行记录,T为5-8秒;

5.3仿真结点上的各级组织模型以链表方式维护一个任务队列,每个仿真步内任务队列非空的组织取出队列中第一个任务,以该任务为参数,向规则解析服务器请求任务分解和决策;规则解析服务软件根据层次任务规划图将任务分解为下一级子任务或阶段任务,然后根据敌情描述和下级组织的可完成任务集合进行决策,确定组织间的各种协同关系,包括指挥关系、支援关系和通讯关系,并将决策结果返回给请求组织,由组织进一步将决策结果向下级指派;规则解析服务软件将基层组织的任务分解为原子任务,然后再将这些原子任务指派给组织的实体成员;

5.4各个仿真结点上的仿真对象接收到原子任务后,根据战场态势向规则解析服务器请求作战规则搜索和决策;规则解析服务软件先进行并行计算,从本地选出一条作战规则,并返回给实体,实体依据这条作战规则所规定的控制条件来控制实体的动态行为:

5.4.1作战实体依据战斗状态和原子任务向规则解析服务器请求规则解析,规则解析服务软件先进行并行计算,选出所有条件满足即规则条件的值为真的作战规则,再选择出一个优先级最大的作战规则,得到作战规则的原子动作序列,最后返回原子动作序列;

5.4.2每个仿真步作战实体执行自己的原子动作序列,当作战实体接收到操作员的外部命令时,依据外部命令行动;当无操作员的外部命令时,作战实体依据作战规则行动;

第六步,如果后台管理软件控制端截获结束事件,则通知所有的后台管理软件客户端结束仿真,后台管理软件客户端结束仿真后,将仿真运行数据发送给后台管理软件控制端,由后台管理软件控制端将数据统计输出。

2.如权利要求1所述的面向服务的群体行为并行仿真方法,其特征在于所述想定文档和作战任务规则文件采用XML格式,后台管理软件控制端根据XML语法依次从想定文档中读取战场环境数据、作战各方的组织结构和作战实体、作战任务和实体作战规则;

3.如权利要求1所述的面向服务的群体行为并行仿真方法,其特征在于所述想定文档内容以文档类型定义DTD即Document Type Definition进行描述定义,校验文档的合法性时以DTD描述为校验标准。

4.如权利要求1所述的面向服务的群体行为并行仿真方法,其特征在于后台管理软件控制端采用Block分解方法将组织和作战实体即仿真对象平均分配到各个仿真结点上,Block分解方法是:

4.1设仿真对象的数量为m,仿真结点数为n,先对每个仿真结点均分配p个仿真对象,剩余r=m-np个仿真对象等待再分配,0≤r<n;

4.2剩下的r个仿真对象从第一个仿真结点开始,逐个分配到仿真结点上;前r个仿真结点分配p+1个仿真对象,其它仿真结点分配p个仿真对象,即第1个仿真结点分配第1,

2,...,p+1号仿真对象,第2个仿真结点分配第p+2,p+3,...,2p+2,依此类推。

5.如权利要求1所述的面向服务的群体行为并行仿真方法,其特征在于所述任务可以分解为更多的子任务或阶段任务,原子任务是指可以直接指派给仿真模型的任务,在当前想定中不可分解。

6.如权利要求1所述的面向服务的群体行为并行仿真方法,其特征在于所述并行仿真控制服务器采取传输压缩数据包的方式将仿真应用可执行程序分发到各仿真结点。

说明书 :

面向服务的群体行为并行仿真方法

技术领域

[0001] 本发明涉及虚拟现实领域的实体行为仿真方法,尤其是一种虚拟战场大规模群体行为并行仿真方法。

背景技术

[0002] 虚拟环境中群体是具有明确组织结构的一类实体的集合。群体内的实体具有共同的目标和较为固定的交互关系。一直以来,各个领域都非常重视对群体行为的研究和应用,例如计算机动画有对鸟群、鱼群的研究,公共场所的人流疏散、大型团体操的排练里面对人群的研究,医学里对鼠群的研究等等。利用对群体行为的研究和应用,人们解决了很多现实世界中的复杂问题。
[0003] 在军事领域亦是如此,战争问题的研究,离不开虚拟的战场环境的构建。现代战争是陆、海、空、天、电等多兵种一体化的联合作战,虚拟战场中兵力实体数目不断增多,实体之间既有复杂的组织指挥关系,又有高级的智能协同行为和自主行为,已有的以个体实体为中心的行为建模与表现方法已难以满足应用需求,群体行为仿真技术显得非常必要。与此同时,在人们对复杂、巨型系统(如基因工程、全球气候预报等)进行越来越深入的研究的时候,并行仿真的优势越来越突出。大规模虚拟战场环境中仿真实体成千上万,实体之间存在大量的交互关系,系统需要处理的数据量非常庞大,即使采用最快的单处理器(CPU)进行处理,也会严重影响仿真运行的时间和效率,使仿真失去应有的目的和意义。
[0004] 并行仿真是执行在共享内存多处理器、多计算机系统或单指令多数据流(SIMD)机器上的仿真,其目的是通过并行执行来获得更高的性能,即在保持系统因果序协同正确的前提下尽可能多地提高系统的运行效率。
[0005] 针对虚拟战场环境应用的大规模仿真实体行为仿真运行,传统的行为并行仿真方法一般采用一台多处理器计算机进行仿真计算的方式,其过程由仿真软件平台进行,可概括为三步:
[0006] (1)想定建模:在我军的军语中,想定是指按照训练课题对作战双方的企图、态势以及作战发展情况的设想和假定。想定建模就是在仿真硬件上建立行为仿真的初始化文件、群体的组织模型、群体的任务模型以及任务的执行规则。
[0007] (2)想定解析:仿真运行开始前,对想定中的初始化文件、群体的组织模型、群体的任务模型以及作战规则进行解析,并分配到各个处理器中处理。
[0008] (3)行为仿真计算:在仿真运行过程中,计算机依据实体模型库中的模型对每个群体单元进行行为解算,并将仿真结果汇总输出。
[0009] 传统的行为仿真方法采用的是多处理器大结点(处理器较多的计算机)小规模并行的行为仿真方法,由操作系统或仿真软件平台保证并行,当虚拟环境中仿真实体规模巨大,多处理器大结点计算资源有限,运算时间长,根本无法满足群体行为仿真的需求。
[0010] 美国国防部开发的行为仿真系统大多采用多处理器大结点这种行为仿真方法。这种仿真系统没有提供行为解析的后台服务机制,行为解算局限在单个结点中计算。当前多处理器大结点互联的集群系统已经普遍被采纳,传统的行为仿真方法不能适应硬件系统的发展趋势,不能最大程度满足仿真系统对时效性的进一步的要求,从而阻碍了应用的发展。之后,美国在开展大规模群体行为并行仿真系统建设时,开展了对群体行为并行仿真的研究,并将这些研究成果先后应用到联合仿真系统(JSIMS)、联合建模与仿真系统(JMASS)等多个重要仿真项目中,但他们的实现方法并未公开。
[0011] 国内开展行为建模与仿真技术研究的工作较晚,目前从国内公开的文献中仍未看到任何关于面向服务的群体行为并行仿真方法的报道。仅看到有关单结点行为建模仿真的研究,如国防大学研制的战争分析综合仿真试验环境,采取单结点串行的方式实现仿真实体的行为解析。这些方法均是结合具体仿真应用的,不能面向服务的群体行为进行统一的并行仿真,仿真应用数据的可重复利用性差,行为仿真局限在单个大结点,计算消耗时间长,仿真规模可扩展性也差,不能根本解决虚拟环境中大规模群体行为的并行仿真以及行为仿真应用数据的重复利用问题。

发明内容

[0012] 本发明要解决的技术问题是:针对行为仿真方法不能发挥多结点集群硬件资源效能、计算消耗时间长,仿真规模可扩展性差以及仿真数据可重复利用性差等问题,提出一种面向服务的群体行为并行仿真方法,以加快大规模虚拟环境中群体行为仿真应用的开发效率,提高并行仿真运行速度,增强仿真结果处理的实时性,且使得仿真规模可扩展,且仿真数据可重复利用。
[0013] 本发明的技术方案为:
[0014] 第一步,搭建软硬件环境,方法是:
[0015] 1.1在一台普通计算机上安装想定编辑器软件,作为想定建模编辑器。
[0016] 1.2构建由n+1台计算机组成的并行仿真集群。每台计算机都是并行仿真集群局域网的结点,各结点有独立的存储系统,结点之间的通信采用消息传递的方式。结点依次编号为0,1,2,...,n,其中,n为正整数。以0号计算机作为并行仿真控制服务器,安装后台管理软件控制端和实体模型库,并安装防火墙。1至n号计算机则安装后台管理软件客户端,作为仿真结点,用于行为仿真。
[0017] 1.3采用面向服务策略,在一台高性能服务器上安装规则解析服务软件,这台服务器成为规则解析服务器。
[0018] 1.4将想定建模编辑器、并行仿真控制服务器、各仿真结点、规则解析服务器通过并行仿真集群局域网进行连接。即将并行仿真控制服务器、各仿真结点和规则解析服务器都以以太网方式接入并行仿真集群局域网组成内网,以并行仿真控制服务器作为内网网关,安装防火墙,再将想定建模编辑器与并行仿真控制服务器连接。
[0019] 第二步,向想定建模编辑器输入想定数据,想定建模编辑器启动想定编辑器软件,由想定编辑器软件编辑想定数据中群体的组织结构、任务过程以及作战规则,并生成XML格式的想定文档。想定数据包括:作战单元描述、作战环境描述和作战行为描述。作战单元描述包括参与战争行为的组织结构与作战实体、隶属关系、兵力部署、增援或支援力量。作战环境描述包括地形、有战术意义的设施、气象、电磁环境。作战行为描述包括作战企图和作战任务。
[0020] 想定编辑器软件的流程如下:
[0021] 2.1新建想定,根据作战地域和规模选择对应的电子地图。在想定描述中添加想定的背景描述和作战企图。
[0022] 2.2设置想定的环境参数,包括地球模型参数,地形模型参数,气候天气参数。
[0023] 2.3在电子地图上划分战场区域,标示军事中的集结点、防线、雷区、染毒区、禁飞区、电磁覆盖区。
[0024] 2.4在想定中添加作战方、组织(即军事编制,包含作战实体或下一级组织)、作战实体(包括部队和武器平台)。设置作战实体的基本物理属性和战术属性这些详细参数数据。
[0025] 2.5为组织添加作战任务(任务是指一个有具体行动意图的独立过程),并建立作战任务层次规划图,即反映作战任务的包含关系和时序关系的图示。任务规划是依据作战的使命和资源约束建立完成使命的最佳行动过程,对应于军事领域中的军事行动过程COA(Course Of Action)的选择。任务规划中的任务允许包含多个子任务或阶段任务,但最终都要落实到具体的动作上。
[0026] 2.6为作战实体添加作战规则,作战规则是作战实体在仿真中的行动依据和规范,由规则结构、规则类别、触发条件、规则描述和触发动作构成。
[0027] 2.7设置仿真结束事件,可以为仿真时长、仿真对象状态或仿真事件。
[0028] 2.8进行想定校验,并以XML格式输出想定文档。想定校验主要检查组织结构的合理性,任务规划的可完成性和完备性。为了保证想定文档内容的规范性和一致性,想定文档内容以文档类型定义DTD(Document Type Definition,XML自带的文档类型定义,用于验证XML文档的合法性)进行描述定义。这种以标准XML格式描述的想定文档与仿真平台无关,可以多次重复使用,易于修改,避免重复开发。
[0029] 2.9将想定文档发送到并行仿真控制服务器。
[0030] 第三步,并行仿真控制服务器读取从想定建模编辑器接收的想定文档,生成各结点的配置文件,并生成仿真应用可执行程序。具体步骤如下:
[0031] 3.1后台管理软件控制端从想定建模编辑器接收想定文档,以DTD描述为校验标准,校验文档的合法性。如果为合法想定,则执行步骤3.2。如果不为合法想定,则停止读取并报告用户。
[0032] 3.2后台管理软件控制端根据XML的语法依次从想定文档中读取战场环境数据、作战各方的组织结构和作战实体、作战任务和实体作战规则。
[0033] 3.3后台管理软件控制端结合作战各方的组织结构和作战实体,对作战任务进行初步分解,即按组织结构将各任务的子任务分派给下级作战组织。
[0034] 3.4后台管理软件控制端采用Block分解方法根据仿真结点数目n和从想定文档中解析出的作战各方的组织结构和作战实体进行预分配,即将组织和作战实体(即仿真对象)平均分配到各个仿真结点上。仿真结点数越少,同一仿真结点上同时运行的仿真对象数也就越多,每个仿真步运行所需时间可能也就越长;仿真结点数越多,同一仿真结点上同时运行的仿真对象数越少,每个仿真步运行时间可能就越短。在仿真结点数规模逐步增大的过程中,计算开销占主导作用时,仿真运行速度一般会加快。但是当仿真结点数增大到一定程度,使得通信开销占主导作用时,仿真运行速度反而会变慢。为使整个仿真任务运行时间减至最小,需找出合适的分组规模来运行仿真。Block分解方法是:
[0035] 3.4.1设仿真对象的数量为m,仿真结点数为n。先对每个仿真结点均分配p个仿真对象, 剩余r=m-np(0≤r<n)个仿真对象等待再分配。
[0036] 3.4.2剩下的r个仿真对象从第一个仿真结点开始,逐个分配到仿真结点上。前r个仿真结点分配p+1个仿真对象,其它仿真结点分配p个仿真对象,即第1个仿真结点分配第1,2,...,p+1号仿真对象,第2个仿真结点分配第p+2,p+3,...,2p+2,依此类推。block分解方法保证了临近编号的仿真对象分配到相同的结点上。
[0037] 3.5后台管理软件控制端根据每个结点预分配的仿真对象编号将仿真对象指定到各个结点,并生成各结点的配置文件,并根据实体类型列表文件中涉及到的所有实体类型,从仿真模型库(事先构造完成的,存放了仿真中可能用到的各种仿真模型的源代码或二进制码)中选择模型,编译并链接生成仿真应用可执行程序(所有结点使用同一程序)。
[0038] 配置文件包括实体类型列表文件、组织结构描述文件、实体初始参数文件、作战任务规则文件,以及平台配置文件。实体类型列表文件包括仿真中涉及的所有实体类别;组织结构描述文件描述所有作战方的编制结构;实体初始参数文件描述作战实体物理参数初始化数据,作战任务规则文件仍以XML进行描述。仿真应用可执行程序包含了组织模型和实体模型,对应于想定中所设定的组织结构和作战实体。仿真模型库中的模型经过一次开发,可以多次利用,保证了系统的可重用性,降低了仿真开发难度。
[0039] 3.6后台管理软件控制端将组织结构描述文件、实体初始参数文件和作战任务规则文件发送到规则解析服务器。
[0040] 第四步,规则解析服务器运行规则解析服务软件,依据从并行仿真控制服务器获得的组织结构描述文件、实体初始参数文件和作战任务规则文件构建行为规则库和任务层次规划图。具体步骤如下:
[0041] 4.1规则解析服务软件根据从并行仿真控制服务器获得的实体初始参数文件和作战任务规则文件里包含的各自能够完成的任务或可执行的动作,整理创建一个可完成任务集合(即这些可完成任务和动作组成的集合)。从而每级组织(由隶属同一编制的作战实体或下一级组织组成)都明确知道自己所能够完成的任务集合。
[0042] 4.2规则解析服务软件将从并行仿真控制服务器接收到的作战任务规则文件保存在本地,作为行为规则库。
[0043] 4.3规则解析服务软件根据并行仿真控制服务器发送来的作战任务规则文件重建层次任务规划图,方法是:以作战任务为结点,以任务的关系为边建立有向图。任务可以分解为更多的子任务或阶段任务,原子任务在当前想定中不可分解(原子任务是指可以直接指派给仿真模型的任务)。
[0044] 第五步,并行仿真控制服务器分派仿真应用可执行程序,启动仿真并统计数据,在仿真过程中,规则解析服务软件采用任务层次规划与行为规则搜索相结合的策略向仿真结点提供任务与规则解析服务。具体步骤如下:
[0045] 5.1后台管理软件控制端将配置文件和仿真应用可执行程序分发到1至n号仿真结点。后台管理软件客户端接收配置文件和仿真应用可执行程序,并启动各个仿真结点的仿真应用可执行程序。仿真应用可执行程序通过读取本地的配置文件进行仿真运算。对于同一个仿真应用来说,部署到各仿真结点上的仿真样本之间仿真应用可执行程序均相同,仅配置文件不同。为减少网络通信量,缩短分发时间,并行仿真控制服务器采取传输压缩数据包的方式将仿真应用可执行程序分发到各仿真结点。
[0046] 5.2当所有仿真结点上的仿真样本开始运行后,并行仿真控制服务器上的后台管理软件控制端每隔一段时间T(T为5-8秒)向后台管理软件客户端收集各个仿真结点上仿真样本运行数据,并对仿真样本运行数据进行记录。
[0047] 5.3仿真结点上的各级组织模型以链表方式维护一个任务队列。每个仿真步内任务队列非空的组织取出队列中第一个任务,以该任务为参数,向规则解析服务器请求任务分解和决策。规则解析服务软件根据层次任务规划图将任务分解为下一级子任务或阶段任务,然后根据敌情描述和下级组织的可完成任务集合进行决策,确定组织间的各种协同关系,包括指挥关系、支援关系和通讯关系,并将决策结果返回给请求组织,由组织进一步将决策结果向下级指派。规则解析服务软件将基层组织的任务分解为原子任务,而不是子任务或阶段任务,然后再将这些原子任务指派给组织的实体成员。
[0048] 5.4各个仿真结点上的仿真对象接收到原子任务后,根据战场态势向规则解析服务器请求作战规则搜索和决策。规则解析服务软件先进行并行计算,从本地选出一条作战规则,并返回给实体,实体依据这条作战规则所规定的控制条件来控制实体的动态行为。具体步骤如下:
[0049] 5.4.1作战实体依据战斗状态和原子任务向规则解析服务器请求规则解析。规则解析服务软件先进行并行计算,选出所有条件满足(即规则条件的值为真)的作战规则。再选择出一个优先级最大的作战规则,得到作战规则的原子动作序列。最后返回原子动作序列。
[0050] 5.4.2每个仿真步作战实体执行自己的原子动作序列。当作战实体接收到操作员的外部命令时,依据外部命令行动。当无操作员的外部命令时,作战实体依据作战规则行动。
[0051] 第六步,如果后台管理软件控制端截获结束事件,则通知所有的后台管理软件客户端结束仿真,后台管理软件客户端结束仿真后,将仿真运行数据发送给后台管理软件控制端,并由后台管理软件控制端将数据统计输出。
[0052] 与现有技术相比,采用本发明可达到以下技术效果:
[0053] 1.本发明基于面向服务的开发策略实现了群体行为并行仿真方案,仿真数据以标准XML文档进行组织,可重复利用仿真历史数据,在仿真应用开发时可以重复利用以往的应用开发代码,并且不需要关注行为仿真的过程,提高了并行仿真应用的开发效率,减少了重复人力开发资源。
[0054] 2.想定、仿真与规则解析分别由想定建模编辑器、并行仿真集群和规则解析服务器完成,使得三个任务实现了分离,消除了三者间的依赖,降低了仿真开发难度,提高了系统的可维护性和稳定性。
[0055] 3.本发明基于多处理结点互联集群实现群体行为并行仿真方案,可以充分利用目前多处理结点互联集群的硬件资源,克服了单结点的计算资源有限的瓶颈,增强了仿真规模的可扩展性,提高并行仿真计算效率和群体行为仿真的实时性。
[0056] 4.本发明基于任务层次规划与行为规则搜索相结合的策略实现群体行为的仿真计算,既方便群体行为的描述与解析,又有利于行为规则库的建立,方便行为规则的重复利用。
[0057] 本发明有效地解决了传统的群体行为仿真应用重复开发、仿真运行过程效率低的问题,达到了既提高仿真运行效率,又便于仿真应用开发数据的有效组织和重复利用。

附图说明

[0058] 图1是本发明第一步构建的系统结构图;
[0059] 图2是本发明的总体流程图;
[0060] 图3是本发明第二步生成想定文档的流程图;
[0061] 图4是本发明第三步并行仿真控制服务器生成仿真应用可执行程序的流程图;
[0062] 图5是本发明第五步并行仿真控制服务器分派仿真应用可执行程序,启动仿真并统计数据,在并行仿真运行过程中,采用任务层次规划与行为规则搜索相结合的策略向仿真结点提供任务与规则解析服务的流程图。

具体实施方式

[0063] 图1是本发明的硬件系统结构图:主要由想定编辑器,并行仿真集群和规则解析服务器三部分构成。其中,想定编辑器由普通台式机构成,安装有想定编辑器软件;并行仿真集群由一般多处理器计算机以以太网的方式构成,每台计算机都是并行仿真集群局域网的结点,各结点有独立的存储系统,结点之间的通信采用消息传递的方式。结点依次编号为0,1,2,...,n,其中,n为正整数。以0号计算机作为并行仿真控制服务器,安装后台管理软件控制端和实体模型库,并安装防火墙。1至n号计算机则安装后台管理软件客户端,作为仿真结点,用于行为仿真。规则解析服务器。想定编辑器接收想定数据,再以标准的XML文档形式发送到仿真控制服务器,作为并行仿真的初始化数据。仿真控制服务器对想定的XML文档进行解析,生成并行仿真配置文件和可执行程序,然后分发到并行仿真集群中的各个仿真结点上,并启动并行仿真,最后对仿真结果进行收集统计。仿真过程中,集群中的仿真结点向规则解析服务器请求规则解析,规则解析服务器再将计算结果返回给请求的各个仿真结点。
[0064] 图2是本发明的总体流程图:主要包括以下六个步骤:
[0065] 第一步,搭建群体行为并行仿真软硬件环境。
[0066] 第二步,向想定编辑器软件输入想定数据,想定编辑器软件编辑想定数据中群体的组织结构、任务过程以及群体任务的执行规则,生成想定文档。
[0067] 第三步,并行仿真控制服务器对从想定建模编辑器接收的想定文档进行解析,生成各结点的配置文件,并生成仿真应用可执行程序。
[0068] 第四步,规则解析服务器建立个体行为规则库和任务层次规划图。
[0069] 第五步,并行仿真控制服务器分派仿真应用可执行程序,启动仿真并统计数据,规则解析服务软件采用任务层次规划与行为规则搜索相结合的策略向仿真结点提供任务与规则解析服务。
[0070] 第六步,如果设置的仿真结束事件触发,则结束仿真,并输出统计数据。
[0071] 图3是第二步群体行为仿真想定编辑的流程图:
[0072] 1.新建想定,根据作战地域和规模选择对应的电子地图。在想定描述中添加想定的背景描述和作战企图。
[0073] 2.设置想定的环境参数,包括地球模型参数,地形模型参数,气候天气参数。
[0074] 3.在电子地图上划分战场区域,标示军事中的集结点、防线、雷区、染毒区、禁飞区、电磁覆盖区。
[0075] 4.在想定编辑器软件中添加作战方、组织、作战实体。设置作战实体的基本物理属性和战术属性这些详细参数数据。
[0076] 5.为组织添加作战任务,并建立作战任务层次规划图。
[0077] 6.为作战实体添加作战规则,作战规则是作战实体在仿真中的行动依据和规范,由规则结构、规则类别、触发条件、规则描述和触发动作构成。
[0078] 7.设置仿真结束事件。
[0079] 8.进行想定校验,并输出想定文档。
[0080] 9.将想定文档发送到并行仿真控制服务器。
[0081] 图4是第三步并行仿真控制服务器后台管理软件控制端解析想定,生成仿真应用可执行程序的流程图:
[0082] 1.从想定建模编辑器接收想定文档,校验文档的合法性。如果为合法想定,执行第2步,如果不是合法想定,则停止解析。
[0083] 2.依次从想定文档中读取战场环境数据、作战各方的组织结构和作战实体、作战任务和实体作战规则。
[0084] 3.结合作战各方的组织结构和作战实体,对作战任务进行初步分解,即按组织结构将各任务的子任务分派给下级作战组织。
[0085] 4.根据仿真结点数目n和从XML文档中解析出的作战各方的组织结构和作战实体进行预分配,即将组织和作战实体尽可能平均分配到各个仿真结点上。
[0086] 5.根据每个结点预分配的仿真对象数量将仿真对象指定到各个结点,并生成各结点的配置文件,根据涉及到的所有实体类型,从仿真模型库中选择模型,编译并链接生成仿真应用可执行程序。
[0087] 6.将组织结构描述文件、实体初始参数文件和作战任务规则文件发送到规则解析服务器。
[0088] 图5是第五步仿真运行的流程图:
[0089] 1.后台管理软件控制端将配置文件和仿真应用可执行程序分发到1至n号仿真结点,并启动仿真程序。
[0090] 2.当所有仿真结点上的仿真样本开始运行后,后台管理软件控制端对仿真状态数据进行记录,并通过并行仿真服务器每隔一段时间T(T为5-8秒)收集各个仿真结点上仿真样本运行数据,并对仿真样本运行数据进行记录。
[0091] 3.仿真运行过程中,各级组织维护一个自己的任务队列。每个仿真步内任务队列非空的组织向规则解析服务器请求任务分解和决策。规则解析服务器根据层次任务规划图将任务分解为下一级子任务或阶段任务,然后根据敌情描述和下级组织的可完成任务集合进行决策,确定组织间的各种协同关系,包括指挥关系、支援关系和通讯关系,并将决策结果返回给请求组织,由组织进一步将决策结果向下级指派。基层组织的任务的分解略有不同,服务器将这种任务分解为原子任务,而不是子任务或阶段任务,然后指派给组织的作战实体成员。
[0092] 4.作战实体接收到原子任务后,根据战场态势向规则解析服务器请求作战规则搜索和决策。规则解析服务软件先进行并行计算,从本地选出一条作战规则,并返回给作战实体,作战实体依据这条规则所规定的控制条件来控制作战实体的动态行为。方法如下:
[0093] 4.1作战实体依据战斗状态和原子任务向规则解析服务器请求规则解析。规则解析服务软件先进行并行计算,选出所有条件满足(即规则条件的值为真)的规则。再选择出一个优先级最大的规则,得到规则的原子动作序列。最后返回原子动作序列。
[0094] 4.2每个仿真步作战实体执行自己的原子动作序列。当作战实体接收到操作员的外部命令时,依据外部命令行动。当无操作员的外部命令时,作战实体依据作战规则行动。