蒲 瑋, 李 雄, 陳 強
(1. 裝甲兵工程學院裝備指揮與管理系, 北京100072; 2. 裝甲兵學院研究生大隊, 安徽 蚌埠 233050)
基于MaSE的多Agent作戰(zhàn)仿真控制框架設計方法
蒲 瑋1, 李 雄1, 陳 強2
(1. 裝甲兵工程學院裝備指揮與管理系, 北京100072; 2. 裝甲兵學院研究生大隊, 安徽 蚌埠 233050)
針對多Agent作戰(zhàn)仿真在控制管理運行中要求實現(xiàn)與仿真模型弱耦合的難題,提出了一種基于多Agent系統(tǒng)工程(Multi-agent System Engineering, MaSE)的作戰(zhàn)仿真控制框架設計方法。首先,在用戶需求分析的基礎上,建立了目標層次圖、總體用例圖、角色圖和并發(fā)任務圖等軟件分析模型;其次,建立了Agent類圖、會話模型圖、構件圖和部署圖等軟件設計模型。對作戰(zhàn)仿真控制框架進行了實現(xiàn),并在多個裝備保障智能仿真系統(tǒng)中進行應用,驗證了設計方法的可行性及有效性。
MaSE;多Agent;作戰(zhàn)仿真;仿真控制框架
計算機作戰(zhàn)仿真已經成為研究和解決軍事問題的重要方法和手段,隨著戰(zhàn)爭形態(tài)從機械化向信息化轉變,作戰(zhàn)體系的復雜性進一步增強,對作戰(zhàn)仿真提出了新的更高要求。Agent是一種具有自主性、交互性、反應性和主動性等特征,在系統(tǒng)中持續(xù)自主發(fā)揮作用的計算實體[1],基于多Agent的作戰(zhàn)仿真方法將作戰(zhàn)個體的主動適應性與作戰(zhàn)體系的宏觀涌現(xiàn)性相結合,是當前復雜作戰(zhàn)系統(tǒng)仿真行之有效的方法。
多Agent作戰(zhàn)仿真控制框架是基于多Agent作戰(zhàn)仿真系統(tǒng)的重要組成部分,是多Agent作戰(zhàn)仿真模型運行的基礎環(huán)境,涉及分布式Agent底層通信、多Agent時間推進管理、Agent模型管理和人機交互界面等一系列核心仿真控制問題。仿真控制框架中各個功能模塊(一般稱為白方Agent)由于需要與Agent仿真模型自主產生信息交互,為仿真模型和仿真用戶提供管理控制服務,因此其具有明顯的多Agent軟件特征。建立一種與仿真模型弱耦合、跨平臺可重用的通用仿真控制框架,可以讓仿真開發(fā)人員把主要精力投入到作戰(zhàn)仿真Agent模型的開發(fā)上,提高仿真系統(tǒng)開發(fā)效率,并且通過反復迭代模型檢驗的方法來提高模型可信性。圍繞通用仿真控制框架的設計與實現(xiàn)這一技術難題,李雄[1]從基于Agent的作戰(zhàn)建模仿真系統(tǒng)體系結構分析入手,提出了基于Agent的作戰(zhàn)建模仿真控制框架的概念,并對框架的基本功能進行了描述;李群等[2]提出了基于進程的體系仿真模型框架和體系仿真模型調度過程;梁培生等[3]給出了實況、虛擬和構造(Live, Virtual and Constructive, LVC)時間管理的實時性方法,并完成了LVC時間管理中間件的設計和性能測試。以上研究對多Agent作戰(zhàn)仿真控制框架的基本概念進行了界定,對模型調度和時間管理等仿真控制框架實現(xiàn)的具體技術進行了探索,但是還沒有針對多Agent作戰(zhàn)仿真的實際特點,從總體上提出一種對仿真控制框架進行設計的軟件工程方法。
基于此,筆者針對基于多Agent的作戰(zhàn)仿真系統(tǒng)需求,根據(jù)作戰(zhàn)仿真控制框架的多Agent軟件特征,提出一種基于多Agent系統(tǒng)工程(Multi-agent System Engineering, MaSE)的作戰(zhàn)仿真控制框架設計方法,對框架系統(tǒng)進行需求分析和軟件設計。根據(jù)軟件設計,構建了一個滿足多Agent作戰(zhàn)仿真模型運行控制需要、獨立于多Agent作戰(zhàn)仿真模型、跨平臺運行的通用作戰(zhàn)仿真控制框架。最后,將所開發(fā)的仿真控制框架在多個裝備保障智能仿真系統(tǒng)中進行應用,對設計方法的可行性及有效性進行驗證。
1.1 MaSE方法概述
隨著對智能密集型軟件系統(tǒng)開發(fā)需求的不斷增長,傳統(tǒng)的面向過程和面向對象程序設計(Object-Oriented Programming, OOP)的思想已經無法滿足工程實踐的要求。在這樣的背景下,一種新的程序設計范型,即面向Agent程序設計(Agent-Oriented Programming, AOP)的思想被提出,并在不同的工程領域得到了應用。隨著AOP應用的不斷深入,迫切需要一種新的軟件工程方法,用于指導一般性的多Agent系統(tǒng)(Multi-Agent System,MAS)開發(fā),提高開發(fā)效率和程序質量,在這種需求驅動下,面向Agent的軟件工程(Agent-Oriented Software Engineering,AOSE)被提出[4]。針對AOSE的方法學研究,基于對象技術提出了MaSE,基于知識工程提出了Tropos,基于組織思想提出了Gaia等面向Agent軟件方法學[5-9]。其中,MaSE方法以Agent理論和技術為基礎,是一個面向MAS開發(fā)的全壽命周期方法,覆蓋了從需求分析到系統(tǒng)設計最終到系統(tǒng)實現(xiàn)的開發(fā)全過程。針對不同的設計階段,給出了具體的過程軟件產品和建模語言,該方法具有整個開發(fā)過程的需求變更追蹤功能,在分析設計中,任何階段的變更都可以進行向上或向下的變更追蹤;同時,該方法充分借鑒了面向對象軟件開發(fā)的建模語言等開發(fā)方法,使得目前較成熟的面向對象開發(fā)工具和平臺能夠用來開發(fā)MAS,提高了該方法的通用性和工程化水平[10-11]。
1.2 基于MaSE方法的軟件開發(fā)流程
基于MaSE方法的軟件開發(fā)流程、主要工作及建模語言如圖1所示。開發(fā)流程主要包括分析和設計2個基本階段:分析階段包括用戶需求分析、獲取目標、分析用例和提取角色4個主要步驟;設計階段包括建立Agent類、構造會話、組裝Agent類和系統(tǒng)設計[12]4個主要步驟。
2.1 用戶需求分析
多Agent作戰(zhàn)仿真系統(tǒng)的一般體系結構主要包括2個組成部分:1)由紅藍雙方Agent組成的多Agent作戰(zhàn)仿真模型體系,該仿真模型是按照從實際作戰(zhàn)系統(tǒng)組元到Agent實體映射的方式進行構建的;2)白方多Agent作戰(zhàn)仿真控制框架,作戰(zhàn)仿真系統(tǒng)僅有仿真模型還不能按照用戶的要求實現(xiàn)作戰(zhàn)仿真推演,還需要有能夠對仿真模型進行驅動、管理、服務和人機交互的仿真控制框架。按照作戰(zhàn)仿真系統(tǒng)的軍事需求,針對多Agent作戰(zhàn)仿真模型運行的實際需要,確定白方多Agent作戰(zhàn)仿真控制框架的用戶需求如下:
1) 作戰(zhàn)仿真輸入,包括戰(zhàn)場環(huán)境、作戰(zhàn)想定、仿真數(shù)據(jù)統(tǒng)計需求等初始條件的設定,以及作戰(zhàn)仿真過程中與仿真模型的實時交互控制等;
2) 作戰(zhàn)仿真輸出,包括作戰(zhàn)態(tài)勢的二、三維顯示,作戰(zhàn)指揮交互流程信息的可視化顯示,以及作戰(zhàn)仿真結果數(shù)據(jù)的統(tǒng)計顯示等;
3) 作戰(zhàn)仿真運行支撐,包括多Agent交互通信,作戰(zhàn)仿真的時間推進管理,作戰(zhàn)仿真Agent模型管理,作戰(zhàn)仿真數(shù)據(jù)庫(包括戰(zhàn)場環(huán)境數(shù)據(jù)、仿真過程數(shù)據(jù)、仿真結果統(tǒng)計數(shù)據(jù)和仿真條件數(shù)據(jù))。
圖1 基于MaSE方法的軟件開發(fā)流程、主要工作及建模語言
2.2 獲取目標
MaSE方法中的目標是系統(tǒng)功能性和非功能性需求的抽象描述,目標之間構成父子關系,以目標層次圖進行模型表示,獲取目標是進行系統(tǒng)分析的首要步驟。根據(jù)多Agent作戰(zhàn)仿真控制框架的初步用戶需求建立目標層次圖,如圖2所示。
圖2 多Agent作戰(zhàn)仿真控制框架目標層次圖
2.3 分析用例
分析用例是將系統(tǒng)目標轉換為系統(tǒng)角色和任務的關鍵步驟,系統(tǒng)分析人員根據(jù)系統(tǒng)需求繪制用例圖,并根據(jù)每個用例圖創(chuàng)建順序圖,對多Agent系統(tǒng)實際交互通信進行描述,形成初始角色集合,為提取系統(tǒng)角色及建立各角色的任務模型奠定基礎。在此,根據(jù)白方多Agent作戰(zhàn)仿真控制框架的初步用戶需求繪制總體用例圖,如圖3所示。根據(jù)圖3創(chuàng)建仿真系統(tǒng)總體用例的順序圖,如圖4所示,其刻畫了該用例是如何通過各角色之間的交互會話進行實現(xiàn)的。
2.4 提取角色
角色是系統(tǒng)中執(zhí)行任務的行為實體的抽象表示,任務是角色為實現(xiàn)其目的而進行的一組動作。根據(jù)圖4中產生的初始角色集合及其交互關系,為系統(tǒng)目標定義恰當?shù)慕巧捌湫枰獔?zhí)行的任務,建立MaSE的角色圖,如圖5所示,其中:矩形表示角色,矩形內橫向上方字符表示角色名稱,下方數(shù)字表示角色對應的系統(tǒng)目標;橢圓形表示任務,通過任務間的有向邊表示交互協(xié)議;矩形與橢圓形間的無向邊表示角色與任務的對應關系。
圖3 多Agent作戰(zhàn)仿真控制框架總體用例圖
在完成提取角色的基礎上,在該分析階段還需要對各角色的任務進行詳細的分析,按照MaSE方法將各角色的任務描述為有限狀態(tài)自動機,建立每個任務的并發(fā)任務圖,為下一步的程序設計提供更詳細的交互描述。以作戰(zhàn)態(tài)勢顯示任務為例,建立的并發(fā)任務圖如圖6所示。將并發(fā)任務圖視為一個有限狀態(tài)自動機,節(jié)點代表不同的狀態(tài),狀態(tài)間的有向邊代表狀態(tài)轉移,狀態(tài)轉移的語法描述為tri-gger(argslist1) [guard] /transmission(argslist2),其中:trigger(argslist1)為狀態(tài)轉移的激發(fā)事件及事件的參數(shù)列表;[guard]為狀態(tài)轉移的條件;transmi-ssion(argslist2)為狀態(tài)轉移的信息傳輸及其傳輸?shù)膮?shù)列表。各要素在使用中均為可選項,可以單獨使用,也可以合并使用。
圖4 多Agent作戰(zhàn)仿真控制框架總體用例順序圖
圖5 多Agent作戰(zhàn)仿真控制框架MaSE角色圖
圖6 作戰(zhàn)態(tài)勢顯示任務并發(fā)任務圖
3.1 建立Agent類
軟件設計人員根據(jù)在分析階段建立的角色模型,按照軟件實現(xiàn)的要求構建Agent類。角色與Agent類之間的映射關系包括一對一映射、多對一映射、一對多映射3種,軟件設計人員在綜合考慮軟件的模塊化聚合和通信容量等影響因素的情況下,可以根據(jù)實際需要進行選擇。
根據(jù)圖5構建Agent類圖,如圖7所示,其中:矩形方框內橫向上方字符表示Agent的名稱,下方的數(shù)字編號與角色圖相對應,代表該Agent類所實現(xiàn)的角色;Agent類之間的實心箭頭連線表示類之間的會話,非實心箭頭連線表示類之間的關聯(lián)關系。
3.2 構造會話
MaSE中的會話定義了2個Agent之間的合作協(xié)議,在構造會話設計階段,系統(tǒng)設計人員需要分別對每個會話構建模型,而由于每個會話涉及其發(fā)起方Agent和反應方Agent,因此,一個會話模型由一對通信類圖構成,每個通信類圖構成一個有限狀態(tài)自動機。以SendDataandRedraw會話為例,該會話的功能為發(fā)送場景數(shù)據(jù),并根據(jù)更新的數(shù)據(jù)對場景進行刷新渲染,所建立的DataBaseAdmin類、ShowAndControl類關于該會話的模型如圖8所示。
圖7 多Agent作戰(zhàn)仿真控制框架Agent類圖
圖8 SendDataandRedraw會話模型
3.3 組裝Agent類
在該設計步驟,將對每個Agent類的內部構件及其關系進行建模,從而完成對Agent類內部體系結構的確立,為各Agent類的最終實現(xiàn)提供設計支撐。本文采用UML構件圖建模語言對Agent類的內部體系結構進行建模,將每個Agent類視為一個構件(component),對該Agent構件所包含的部件(part)、端口(port)、接口(interface)和連接件(connector)進行描述。以SimConditionInput類為例,該類的作用為對仿真初始條件進行輸入,建立起該類的內部體系結構,如圖9所示。
圖9 SimConditionInput類構件圖
3.4 系統(tǒng)設計
系統(tǒng)設計是MaSE方法的最終步驟,在此采用部署圖的建模語言定義需要實例化的Agent對象的數(shù)量、種類和運行位置等實際系統(tǒng)的配置。圖10為所建立的基于MaSE的多Agent作戰(zhàn)仿真控制框架部署圖。
圖10 基于MaSE的多Agent作戰(zhàn)仿真控制框架部署圖
4.1 多Agent作戰(zhàn)仿真控制框架的實現(xiàn)
在對多Agent作戰(zhàn)仿真控制框架分析和設計的基礎上,采用C++、JavaScript等語言,基于各類可跨平臺的開源軟件庫對仿真控制框架的各白方Agent進行了實現(xiàn),白方Agent所采用的開發(fā)環(huán)境如表1所示,其圖形用戶界面如圖11所示。
表1 白方Agent的開發(fā)環(huán)境
圖11 多Agent作戰(zhàn)仿真控制框架的實現(xiàn)界面
4.2 多Agent作戰(zhàn)仿真控制框架的應用分析
在裝備保障編組智能仿真推演與效能評估系統(tǒng)、新型坦克維修保障方案仿真評價及優(yōu)化系統(tǒng)、新型裝甲裝備戰(zhàn)備器材仿真測算系統(tǒng)等多個基于Agent的作戰(zhàn)仿真系統(tǒng)中,對所設計開發(fā)的通用作戰(zhàn)仿真控制框架進行了應用。該框架支撐了3 000多個作戰(zhàn)和保障平臺級Agent實體的仿真推演,滿足了作為白方Agent對模型運行支撐的功能要求,系統(tǒng)運行穩(wěn)定,且對不同仿真模型的適應性較強,較好地解決了多Agent作戰(zhàn)仿真在控制管理運行中要求實現(xiàn)與仿真模型弱耦合的難題。該仿真控制框架的模型弱耦合特性使得仿真應用系統(tǒng)的開發(fā)者能夠以反復迭代的開發(fā)方式,在仿真模型開發(fā)過程中不斷進行仿真推演和模型細化,及時發(fā)現(xiàn)錯誤并進行修正,從而提高了仿真模型體系的開發(fā)效率,在開發(fā)任務時間固定的前提下,提高了最終仿真模型的可信度。
表2為基于MaSE方法設計的通用多Agent作戰(zhàn)仿真控制框架與針對不同仿真模型重新開發(fā)的專用仿真控制框架的應用對比。通過對比分析可知:基于MaSE方法設計的通用多Agent作戰(zhàn)仿真控制框架可以實現(xiàn)從線性順序到迭代細化開發(fā)模式的轉變,從而提高仿真系統(tǒng)開發(fā)效率和仿真模型可信度。因此,基于MaSE的多Agent作戰(zhàn)仿真控制框架設計方法,能夠較好地完成從用戶需求分析到系統(tǒng)部署設計映射的軟件系統(tǒng)設計過程,表明該設計方法有效、可行。
表2 框架模式應用對比
多Agent作戰(zhàn)仿真控制框架是多Agent作戰(zhàn)仿真系統(tǒng)的運行支撐和仿真模型的驅動引擎。建立一種與仿真模型弱耦合的通用仿真控制框架,對提高作戰(zhàn)建模仿真效率和模型可信度具有重要意義。本文將仿真控制框架也視為一個多Agent系統(tǒng),提出了運用MaSE方法解決通用仿真控制框架設計的問題,取得了較好的效果,實現(xiàn)了從面向對象到面向Agent的軟件設計轉變。下一步將結合作戰(zhàn)仿真系統(tǒng)開發(fā)的實際,擴充和完善MaSE方法,進一步規(guī)范基于多Agent作戰(zhàn)仿真控制框架和作戰(zhàn)仿真模型設計與開發(fā)過程,研制相應的軟件工具,實現(xiàn)從設計模型到代碼的轉化,提高系統(tǒng)開發(fā)的工程化程度。
[1] 李雄.基于Agent的作戰(zhàn)建模[M]. 北京:國防工業(yè)出版社, 2013:57-59.
[2] 李群,黃建新,賈全,等.基于進程的Agent體系仿真模型框架[J].系統(tǒng)仿真學報,2011,23(11):2475-2481.
[3] 梁培生,周玉芳,翟永翠. LVC時間管理的實時性研究[J]. 指揮控制與仿真,2010,32(6):60-64.
[4] 毛新軍,胡翠云,孫躍坤,等.面向Agent程序設計的研究[J]. 軟件學報,2012,23(11):2885-2904.
[5] 毛新軍.面向Agent軟件工程:現(xiàn)狀、挑戰(zhàn)與展望[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的虛擬企業(yè)知識管理系統(tǒng)分析[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