作战推演系统中的Holon多分辨率建模方法研究
2016-12-16韩翃康凤举王圣洁
韩翃, 康凤举, 王圣洁
(1.西北工业大学 航海学院, 陕西 西安 710072; 2.西北工业大学 水下信息与控制重点实验室, 陕西 西安 710072)
作战推演系统中的Holon多分辨率建模方法研究
韩翃1,2, 康凤举1,2, 王圣洁1,2
(1.西北工业大学 航海学院, 陕西 西安 710072; 2.西北工业大学 水下信息与控制重点实验室, 陕西 西安 710072)
作战推演是武器系统效能评估研究的重要手段,而多分辨率建模是作战推演系统构建技术的研究热点之一。现有的聚合解聚、视点选择多分辨率建模方法缺乏对模型间层次结构的描述,难以实现系统运行时模型分辨率的自适应变换,因此无法兼顾模型精度与系统负载。针对上述问题,引入Holon概念,提出一种新的Holon多分辨率建模方法。研究了Holon多分辨率模型系统的组织结构及其形式化描述,给出了其结构演化的规则,提出了一种基于满意度的自适应分辨率变换机制,设计了支持Holon多分辨率建模的软件运行体系结构及关键服务。将Holon多分辨率建模方法应用于海军武器装备体系战役推演系统中,通过对比聚合解聚和视点选择方法,验证了新方法在保持了较好模型间一致性的同时,有效降低了系统的负载。
仿真科学技术; 多分辨率建模; 作战推演系统; Holon
0 引言
对武器系统效能评估的有效方法是在对抗环境下,以特定的作战想定为背景进行作战推演。作战推演系统作为一种运用现代系统仿真技术来对武器系统效能评估进行研究的军用系统,已经受到世界各国的重视和发展。
由于现代战争的规模较大,作战推演系统中包括战略、战役以及战术等多个层次,同时在推演的不同阶段,不同用户对系统所能提供的实体状态信息有着不同的需求层次。因此多分辨率建模方法在推演系统中得到了广泛的应用。然而传统的多分辨率建模方法存在未能足够关注模型间层次结构的描述,无法同时兼顾模型分辨率变化时的精度和系统资源负载,难以实现仿真系统运行中模型分辨率的自动切换等问题[1-14]。
Holon是一个在智能制造领域得到广泛应用的一个概念。Holon这个词最早出现在Koestler所著的《The Ghost in the Machine》[15]一书中。字面意思是“整体-部分”。它描述的是层次化系统中同时具有“整体”和“部分”属性的一种稳定结构。一个Holon是“整体”还是“部分”取决于外界的观察角度或者是使用需求。而由多个Holon通过协作构成的Holon系统具有递归的层次结构。利用Holon的特殊属性,可以提高制造系统的稳定性以及资源利用率,同时在内外环境发生变化时,制造系统能够具有自适应性和柔性[16-17]。
将Holon概念引入多分辨率建模领域,本文提出一种新的Holon多分辨率建模方法。该方法将同一实体的不同分辨率模型描述为若干具有自治性和协作性的多分辨率Holon(MRH),并形成层次化的组织结构。通过MRH自组织及层次结构的演化,可以实现多分辨率模型系统根据负载及用户需求灵活的调整系统内运行模型的数量,从而有效降低系统负载,同时最大限度的保证了多分辨率模型间的一致性。
下面从系统组织结构、演化、软件框架及实验等几个方面对Holon多分辨率建模方法进行论述。
1 Holon多分辨率模型的组织结构
1.1 组织结构
Holon多分辨率模型系统是由属于不同分辨率层次的若干MRH所构成。系统中的一个实体模型是由描述该实体不同分辨率的模型所构成,每一个分辨率层次的模型都是由一个或多个MRH所构成。在某一给定分辨率的模型中,一个MRH就是该层次模型中最小的功能单元。
在两个分辨率相邻的模型中,一个低分辨模型的MRH包含若干高分辨率模型的MRH. 低分辨率模型MRH称为上级多分辨率Holon(Super-MRH),对应的高分辨率模型的MRH称为下级多分辨率Holon(Sub-MRH)。从不同的视角对一个MRH进行观察,其“整体”和“部分”的属性是可以转化的。自上而下来看,一个MRH包含多个分辨率更高的低层下级MRH,此时该MRH是作为一个具有独立功能的整体;自下而上来看,一个MRH属于一个分辨率更高的上级MRH,此时该MRH是作为上级MRH整体功能中的一个部分,需要与相同层次并且同属于这个上级MRH的其他MRH进行协作来实现上级MRH的功能。
一个Holon多分辨率模型系统的组织结构如图1所示。
图1 Holon多分辨率模型系统组织结构示意图Fig.1 Structural diagram of Holon multi-resolution model system
图1给出了一个具有两个实体模型的Holon多分辨率系统的组织结构示意图。其中每个实体都包含3个不同层次分辨率的模型,分辨率从低到高分别标示为1级、2级和3级。
MRH的特点包括:
1)独立性。MRH要有特定的功能,能够独立完成某些任务。这是MRH作为多分辨率模型中基本元素的必要条件。没有特定功能或者不借助其他部件就无法完成任何任务的MRH是不存在的。
2)“整体”和“部分”的双重属性。一个MRH可以包含比自身分辨率更高的下级MRH,同时也可以属于分辨率比自身更低的上级MRH. 这种双重属性正是Holon多分辨率模型系统层次化的来源。
3)协作性。除了不同层次MRH之间的包含和从属关系,相同层次的MRH还具有协作关系。MRH通过协作可以实现模型分辨率的动态变化。
4)相似性。MRH的相似性主要指上下级MRH之间的相似。这种相似可以是功能相似,也可以是结构相似,甚至可以是抽象概念上的相似。这种相似性是为了保证模型的分辨率发生改变的时候,相关模型的数据、结构等能够尽量平稳,便于不同分辨率模型间一致性的维护。
构建一个MRH所必须的要素包括:
1)核心功能。核心功能是MRH作为一个独立个体必须的能力。
2)上级MRH和下级MRH索引。一个MRH必须知道自身在多分辨率模型系统中的层级关系。
3)属性一致性保持功能。一个MRH需要能够在其生命周期内保持与其他层次的MRH一致的属性。
1.2 形式化描述
根据离散事件系统规范(DEVS)[18],一个Holon多分辨率模型系统可以描述为
单个MRH的描述如下:
下面给出Holon多分辨率模型系统各组成部分的含义:
X、Y分别为系统的输入集合和输出集合,其含义与DEVS耦合模型中的两个集合一致;
E为系统中全部实体的集合,包括具有多分辨率模型的实体和一般实体。
在该系统中,每个实体所包含的模型分辨率等级(层次)是不同的,并且对系统进行修改后,实体所包含模型分辨率等级也可能发生变化。因此需要在系统初始化的时候对模型分辨率层次统一进行标注。标注方法是找到系统中分辨率层次最多的那个实体,将其层次从低到高标注为(1,2,…,γ),其他实体只需将各自模型的分辨率层次对应标注即可。例如:系统包含飞机和舰艇两个实体模型,飞机模型包含编队、平台、武器3个分辨率等级,而舰艇模型只包含平台和武器两个分辨率等级,那么飞机模型的分辨率层次为(1,2,3),舰艇模型的分辨率层次为(2,3),γ此时为3.
一个实体虽然包含多个不同分辨率的模型,这些模型也可能并发运行,但是从系统外部对模型进行观察时,每次只需要其中一个特定层次分辨率模型的运行结果,因此ω表示为当前实体所表达的分辨率等级。当ω变化时,会引起MRH之间关系的变化。
2 Holon多分辨率模型系统的演化
如前文所述,在Holon多分辨率模型系统中,一个实体是由若干MRH构成,这些MRH按照分辨率的层次进行组织。在系统运行时,同时运行这些MRH显然能够很便捷地切换模型的分辨率,但是这样是极其耗费资源的。除了每个MRH占据的运行资源,不同层次间MRH为了维护一致性而消耗的资源也是很大的,同时也会给系统带来更多的不稳定性因素。因此提出一种自适应分辨率变化机制,根据系统实际的运行状态和用户使用情况,模型能够自由改变MRH的运行状态,实现分辨率的自适应改变,从而节约系统资源,提高系统稳定性。
下面首先研究Holon多分辨率模型系统中分辨率变化的触发以及相应模型分辨率变化的机制,然后研究MRH组织结构的演化过程,最后提出一种面向资源的基于MRH满意度的自适应分辨率变换机制来满足Holon多分辨率模型系统对提高资源利用率的需求。
2.1 模型分辨率变化的触发
在Holon多分辨率模型系统中,触发分辨率变化的情况有以下3种:
1)用户需求触发。这是整个系统中优先级最高的触发条件。
2)实体交互触发。在不同分辨率实体之间发生交互的时候,触发的分辨率变化。
3)系统资源触发。这是在MRH以节约系统资源为目标或者某些MRH缺乏运行资源的情况下触发。
其中模型分辨率变化由用户需求触发,是指在系统运行过程中,由用户来指定分辨率的改变,这种改变包括什么时间改变,以及改变是从高分辨率模型变为低分辨率模型还是相反。
综合考虑用户各种可能的使用情况,总结以下4种用户需求触发的模型分辨变化机制:
1)用户指定全仿真周期内固定分辨率。在这种情况下,删除其他分辨率的MRH,只保留用户所指定分辨率的MRH.
2)由用户实时选择的分辨率。在这种情况下,将分辨率变化之前的MRH挂起,只做内部更新,不与外界发生交互。例如用户选择在某一时刻将某一实体的低分辨率模型转换为高分辨率进行观察,则挂起该实体的低分辨率模型。
3)模型分辨率变化由实体交互触发是指两个交互实体的分辨率不一致时,需将两个实体分辨率进行统一后,再进行交互。这时需要考虑两种情况:
①仅有两个实体交互。当仅有两个实体进行交互时,统一两个实体模型的分辨率后,将各自不需要的那个分辨率MRH挂起。
②一个实体与两个以上实体同时交互。当与一个实体发生交互的实体大于1的时候,与该实体交互的模型可能属于不同的分辨率层次,此时不需要统一所有模型的分辨率,只需要将共享交互实体的高、低分辨率MRH并发运行,其他实体保持原有的分辨率即可,从而避免系统中大量模型的分辨率连锁变化。
4)模型分辨率变化由系统资源触发是指MRH根据系统运行状态和自身对资源的需求等情况自适应地改变模型的分辨率,从而减少系统对资源的需求,降低复杂度,提高系统稳定性。在Holon多分辨率模型系统运行的初始状态,所有层次的MRH同时加载,之后系统将根据以下3种状态来改变模型的分辨率:
①在没有强制保持分辨率要求的情况下,模型运行的时间到达一定预设长度,则将高分辨率模型挂起。
②在系统资源紧张同时没有强制保持分辨率要求的情况下,将高分辨率模型挂起。
③模型分辨率在短时间内频繁切换,则允许高、低分辨率MRH并发运行。
2.2 MRH组织结构演化及一致性问题
如2.1节所述,Holon多分辨率模型系统在初始运行时,高、低分辨率的MRH同时加载,随着系统的运行,高、低分辨率的MRH之间可以产生如下4种结构演化:
1)高、低分辨率MRH并发运行;
2)低分辨率MRH运行,高分辨率MRH挂起;
3)高分辨率MRH运行,低分辨率MRH挂起;
4)低分辨率MRH运行,高分辨率MRH删除。
在研究高、低分辨率MRH之间的结构演化之前,首先对允许发生演化的层次进行说明。
在Holon多分辨率模型系统中,由于MRH构成了层次化的树形结构,低分辨率MRH为父节点,高分辨率MRH群组为子节点,因此系统中不存在高分辨MRH运行而低分辨率MRH被删除的结构。这种情况相当于父节点被删除,Holon多分辨率模型系统的层次结构会因此被破坏。同时,分辨率的变化仅发生在处于层次结构最底层叶子节点的MRH群组和其父节点上级MRH之间,或者叶子节点和将要加入的新叶子节点之间。这是为了避免更高层次MRH结构的改变引起其子节点连锁变化而为系统带来巨大的结构变化,从而保证系统整体的稳定性。同时越上层的MRH分辨率越低,保持上层MRH并发运行所需的资源相对较少,因此Holon多分辨率模型系统的结构演化是从叶子节点最高分辨率MRH开始的。只有当最高分辨率的MRH被删除后,系统的结构演化才会发生在更高一层的MRH群组(当前的叶子节点)和其上级MRH中。同理可知,如果在删除高分辨MRH群组之后,想要从低分辨率MRH恢复这些高分辨率的MRH时,则需要当前的低分辨率MRH为叶子节点。Holon多分辨率模型系统中允许发生结构演化的层次限制如图2中虚线所示。
图2 系统中允许发生结构演化的层次示意图Fig.2 Allowable hierarchy of structural evolution in the system
下面就上述4种结构演化中MRH的行为以及模型间的一致性进行详细说明。
1)高、低分辨率MRH并发运行。
在这种情况下,高、低分辨率MRH需要在每一个仿真步长都进行模型一致性的维护。当实体与外部没有交互的时候,上级MRH通过接收下级MRH群组提供的数据进行自身的属性更新。上级MRH需要将接收的多个高分辨率属性聚合为自身可用的低分辨率属性值。
当实体与外部发生交互时,交互会同时影响高、低分辨率MRH. 此时的一致性维护会在以下几方面对交互结果产生不良影响:
①考虑在一个分辨率MRH发生的交互能改变与分辨率相关的属性时,另一个分辨率的MRH交互同时也访问或者改变这些属性,就会造成两个交互在属性操作上的冲突。例如:一个实体的低分辨率MRH发出一个交互Il,该交互能改变与分辨率相关的属性为{Al},这些属性在高分辨率MRH中对应的属性为{Ah},在{Ah}进行更新的时候,高分辨率MRH又发出一个交互Ih,该交互也要改变属性或者访问{Ah},此时就会造成属性值的混乱;
②考虑同态交互的问题。同态交互是指一个事件在不同分辨率MRH中的表现。当一个分辨率的MRH发生交互时,另一个分辨率的MRH中也存在一个相应的同态交互。例如:一个低分辨率的舰艇编队模型收到被攻击的交互,需要对编队中舰艇的损失进行计算。那么高分辨率的舰艇模型也会收到一个被攻击的交互,需要对舰艇的损失进行计算。这两个交互就是同态交互。可以看出,同态交互也会对同一实体的不同分辨率模型的属性形成操作上的冲突。造成同态交互问题的原因是一个实体同时接收了高、低分辨率模型发来的交互。
为了避免以上两种情况的发生,MRH在交互信息中要增加与该交互相关的属性集信息和交互发送者的分辨率等级信息。这样当一个交互发生时,与该交互相关的属性成为该交互的独占资源,其他交互只能排队等待访问,从而解决不同分辨率模型同时操作与分辨率相关属性造成的混乱。另外,由于有了交互发送者的分辨率等级信息,那么接收该消息的只能是分辨率等级相同的MRH,这也就避免了同态交互问题。
2)低分辨率MRH运行,高分辨率MRH挂起。
在这种情况下,被挂起的高分辨率模型不再与外部进行交互,仅周期性的计算上级MRH需要的低分辨率属性值并发送至上级MRH,以保证上级MRH相关属性的精确性。低分辨率的上级MRH中的属性如果由于交互而发生变化,则将改变后的属性值通过解聚运算分发至下级MRH,供其更新高分辨率MRH的相应属性。此时还维持下级MRH的属性更新是为了让用户在查看高分辨率属性时得到更好的响应速度。在高分辨率MRH需要恢复的时候,重新建立MRH群组与外部的联系即可。
通过这种机制,系统释放了部分的通信压力以及模型间一致性维护的资源消耗,而且还尽可能的保持了高、低分辨率MRH间的一致性。
3)高分辨率MRH运行,低分辨率MRH挂起。
在这种情况下,被挂起的低分辨率模型除了与自身的上级MRH交互外,不再与外部进行交互。高分辨率模型不再持续维护与之的一致性,仅在交互发生后对上级MRH进行属性更新。此时还维持上级MRH的属性更新是为了让用户在查看低分辨率属性时得到更好的响应速度。同时比上级MRH更高层次的低分辨率模型也需要得到相应的更新信息,但是由于分辨率更低,因此仅在交互发生时更新是可以满足其需求的。在低分辨率MRH需要恢复的时候,重新建立该MRH与外部的联系即可。
4)低分辨率MRH运行,高分辨率MRH删除。
这种结构是对资源的彻底释放,不需要再进行一致性的维护。在恢复高分辨率MRH时需要进行重新的初始化,这会对不同分辨率模型间的一致性带来较大影响。但是一般在演化至这种结构的时候,都是基于系统的判断,系统对于高分辨率的模型运行需求不高才会放弃该模型,用户无法直接操作。
2.3 基于满意度的自适应分辨率变换机制
在研究了模型分辨率变化触发机制以及结构演化后,下面给出支撑Holon多分辨率模型系统中分辨率改变和结构演化的基于MRH满意度的自适应分辨率变换机制。
首先给出满意度的定义。满意度是指MRH在系统中被需要的程度,它是由MRH在无外部交互情况下的运行时间、外部交互请求或用户指令,以及资源占有程度这几个方面共同决定的。
满意度表示了一个MRH或者MRH群组当前运行状况对系统贡献程度的大小,如果满意度高,说明系统需要当前分辨率的MRH,相反,如果满意度降低,则系统趋向于不需要这个MRH或者MRH群组。在系统初始化的时候,满意度被赋予一个固定值Sa0(一般值取1),当MRH的满意度下降到一个预设值M时,MRH将被挂起,如果下降到一个预设值M′(M′ MRH在无外部交互情况下的运行时间对满意度是一个负激励,即MRH在无外部交互情况下的运行时间越长,满意度越低。这个时间可以用仿真步长来进行衡量,设当前MRH的满意度为San,下一个仿真步长的满意度为San+1,k为仿真满意度递减值。则有 San+1=San-k,n=0,1,…. (1) 外部交互请求或者用户指令对于MRH的满意度来说是一个正激励,无论是外部交互请求还是用户的指令,都可以视为对一个MRH的需求。那么无论一个MRH或MRH群组是处于挂起还是运行状态,当需求产生时,其满意度恢复为初始值Sa0. 资源占有程度决定了满意度递减值k的大小,资源占用越多的MRH,其满意度随时间推移递减的越快。那么资源占有程度如何来衡量呢?一个MRH所占有的资源包括CPU运算资源、内存占用资源、网络通信资源等,由于运行环境的复杂性,这些参数之间的变化关系也很复杂,无法利用它们来衡量一个MRH对资源的占有程度。在Holon多分辨率模型系统中,这些资源综合作用产生的效果确是可以衡量的,那就是在一个仿真步长内处理一个MRH运行所用的时间。因此处理MRH运行的时间t越长,则k值越大。设系统所有MRH运行时间总和为T,则对于单个MRH有 (2) 式中:c为调整系数,用于调节系统满意度递减的幅度,从而调整系统自适应改变分辨率的敏感性。 对于MRH群组有 (3) 下面通过一个实例来说明满意度是如何驱动系统演化的。 图3描述了一个飞机编队A通过一段巡航,到达作战区域3,与一个舰艇编队S和飞机编队B发生战斗,作战结束后,A继续向降落目的地4飞行。其中飞机编队A是一个具有高、低两个分辨率模型的实体,舰艇编队S是低分辨率模型实体,飞机编队B是高分辨率模型实体。图3中位置1、位置2之间的阴影部分表示A通过时需要运行高分辨率模型。 图3 满意度驱动系统演化示意图Fig.3 System evolution driven by satisfaction 实体A的演化过程如下: 1)在初始状态下,A的结构是高、低分辨率MRH并发运行。低分辨率模型是上级MRH,高分辨率模型是下级MRH群组,由4架飞机模型组成,其中一架飞机为H-MRH,其余为P-MRH. 此时满意度Sa由H-MRH计算,初始值为Sa0. 满意度阈值为M和M′(M′ 2)当A运行至位置1时,满意度Sa 3)当A运行至阴影位置时,满意度M′ 4)当A通过阴影区域至位置2时,由于上级MRH所占用的资源少,所以其满意度Sa′的递减速率小于Sa,此时Sa 5)当A到达位置3时,满意度M′ 6)随着时间推移,A脱离了舰船编队S的攻击,但是还没有摆脱B. 此时A的低分辨率上级MRH失去交互需求,Sa′开始递减。当Sa′ 7)战斗结束,A返航,在位置4的时候,高分辨率MRH的满意度Sa 8)当Sa 3.1 运行体系结构的设计 基于Holon多分辨率模型的软件系统中,不同分辨率的MRH构成了系统中的实体。一个实体中处于不同层次的MRH之间需要通过属性映射来保持相互之间的一致性。而所有的MRH及其组成的实体需要有一个统一的部件来进行管理。该部件负责维护MRH之间的层次结构以及属性更新消息的转发等功能。系统的运行体系结构图如图4所示。 图4 Holon多分辨率模型系统运行体系结构Fig.4 System architecture of Holon multi-resolution model 3.2 MRH属性映射服务 多分辨率模型系统中不同分辨率模型之间的一致性是通过属性的映射来维护的。在Holon多分辨率建模方法中,一致性的维护是由MRH中的属性映射服务通过接收属性更新消息并根据不同的消息种类完成不同的处理流程来实现的。 MRH属性映射服务的软件框架如图5所示。 图5 MRH属性映射服务软件框架Fig.5 MRH attribute mapping service software framework MRH中的属性可以分为两类:一类是分辨率无关属性,另一类是分辨率相关属性。分辨率无关属性是MRH自身维护的属性,其变化不会影响自身以外的其他MRH的属性。分辨率相关属性是一个实体的同一属性在不同分辨率的模型中应该有对应的属性表示,也被称为同态属性。MRH中的属性映射服务的对象是分辨率相关属性。 一个MRH中与分辨率相关的属性发生更新可能来自于以下3种不同的激励: 1)内部状态更新激励。一个MRH在没有交互发生的情况下,随着时间推移,其部分的分辨率相关属性会收到来自MRH内部的状态更新激励,属性值被更新。 2)交互激励。当一个MRH发出或者接受到一个交互的时候,其部分的分辨率相关属性会由于交互的影响而发生改变。 3)一致性维护激励。当一个MRH相邻的高分辨率模型或者低分辨率模型中的分辨率相关属性发生更新时(无论是由什么激励产生),该MRH中相应的同态属性将被更新。 MRH的分辨率相关属性更新映射流程是: 1)属性收到更新消息,首先检查该属性是否处于锁定状态;如果该属性被锁定,说明该属性正在被其他激励产生的消息所更新。此时将更新消息加入消息队列进行排队等待。直到本次消息可以被处理。如果属性没有被锁定,则检查更新消息缓冲队列是否为空。如果队列为空,则直接读取消息更新内容对属性加锁并进行更新;如果不为空,则将消息加入缓冲队列等待处理。 2)更新属性时,需要判断更新消息的激励种类。如果是内部状态更新激励和交互激励,则更新属性,并向上级MRH以及下级MRH均发送一条种类为一致性维护的激励,属性值为更新后的最新属性;如果是一致性维护激励,更新属性后,则需判断消息的发送者是上级还是下级MRH,向非消息来源那个层次的MRH发送一致性维护属性更新消息,从而避免循环映射。 3)更新结束后,解锁被更新属性,使其状态变为可更新,之后从更新消息缓冲队列中读取下一条消息进行下一次属性更新流程。如果消息缓冲队列中没有待处理的消息,则继续循环等待新消息的到来,直至仿真结束。 一个MRH在仿真运行的过程中可以有3种状态:运行状态、挂起状态和删除状态。不同状态下的属性映射的频率有所不同。其详情如下: 1)在运行状态下,每个仿真步长都执行一次属性更新。 2)在挂起状态,对于内部状态激励的更新消息,每个仿真步长更新,但并不在每次更新都向上、下级MRH发送一致性维护消息,而只在设定的频率下向外发送,从而降低通讯负载。在挂起状态,MRH没有外部交互,因此也不需要处理交互激励的属性更新消息。对于一致性维护更新消息,也不需要每个仿真步长进行处理,而是按照设定的频率进行更新即可。 3)在删除状态下,无需进行任何更新。 综上所述,一个分辨率相关的属性可以有多种更新的激励。这些激励之间会产生一些连锁反应,从而保证了不同分辨率模型的一致性。例如一个编队MRH发出一个攻击交互,由于受到这个交互的激励,其导弹数量减少,编队导弹数量的变化引起一致性维护激励,对应的低分辨率飞机模型中的导弹数量要相应减少。至于是哪些飞机的导弹数量各减少了多少,是由该属性的一致性维护函数确定的。该函数的算法不同,那么结果也不尽相同。这也是为了满足多分辨率建模目的而必须接受的误差。 MRH属性映射服务由MRHAttrMap类提供,该类的主要功能如下: 1) 保存所有分辨率相关属性的索引; 2) 属性更新消息的发送与接收; 3) 消息缓冲队列管理; 4) 属性访问锁定; 5) 属性值的聚合解聚运算。 MRHAttrMap类的UML描述如图6所示。 图6 MRHAttrMap类UML描述Fig.6 MRHAttrMap UML description 3.3 MRH管理服务 Holon多分辨率模型系统中的每个实体都是由若干MRH构成。不同分辨率的MRH构成了层次化的实体多分辨率模型结构。该结构在系统运行过程中可以根据系统负载和需求自动调节不同分辨率MRH的运行、挂起和删除状态,从而取得系统整体精度和效率的平衡。为了给这种层次结构的运行和演化提供支撑,系统需要设计MRH的管理服务。 每一个Holon多分辨率模型系统都应该有且只有一个MRH管理服务的对象,用于完成对系统中所有MRH的管理,并为MRH以及其他服务提供系统的全局变量。这个对象是MRHManager类的实例,该类的主要功能如下: 1) 实体的注册、删除; 2) MRH的注册、删除; 3) 保存所有MRH的指针; 4) 保存每个实体的所有MRH的层次结构; 5) 保存实体多分辨率模型的运行结构状态(高、低分辨率模型并发运行、高分辨率模型挂起等); 6) 保存满意度阈值; 7) 为消息转发和一致性维护提供MRH的指针(包括目标MRH及其上、下级MRH的指针)。 MRHManager类的UML描述如图7所示。 图7 MRHManager类UML描述Fig.7 MRHManager UML description 在基于Holon多分辨率建模方法构建的海军武器装备体系战役推演系统中进行了实际推演。另外以相同的想定和实体解算模型分别进行了应用传统的视点选择多分辨率建模法和聚合解聚多分辨率建模法的作战推演。 推演系统的主要硬件组成为:共5台主机接入千兆局域网互联,其中红方3台,每台运行1个舰艇模型以及对应的传感器和武器模型,红方中的1台主机还负责运行红方舰艇编队模型;蓝方1台主机运行潜艇模型;白方1台主机用于仿真控制以及态势显示。各主机采用相同的配置:intel CORE i7 3.4 GHz处理器、4 GB内存、GTX560独立显卡。 系统硬件应能够提供所有模型同时运行的资源,并保证不同建模方法构建的多分辨率模型每次运行在同一资源条件下,即每次推演均在同一硬件资源上进行。由于实验目的是对比应用不同多分辨率建模方法构建的模型在推演时的系统负载和模型分辨率转换情况,因此在满足上述条件的基础上,采用不同的运行环境对实验结论没有影响。 推演过程是3艘红方舰艇编队航行至预定海域对蓝方潜艇展开搜索,蓝方潜艇被发现,红方舰艇进行一轮攻击后击中蓝方潜艇,推演结束。为了使仿真结果更加直观,在应用Holon多分辨率建模法的时候,设置最高分辨率的声纳和鱼雷模型在无外部交互请求的前台运行情况下运行3 min即被挂起,在挂起状态运行3 min即被删除;中等分辨率的舰船模型的前台运行时间为6 min,挂起后6 min被删除;最低分辨率的舰船编队模型的前台运行时间为9 min,由于编队模型是最低分辨率模型,所以即使在挂起状态也不会被删除。推演中的关键事件均设置在3 min的整数倍,以便于更加清晰直观的观察仿真结果。推演运行截图如图8所示。 图8 推演运行截图Fig.8 Screenshot of deduction running 推演按照关键事件可以分为以下5个阶段: 1) 开始至21 min为编队航行阶段; 2) 21 min编队进入预定海域,开启声纳进入搜索阶段至33 min; 3) 33 min时发现目标,舰艇进入形成攻击队形阶段至36 min; 4) 36 min开始进入攻击阶段,至42 min攻击结束; 5) 42 min进入编队返航阶段,至60 min推演结束。 通过记录应用3种不同多分辨率建模方法的推演中每一个仿真步长内所有实体运行时间的总和来衡量系统的综合负载情况,形成了如图9所示曲线。 图9 应用不同多分辨率建模方法的系统负载变化Fig.9 System load changes using different multi-resolution modeling method 为了便于描述,对应图9,下文将采用Holon多分辨率模型技术的作战推演系统简称为系统a,将采用视点选择多分辨率模型法的系统简称为系统b,将采用聚合解聚多分辨率模型法的系统简称为系统c. 下面分阶段对仿真结果进行分析: 1) 编队航行阶段。 系统a在仿真初始化时,高、中、低分辨率模型同时加载,此时由于声纳和鱼雷模型并未进行复杂解算,因此系统负载并未到达最高值。随着时间推进,声纳、鱼雷模型的满意度逐渐降低,模型被挂起,系统负载降低。时间继续推进,舰船模型也被挂起,声纳、鱼雷模型被删除,系统负载进一步降低。在12 min过后,系统中只运行着编队这一个最低分辨率模型,系统负载降到最低。 系统b在推演的全过程中均加载最高分辨率的声纳、鱼雷和中等分辨率的舰船模型,没有编队模型,编队的数据均是由更高分辨率的模型计算得出。在仿真开始后,系统b的负载基本和系统a的初始负载相同,并持续保持至编队航行阶段结束。 系统c在编队航行阶段只运行最低分辨率的编队模型。3 支持Holon多分辨率建模的软件框架
4 仿真实验