基于MaSE的多Agent作战仿真控制框架设计方法

2015-06-12 12:35玮,雄,
装甲兵工程学院学报 2015年6期
关键词:白方框架模型

蒲 玮, 李 雄, 陈 强

(1. 装甲兵工程学院装备指挥与管理系, 北京100072; 2. 装甲兵学院研究生大队, 安徽 蚌埠 233050)

基于MaSE的多Agent作战仿真控制框架设计方法

蒲 玮1, 李 雄1, 陈 强2

(1. 装甲兵工程学院装备指挥与管理系, 北京100072; 2. 装甲兵学院研究生大队, 安徽 蚌埠 233050)

针对多Agent作战仿真在控制管理运行中要求实现与仿真模型弱耦合的难题,提出了一种基于多Agent系统工程(Multi-agent System Engineering, MaSE)的作战仿真控制框架设计方法。首先,在用户需求分析的基础上,建立了目标层次图、总体用例图、角色图和并发任务图等软件分析模型;其次,建立了Agent类图、会话模型图、构件图和部署图等软件设计模型。对作战仿真控制框架进行了实现,并在多个装备保障智能仿真系统中进行应用,验证了设计方法的可行性及有效性。

MaSE;多Agent;作战仿真;仿真控制框架

计算机作战仿真已经成为研究和解决军事问题的重要方法和手段,随着战争形态从机械化向信息化转变,作战体系的复杂性进一步增强,对作战仿真提出了新的更高要求。Agent是一种具有自主性、交互性、反应性和主动性等特征,在系统中持续自主发挥作用的计算实体[1],基于多Agent的作战仿真方法将作战个体的主动适应性与作战体系的宏观涌现性相结合,是当前复杂作战系统仿真行之有效的方法。

多Agent作战仿真控制框架是基于多Agent作战仿真系统的重要组成部分,是多Agent作战仿真模型运行的基础环境,涉及分布式Agent底层通信、多Agent时间推进管理、Agent模型管理和人机交互界面等一系列核心仿真控制问题。仿真控制框架中各个功能模块(一般称为白方Agent)由于需要与Agent仿真模型自主产生信息交互,为仿真模型和仿真用户提供管理控制服务,因此其具有明显的多Agent软件特征。建立一种与仿真模型弱耦合、跨平台可重用的通用仿真控制框架,可以让仿真开发人员把主要精力投入到作战仿真Agent模型的开发上,提高仿真系统开发效率,并且通过反复迭代模型检验的方法来提高模型可信性。围绕通用仿真控制框架的设计与实现这一技术难题,李雄[1]从基于Agent的作战建模仿真系统体系结构分析入手,提出了基于Agent的作战建模仿真控制框架的概念,并对框架的基本功能进行了描述;李群等[2]提出了基于进程的体系仿真模型框架和体系仿真模型调度过程;梁培生等[3]给出了实况、虚拟和构造(Live, Virtual and Constructive, LVC)时间管理的实时性方法,并完成了LVC时间管理中间件的设计和性能测试。以上研究对多Agent作战仿真控制框架的基本概念进行了界定,对模型调度和时间管理等仿真控制框架实现的具体技术进行了探索,但是还没有针对多Agent作战仿真的实际特点,从总体上提出一种对仿真控制框架进行设计的软件工程方法。

基于此,笔者针对基于多Agent的作战仿真系统需求,根据作战仿真控制框架的多Agent软件特征,提出一种基于多Agent系统工程(Multi-agent System Engineering, MaSE)的作战仿真控制框架设计方法,对框架系统进行需求分析和软件设计。根据软件设计,构建了一个满足多Agent作战仿真模型运行控制需要、独立于多Agent作战仿真模型、跨平台运行的通用作战仿真控制框架。最后,将所开发的仿真控制框架在多个装备保障智能仿真系统中进行应用,对设计方法的可行性及有效性进行验证。

1 基于MaSE的多Agent软件系统设计方法

1.1 MaSE方法概述

随着对智能密集型软件系统开发需求的不断增长,传统的面向过程和面向对象程序设计(Object-Oriented Programming, OOP)的思想已经无法满足工程实践的要求。在这样的背景下,一种新的程序设计范型,即面向Agent程序设计(Agent-Oriented Programming, AOP)的思想被提出,并在不同的工程领域得到了应用。随着AOP应用的不断深入,迫切需要一种新的软件工程方法,用于指导一般性的多Agent系统(Multi-Agent System,MAS)开发,提高开发效率和程序质量,在这种需求驱动下,面向Agent的软件工程(Agent-Oriented Software Engineering,AOSE)被提出[4]。针对AOSE的方法学研究,基于对象技术提出了MaSE,基于知识工程提出了Tropos,基于组织思想提出了Gaia等面向Agent软件方法学[5-9]。其中,MaSE方法以Agent理论和技术为基础,是一个面向MAS开发的全寿命周期方法,覆盖了从需求分析到系统设计最终到系统实现的开发全过程。针对不同的设计阶段,给出了具体的过程软件产品和建模语言,该方法具有整个开发过程的需求变更追踪功能,在分析设计中,任何阶段的变更都可以进行向上或向下的变更追踪;同时,该方法充分借鉴了面向对象软件开发的建模语言等开发方法,使得目前较成熟的面向对象开发工具和平台能够用来开发MAS,提高了该方法的通用性和工程化水平[10-11]。

1.2 基于MaSE方法的软件开发流程

基于MaSE方法的软件开发流程、主要工作及建模语言如图1所示。开发流程主要包括分析和设计2个基本阶段:分析阶段包括用户需求分析、获取目标、分析用例和提取角色4个主要步骤;设计阶段包括建立Agent类、构造会话、组装Agent类和系统设计[12]4个主要步骤。

2 基于MaSE的多Agent作战仿真控制框架分析

2.1 用户需求分析

多Agent作战仿真系统的一般体系结构主要包括2个组成部分:1)由红蓝双方Agent组成的多Agent作战仿真模型体系,该仿真模型是按照从实际作战系统组元到Agent实体映射的方式进行构建的;2)白方多Agent作战仿真控制框架,作战仿真系统仅有仿真模型还不能按照用户的要求实现作战仿真推演,还需要有能够对仿真模型进行驱动、管理、服务和人机交互的仿真控制框架。按照作战仿真系统的军事需求,针对多Agent作战仿真模型运行的实际需要,确定白方多Agent作战仿真控制框架的用户需求如下:

1) 作战仿真输入,包括战场环境、作战想定、仿真数据统计需求等初始条件的设定,以及作战仿真过程中与仿真模型的实时交互控制等;

2) 作战仿真输出,包括作战态势的二、三维显示,作战指挥交互流程信息的可视化显示,以及作战仿真结果数据的统计显示等;

3) 作战仿真运行支撑,包括多Agent交互通信,作战仿真的时间推进管理,作战仿真Agent模型管理,作战仿真数据库(包括战场环境数据、仿真过程数据、仿真结果统计数据和仿真条件数据)。

图1 基于MaSE方法的软件开发流程、主要工作及建模语言

2.2 获取目标

MaSE方法中的目标是系统功能性和非功能性需求的抽象描述,目标之间构成父子关系,以目标层次图进行模型表示,获取目标是进行系统分析的首要步骤。根据多Agent作战仿真控制框架的初步用户需求建立目标层次图,如图2所示。

图2 多Agent作战仿真控制框架目标层次图

2.3 分析用例

分析用例是将系统目标转换为系统角色和任务的关键步骤,系统分析人员根据系统需求绘制用例图,并根据每个用例图创建顺序图,对多Agent系统实际交互通信进行描述,形成初始角色集合,为提取系统角色及建立各角色的任务模型奠定基础。在此,根据白方多Agent作战仿真控制框架的初步用户需求绘制总体用例图,如图3所示。根据图3创建仿真系统总体用例的顺序图,如图4所示,其刻画了该用例是如何通过各角色之间的交互会话进行实现的。

2.4 提取角色

角色是系统中执行任务的行为实体的抽象表示,任务是角色为实现其目的而进行的一组动作。根据图4中产生的初始角色集合及其交互关系,为系统目标定义恰当的角色及其需要执行的任务,建立MaSE的角色图,如图5所示,其中:矩形表示角色,矩形内横向上方字符表示角色名称,下方数字表示角色对应的系统目标;椭圆形表示任务,通过任务间的有向边表示交互协议;矩形与椭圆形间的无向边表示角色与任务的对应关系。

图3 多Agent作战仿真控制框架总体用例图

在完成提取角色的基础上,在该分析阶段还需要对各角色的任务进行详细的分析,按照MaSE方法将各角色的任务描述为有限状态自动机,建立每个任务的并发任务图,为下一步的程序设计提供更详细的交互描述。以作战态势显示任务为例,建立的并发任务图如图6所示。将并发任务图视为一个有限状态自动机,节点代表不同的状态,状态间的有向边代表状态转移,状态转移的语法描述为tri-gger(argslist1) [guard] /transmission(argslist2),其中:trigger(argslist1)为状态转移的激发事件及事件的参数列表;[guard]为状态转移的条件;transmi-ssion(argslist2)为状态转移的信息传输及其传输的参数列表。各要素在使用中均为可选项,可以单独使用,也可以合并使用。

图4 多Agent作战仿真控制框架总体用例顺序图

图5 多Agent作战仿真控制框架MaSE角色图

图6 作战态势显示任务并发任务图

3 基于MaSE的多Agent作战仿真控制框架设计

3.1 建立Agent类

软件设计人员根据在分析阶段建立的角色模型,按照软件实现的要求构建Agent类。角色与Agent类之间的映射关系包括一对一映射、多对一映射、一对多映射3种,软件设计人员在综合考虑软件的模块化聚合和通信容量等影响因素的情况下,可以根据实际需要进行选择。

根据图5构建Agent类图,如图7所示,其中:矩形方框内横向上方字符表示Agent的名称,下方的数字编号与角色图相对应,代表该Agent类所实现的角色;Agent类之间的实心箭头连线表示类之间的会话,非实心箭头连线表示类之间的关联关系。

3.2 构造会话

MaSE中的会话定义了2个Agent之间的合作协议,在构造会话设计阶段,系统设计人员需要分别对每个会话构建模型,而由于每个会话涉及其发起方Agent和反应方Agent,因此,一个会话模型由一对通信类图构成,每个通信类图构成一个有限状态自动机。以SendDataandRedraw会话为例,该会话的功能为发送场景数据,并根据更新的数据对场景进行刷新渲染,所建立的DataBaseAdmin类、ShowAndControl类关于该会话的模型如图8所示。

图7 多Agent作战仿真控制框架Agent类图

图8 SendDataandRedraw会话模型

3.3 组装Agent类

在该设计步骤,将对每个Agent类的内部构件及其关系进行建模,从而完成对Agent类内部体系结构的确立,为各Agent类的最终实现提供设计支撑。本文采用UML构件图建模语言对Agent类的内部体系结构进行建模,将每个Agent类视为一个构件(component),对该Agent构件所包含的部件(part)、端口(port)、接口(interface)和连接件(connector)进行描述。以SimConditionInput类为例,该类的作用为对仿真初始条件进行输入,建立起该类的内部体系结构,如图9所示。

图9 SimConditionInput类构件图

3.4 系统设计

系统设计是MaSE方法的最终步骤,在此采用部署图的建模语言定义需要实例化的Agent对象的数量、种类和运行位置等实际系统的配置。图10为所建立的基于MaSE的多Agent作战仿真控制框架部署图。

图10 基于MaSE的多Agent作战仿真控制框架部署图

4 基于MaSE的多Agent作战仿真控制框架实现与应用

4.1 多Agent作战仿真控制框架的实现

在对多Agent作战仿真控制框架分析和设计的基础上,采用C++、JavaScript等语言,基于各类可跨平台的开源软件库对仿真控制框架的各白方Agent进行了实现,白方Agent所采用的开发环境如表1所示,其图形用户界面如图11所示。

表1 白方Agent的开发环境

图11 多Agent作战仿真控制框架的实现界面

4.2 多Agent作战仿真控制框架的应用分析

在装备保障编组智能仿真推演与效能评估系统、新型坦克维修保障方案仿真评价及优化系统、新型装甲装备战备器材仿真测算系统等多个基于Agent的作战仿真系统中,对所设计开发的通用作战仿真控制框架进行了应用。该框架支撑了3 000多个作战和保障平台级Agent实体的仿真推演,满足了作为白方Agent对模型运行支撑的功能要求,系统运行稳定,且对不同仿真模型的适应性较强,较好地解决了多Agent作战仿真在控制管理运行中要求实现与仿真模型弱耦合的难题。该仿真控制框架的模型弱耦合特性使得仿真应用系统的开发者能够以反复迭代的开发方式,在仿真模型开发过程中不断进行仿真推演和模型细化,及时发现错误并进行修正,从而提高了仿真模型体系的开发效率,在开发任务时间固定的前提下,提高了最终仿真模型的可信度。

表2为基于MaSE方法设计的通用多Agent作战仿真控制框架与针对不同仿真模型重新开发的专用仿真控制框架的应用对比。通过对比分析可知:基于MaSE方法设计的通用多Agent作战仿真控制框架可以实现从线性顺序到迭代细化开发模式的转变,从而提高仿真系统开发效率和仿真模型可信度。因此,基于MaSE的多Agent作战仿真控制框架设计方法,能够较好地完成从用户需求分析到系统部署设计映射的软件系统设计过程,表明该设计方法有效、可行。

表2 框架模式应用对比

5 结论

多Agent作战仿真控制框架是多Agent作战仿真系统的运行支撑和仿真模型的驱动引擎。建立一种与仿真模型弱耦合的通用仿真控制框架,对提高作战建模仿真效率和模型可信度具有重要意义。本文将仿真控制框架也视为一个多Agent系统,提出了运用MaSE方法解决通用仿真控制框架设计的问题,取得了较好的效果,实现了从面向对象到面向Agent的软件设计转变。下一步将结合作战仿真系统开发的实际,扩充和完善MaSE方法,进一步规范基于多Agent作战仿真控制框架和作战仿真模型设计与开发过程,研制相应的软件工具,实现从设计模型到代码的转化,提高系统开发的工程化程度。

[1] 李雄.基于Agent的作战建模[M]. 北京:国防工业出版社, 2013:57-59.

[2] 李群,黄建新,贾全,等.基于进程的Agent体系仿真模型框架[J].系统仿真学报,2011,23(11):2475-2481.

[3] 梁培生,周玉芳,翟永翠. LVC时间管理的实时性研究[J]. 指挥控制与仿真,2010,32(6):60-64.

[4] 毛新军,胡翠云,孙跃坤,等.面向Agent程序设计的研究[J]. 软件学报,2012,23(11):2885-2904.

[5] 毛新军.面向Agent软件工程:现状、挑战与展望[J]. 计算机科学,2011,28(1):1-7.

[6] Dam H K, Winikoff M. Towards a Next-generation AOSE Metho-dology [J]. Science of Computer Programming, 2013,78(6):684-694.

[7] Cernuzzi L, Zambonelli F. Improving Comparative Analysis for the Evaluation of AOSE Methodologies [J]. International Journal of Agent-oriented Software Engineering, 2011,4(4):331-352.

[8] Molesini A,Casadei M, Omicini A, et al. Simulation in Agent-oriented Software Engineering: The SODA Case Study[J]. Science of Computer Programming,2013,78(6):705-714.

[9] Beydoun G, Low G, Bogg P. Suitability Assessment Framework of Agent-based Software Architectures[J].Information and Software Technology, 2013, 55(4):673-689.

[10] Schumacher M. Objective Coordination in Multi-agent System Engineering: Design and Implementation[M]. Berlin: Springer, 2001:168-169.

[11] 洪清鹏,郭东强,汪长玉,等. 基于MaSE的虚拟企业知识管理系统分析[J]. 科技管理研究,2011(23):163-167.

[12] Deloach S A. Analysis and Design using MaSE and agentTool[C]∥Proceedings of 12th Midwest Artificial Intelligence and Cognitive Science Conference. Ohio Oxford: Miami University Press,2001:1-7.

(责任编辑: 尚彩娟)

Multi-agent Warfare Simulation Control Framework Design Method Based on MaSE

PU Wei1, LI Xiong1, CHEN Qiang2

(1. Department of Equipment Command and Administration, Academy of Armored Force Engineering, Beijing 100072, China;2. Department of Graduate Management, Academy of Armored Force, Bengbu 233050, China)

Aiming at the requirement of realizing weak coupling problem of multi-agent warfare simulation control framework, this paper proposes a design method of warfare simulation control framework based on Multi-agent System Engineering (MaSE). Firstly, on the basis of user’s requirements analysis, software analysis models are established, such as goal hierarchy, general use cases, roles and concurrent tasks diagrams; secondly, software design models are established such as agent class, conversations model, architectures, deployment diagrams. The warfare simulation control framework is realized, and used in some equipment support intelligent simulation systems, the feasibility and effectiveness of the design method is validated.

MaSE; Multi-agent; warfare simulation; simulation control framework

1672-1497(2015)06-0064-08

2015-08-08

国家自然科学基金资助项目(61473311);军队科研计划项目;北京市自然科学基金资助项目(9142017)

蒲 玮(1983-),男,讲师,博士研究生。

E917; TP391.9

A

10.3969/j.issn.1672-1497.2015.06.013

猜你喜欢
白方框架模型
适用于BDS-3 PPP的随机模型
有机框架材料的后合成交换
“最美老人”白方礼
框架
重要模型『一线三等角』
模型小览(二)
在爱的丰碑上镂字铭文
——读《白方礼,一个人的爱心长征》有感
离散型随机变量分布列的两法则和三模型
关于原点对称的不规则Gabor框架的构造
我国在WYO框架下面对的贸易保护现状及应对