蒲 瑋,李 雄
(裝甲兵工程學(xué)院陸軍裝備作戰(zhàn)仿真軍隊(duì)重點(diǎn)實(shí)驗(yàn)室,北京 100072)
基于能力組件的作戰(zhàn)仿真Agent模塊化結(jié)構(gòu)設(shè)計(jì)
蒲 瑋,李 雄
(裝甲兵工程學(xué)院陸軍裝備作戰(zhàn)仿真軍隊(duì)重點(diǎn)實(shí)驗(yàn)室,北京 100072)
針對目前作戰(zhàn)仿真Agent軟件實(shí)現(xiàn)模塊化程度不高、復(fù)用性較差和開發(fā)效率較低的問題,提出了一種基于Agent能力組件的作戰(zhàn)仿真Agent模塊化結(jié)構(gòu)設(shè)計(jì)方法。提出了BDI模型在作戰(zhàn)仿真Agent中的實(shí)現(xiàn)方式及其能力封裝與能力關(guān)系的基本概念;基于能力封裝,設(shè)計(jì)了作戰(zhàn)仿真Agent能力組件的結(jié)構(gòu)、要素、功能類和執(zhí)行算法;基于能力關(guān)系,設(shè)計(jì)了基于能力組件的作戰(zhàn)仿真Agent通用執(zhí)行模塊的結(jié)構(gòu)、數(shù)據(jù)模型、功能類和執(zhí)行算法。以裝甲分隊(duì)平臺(tái)級仿真Agent的實(shí)現(xiàn)為例,驗(yàn)證了方法的可行性與有效性。
Agent;作戰(zhàn)仿真;能力;能力組件;模塊化
Agent的基本概念起源于分布式人工智能(Distributed Artificial Intelligence,DAI)技術(shù)的研究,在DAI領(lǐng)域通常把系統(tǒng)具有自主性、交互性、反應(yīng)性、主動(dòng)性等特征的計(jì)算機(jī)實(shí)體稱為Agent[1]。目前,基于Agent的建模與仿真(Agent-Based Modeling and Simulation,ABMS)是復(fù)雜適應(yīng)系統(tǒng)(Complex Adaptive System,CAS)研究最有效的方法之一,在社會(huì)生產(chǎn)生活的各個(gè)領(lǐng)域取得了廣泛的應(yīng)用[2]。將ABMS方法與軍事問題研究相結(jié)合,所形成的基于Agent的作戰(zhàn)建模與仿真方法[3],已經(jīng)成為解決作戰(zhàn)復(fù)雜系統(tǒng)分析問題的熱點(diǎn)方法,并在軍事科學(xué)研究的各個(gè)領(lǐng)域廣泛使用[4]。
隨著ABMS方法在實(shí)際建模仿真領(lǐng)域的廣泛應(yīng)用,在工程實(shí)踐的過程中,暴露出了基于Agent的建模與仿真實(shí)現(xiàn)中存在的程序規(guī)范性不強(qiáng)、復(fù)用性較差、開發(fā)效率較低和平臺(tái)適應(yīng)性較弱的問題。基于以上問題的出現(xiàn),面向Agent程序設(shè)計(jì)(Agent-Oriented Programming,AOP)[5-6]和面向Agent的軟件工程(Agent-Oriented Software Engineering,AOSE)[7]思想被相繼提出?;陂L期以來面向?qū)ο蟪绦蛟O(shè)計(jì)的開發(fā)經(jīng)驗(yàn),基于組件技術(shù),構(gòu)建模塊化的Agent體系結(jié)構(gòu),是解決當(dāng)前面向Agent的軟件工程面臨的一系列問題的有效途徑和方法[8]。文獻(xiàn)[9]將仿真模型可移植性規(guī)范(SMP2)引入基于Agent的建模仿真中,將Agent仿真中的元素映射到SMP2的模型設(shè)計(jì)和開發(fā)模式架構(gòu)下,并根據(jù)Agent仿真特性對SMP2進(jìn)行相應(yīng)擴(kuò)展,實(shí)現(xiàn)了在多Agent仿真總體模型層次上的基于模型驅(qū)動(dòng)架構(gòu)和組件設(shè)計(jì)思想的Agent模塊化仿真模型開發(fā);文獻(xiàn)[10]針對FatiMA(Fearnot AffecTIve MindArchitecture)Agent心智狀態(tài)模型的實(shí)現(xiàn),提出了一種通用性的模塊化體系結(jié)構(gòu),由一個(gè)核心推理算法模塊和環(huán)境識別、動(dòng)作行為等若干個(gè)功能模塊組成,設(shè)計(jì)了各模塊的執(zhí)行算法及其數(shù)據(jù)交互關(guān)系,相對于傳統(tǒng)實(shí)現(xiàn)方法,其體系結(jié)構(gòu)更加靈活和易于擴(kuò)展,在Agent功能實(shí)現(xiàn)層次實(shí)現(xiàn)了模塊化設(shè)計(jì);文獻(xiàn)[11]基于ABMS開發(fā)方法,在統(tǒng)一的作戰(zhàn)概念模型框架下對物理域、信息域、認(rèn)知域和社會(huì)域進(jìn)行合理抽象,建立了可組合的體系仿真模型框架,據(jù)此開發(fā)了面向體系效能分析應(yīng)用的仿真平臺(tái),用戶可以根據(jù)體系效能評估問題和作戰(zhàn)背景,快速定義和組合不同的作戰(zhàn)實(shí)體Agent模型形成體系仿真應(yīng)用系統(tǒng),進(jìn)行體系對抗仿真分析與評估,實(shí)現(xiàn)了Agent仿真模型與仿真管理框架相分離,在仿真系統(tǒng)構(gòu)建層次實(shí)現(xiàn)了作戰(zhàn)Agent仿真實(shí)現(xiàn)的模塊化重組。
以上方法在多Agent仿真總體模型、Agent功能實(shí)現(xiàn)和仿真系統(tǒng)構(gòu)建3個(gè)層次上,對實(shí)現(xiàn)Agent仿真模型的模塊化進(jìn)行了有益的探索,取得了良好的應(yīng)用效果,為提高仿真模型的復(fù)用性和開發(fā)效率提供了基本方法支撐,對于作戰(zhàn)仿真Agent軟件實(shí)現(xiàn)模塊化具有重要的參考借鑒價(jià)值。但是,作戰(zhàn)仿真Agent實(shí)現(xiàn)的模塊化,不僅局限于以上3個(gè)高層次的模塊化,更包括了對于作戰(zhàn)仿真Agent的戰(zhàn)場情況判斷、作戰(zhàn)指揮決策、協(xié)同控制通信和作戰(zhàn)行動(dòng)執(zhí)行等領(lǐng)域相關(guān)的低層次功能的模塊化,如何實(shí)現(xiàn)對以上功能的模塊化封裝,完成在不同作戰(zhàn)仿真Agent角色之間的相同功能模塊重用,是當(dāng)前作戰(zhàn)仿真Agent建模面臨的現(xiàn)實(shí)問題,也是提高作戰(zhàn)仿真Agent建模效率的關(guān)鍵。Agent能力是一種在元級推理基礎(chǔ)上,對BDI模型進(jìn)行封裝,支持模塊化和復(fù)用的一種面向Agent的軟件工程理論模型和機(jī)制[12],基于Agent能力的基本概念,可以實(shí)現(xiàn)對作戰(zhàn)仿真Agent決策和執(zhí)行等低層功能的封裝。因此,本文基于Agent能力及其能力封裝的基本概念,針對BDI作戰(zhàn)仿真Agent模塊化實(shí)現(xiàn)的軍事需求,提出一種基于能力組件的作戰(zhàn)仿真Agent模塊化結(jié)構(gòu)設(shè)計(jì),在BDI心智狀態(tài)模型及其能力封裝基本方法研究的基礎(chǔ)上,完成對作戰(zhàn)仿真Agent能力組件及基于能力組件的體系結(jié)構(gòu)設(shè)計(jì),實(shí)現(xiàn)作戰(zhàn)仿真Agent能力實(shí)現(xiàn)層面的深度模塊化,提高作戰(zhàn)仿真Agent建模的復(fù)用性和開發(fā)效率。
Bratman提出的BDI(Belief-Desire-Intension)心智狀態(tài)模型[13]如圖1所示,是當(dāng)前應(yīng)用最為廣泛的Agent決策推理模型。其中,信念(Belief)指Agent對所處環(huán)境和自身執(zhí)行狀態(tài)的認(rèn)知,愿望(Desire)是指在特定的任務(wù)狀態(tài)下Agent希望達(dá)成的目標(biāo),意圖(Intension)是指為實(shí)現(xiàn)目標(biāo)所選擇的當(dāng)前行動(dòng)[14-15]。其基本的推理過程為:Agent獲取環(huán)境和自身狀態(tài)信息更新信念庫,根據(jù)變化的信念,生成愿望目標(biāo),綜合信念和愿望,選擇當(dāng)前意圖即行動(dòng)計(jì)劃,進(jìn)行執(zhí)行[16]。
圖1 BDI心智狀態(tài)模型
由于BDI模型是從哲學(xué)層面提出的,能夠全面地反映人類推理過程的理論模型,在當(dāng)前計(jì)算能力和資源有限的條件下進(jìn)行實(shí)際應(yīng)用,應(yīng)根據(jù)仿真領(lǐng)域和仿真應(yīng)用的實(shí)際需要,對BDI模型進(jìn)行簡化和改進(jìn)[17-18]。對于作戰(zhàn)仿真Agent的BDI模型,主要依據(jù)作戰(zhàn)行動(dòng)的基本特點(diǎn)和規(guī)律,從軍事概念和仿真實(shí)現(xiàn)兩個(gè)層次進(jìn)行簡化和改進(jìn),形成的BDI模型在軍事概念層次和仿真實(shí)現(xiàn)層次的對應(yīng)關(guān)系如圖2所示,對于作戰(zhàn)仿真BDI模型的實(shí)現(xiàn),最終轉(zhuǎn)化為對于狀態(tài)—事件—計(jì)劃(State-Event-Plan,SEP)模型的實(shí)現(xiàn)。
圖2 BDI模型要素在其他層的對應(yīng)關(guān)系
1)軍事概念層次
首先,信念一詞在軍事領(lǐng)域有特定的用途,使用該詞容易引起歧義,由于BDI模型中的信念主要指對所處環(huán)境和自身執(zhí)行狀態(tài)的認(rèn)知,因此,將信念在軍事概念層次映射為外部戰(zhàn)場環(huán)境狀態(tài)和Agent內(nèi)部屬性狀態(tài);其次,愿望在BDI模型中表示從Agent個(gè)體出發(fā),希望達(dá)到或保持的狀態(tài),強(qiáng)調(diào)的是個(gè)體的主觀能動(dòng)性,而作戰(zhàn)實(shí)體是在上級的作戰(zhàn)編成內(nèi)行動(dòng),其行動(dòng)目標(biāo)主要受到上級的作戰(zhàn)命令控制,可以根據(jù)戰(zhàn)場態(tài)勢和自身狀態(tài)的變化進(jìn)行一定程度的靈活處置,因此,愿望在軍事概念層次映射為作戰(zhàn)命令、戰(zhàn)場狀態(tài)改變和屬性狀態(tài)改變;最后,意圖在BDI模型中表示為實(shí)現(xiàn)目標(biāo)所選擇具體行為,在軍事概念層次,可以理解為所選擇的作戰(zhàn)執(zhí)行計(jì)劃。
2)仿真實(shí)現(xiàn)層次
仿真實(shí)現(xiàn)的主要工作就是使用當(dāng)前主要的程序設(shè)計(jì)方法和語言將軍事概念模型映射為仿真模型,以便于在計(jì)算機(jī)平臺(tái)中進(jìn)行實(shí)現(xiàn)。首先,戰(zhàn)場狀態(tài)和屬性狀態(tài)均是一種可實(shí)時(shí)更新的多類型的數(shù)據(jù)集合,數(shù)據(jù)結(jié)構(gòu)比較接近,因此,以狀態(tài)數(shù)據(jù)集的形式進(jìn)行實(shí)現(xiàn);其次,作戰(zhàn)命令、戰(zhàn)場狀態(tài)改變和屬性狀態(tài)變化均可理解為引起作戰(zhàn)仿真Agent行為變化的事件,因此,使用事件數(shù)據(jù)集的形式進(jìn)行實(shí)現(xiàn);最后,由于作戰(zhàn)計(jì)劃包括了動(dòng)作行為及其相互關(guān)系,與其他數(shù)據(jù)在數(shù)據(jù)結(jié)構(gòu)和存儲(chǔ)方式上均有所不同,因此,采用計(jì)劃數(shù)據(jù)集的形式進(jìn)行實(shí)現(xiàn)。
軟件工程的許多工作主要集中在如何處理多部門平行開發(fā)、開發(fā)成果重用和大型軟件維護(hù)所帶來的復(fù)雜性問題,模塊化是解決這一系列問題的關(guān)鍵,隨著基于Agent的仿真系統(tǒng)開發(fā)的愈加復(fù)雜,也面臨著和其他類型軟件系統(tǒng)開發(fā)相同的問題。在長期的工程實(shí)踐過程中,Agent能力的概念應(yīng)運(yùn)而生,Agent能力通過將與Agent的某種功能相關(guān)的信念、愿望、意圖及其執(zhí)行方法的封裝,實(shí)現(xiàn)Agent的模塊化,基于能力的Agent可以被視為由不同的能力組成的集合。按照作戰(zhàn)仿真Agent仿真實(shí)現(xiàn)層對BDI模型要素的映射,作戰(zhàn)仿真Agent能力(Warfare Simulation Agent Capability,WSAC)可以定義為:WSAC={Identifier,Perceived Events,States,Plans,OtherWSAC},其中:
Identifier表示能力的惟一性標(biāo)識,包括名稱、類型、編號和層級等內(nèi)容;
Perceived Events表示在本能力外由其他Agent或本Agent的其他能力所產(chǎn)生,并被本能力所關(guān)注,并能夠進(jìn)行處理的事件,事件包括了事件類型、事件名稱、與該事件有關(guān)的計(jì)劃集合等內(nèi)容;
States表示與本能力相關(guān)的所有狀態(tài)信息,包括戰(zhàn)技性能指標(biāo)、空間位置屬性、作戰(zhàn)任務(wù)狀態(tài)、其他Agent的狀態(tài)和環(huán)境狀態(tài)等內(nèi)容,在仿真執(zhí)行過程中,可以通過狀態(tài)改變事件進(jìn)行狀態(tài)變量的更新,并可對狀態(tài)的外部可見性進(jìn)行區(qū)分;
Plans表示為處理某一個(gè)事件,所要執(zhí)行的具體實(shí)施計(jì)劃的集合,每一條計(jì)劃包括了處理事件、計(jì)劃內(nèi)容、狀態(tài)要求和權(quán)重系數(shù)等屬性;
OtherWSAC表示與該能力執(zhí)行中需要調(diào)用的其他能力,能力之間通過事件和直接訪問的方式進(jìn)行交互。
基于單一WSAC的作戰(zhàn)仿真Agent決策行為的基本過程如圖3所示。首先,Agent將環(huán)境產(chǎn)生的事件按照WSAC的Perceived Events數(shù)據(jù)集的需求,發(fā)送給對應(yīng)的WSAC,WSAC根據(jù)事件更新狀態(tài)集合;其次,接收到事件后,WSAC在Perceived Events數(shù)據(jù)集中進(jìn)行查找,找到該事件及其對應(yīng)的計(jì)劃集合,按照權(quán)重系數(shù)選擇執(zhí)行計(jì)劃;最后,在計(jì)劃集合中查找該計(jì)劃,并根據(jù)計(jì)劃的狀態(tài)要求與狀態(tài)集合進(jìn)行比對,確定計(jì)劃執(zhí)行滿足條件后,執(zhí)行該計(jì)劃,否則選擇其他計(jì)劃執(zhí)行,計(jì)劃執(zhí)行中更新狀態(tài)集合數(shù)據(jù)。
為進(jìn)一步提升Agent能力實(shí)現(xiàn)的模塊化水平,增強(qiáng)對于層次化能力結(jié)構(gòu)的表述,實(shí)現(xiàn)慎思型Agent推理過程的組合運(yùn)用,提高作戰(zhàn)仿真Agent決策的時(shí)效性和準(zhǔn)確性,需要引入Agent能力關(guān)系的概念[19],這種能力關(guān)系包括3種類型:
1)協(xié)作關(guān)系。該類型關(guān)系指為完成某一個(gè)作戰(zhàn)任務(wù),需要以某一個(gè)能力為主,在其他能力的協(xié)助下共同完成,此時(shí),能力之間的關(guān)系為協(xié)作關(guān)系,如圖4a所示,火力打擊能力需要在戰(zhàn)場機(jī)動(dòng)能力、偵察情報(bào)能力和通信指揮能力的協(xié)作下,完成火力打擊任務(wù)。
2)組成關(guān)系。該類型關(guān)系指某一高層次能力由多個(gè)低層次子能力構(gòu)成,依托該關(guān)系可實(shí)現(xiàn)作戰(zhàn)仿真Agent的多層次推理,如圖4b所示,指揮控制能力由決策能力、通信能力、終端操作能力構(gòu)成。
3)泛化關(guān)系。該類型關(guān)系指能力之間的一般與特殊的關(guān)系,在新的能力出現(xiàn)后,可以基于已有的一般能力,在繼承的基礎(chǔ)上進(jìn)行能力擴(kuò)展,從而提高能力的復(fù)用性,如圖4c所示,裝甲車機(jī)動(dòng)能力、坦克車機(jī)動(dòng)力和輪式車輛機(jī)動(dòng)能力可以繼承自機(jī)動(dòng)能力。
圖3 基于作戰(zhàn)仿真Agent能力的Agent決策行為過程
圖4 作戰(zhàn)仿真Agent能力的關(guān)系
圖5 作戰(zhàn)仿真Agent能力組件結(jié)構(gòu)
作戰(zhàn)仿真Agent的能力組件是構(gòu)成作戰(zhàn)仿真Agent的核心功能實(shí)現(xiàn)單元,是對WSAC在功能實(shí)現(xiàn)層次的進(jìn)一步封裝,使其具備根據(jù)能力內(nèi)容進(jìn)行自主決策和行為執(zhí)行的能力,其體系結(jié)構(gòu)如圖5所示,主要包括事件接收機(jī)、決策推理機(jī)、行為執(zhí)行機(jī)和能力體4個(gè)功能部件。事件接收機(jī)主要功能為接收來自外部(環(huán)境、其他Agent和本Agent的其他能力組件)和內(nèi)部(能力組建運(yùn)行中產(chǎn)生的事件)的事件消息,構(gòu)成一個(gè)事件緩存隊(duì)列;決策推理機(jī)主要完成根據(jù)外部事件觸發(fā),更新狀態(tài)數(shù)據(jù),查詢最優(yōu)方案,控制行為執(zhí)行的功能;能力體包括事件集、狀態(tài)集、計(jì)劃集合相關(guān)能力組建集4個(gè)數(shù)據(jù)集合,是能力組建的核心部件,主要功能為對能力數(shù)據(jù)進(jìn)行記錄,管理,為決策推理機(jī)等部件提供基本知識數(shù)據(jù);行為執(zhí)行機(jī)根據(jù)決策推理機(jī)選擇的計(jì)劃執(zhí)行,在執(zhí)行過程中不斷更新狀態(tài)集數(shù)據(jù),并根據(jù)情況變化產(chǎn)生外部和內(nèi)部事件。
事件集、狀態(tài)集和計(jì)劃集是能力體的3個(gè)核心數(shù)據(jù)集合,是能力體發(fā)揮作用的關(guān)鍵,因此,能否按照作戰(zhàn)仿真Agent能力的基本理論和要求,對事件、狀態(tài)和計(jì)劃的具體實(shí)現(xiàn)進(jìn)行設(shè)計(jì),決定了作戰(zhàn)仿真Agent能否實(shí)現(xiàn)自主決策和智能推理。
1)事件。事件Event可以定義為:Event={ID,Type,TimeRule,PlansList,EData},其中,ID表示對事件的唯一標(biāo)識,Type表示對事件的類型劃分,TimeRule表示對事件處理的時(shí)限性要求,PlanList表示處理該事件的相關(guān)計(jì)劃集合,EData表示與該類型事件相關(guān)的數(shù)據(jù)。事件各屬性的數(shù)據(jù)類型和其他情況說明如表1。
表1 事件結(jié)構(gòu)體數(shù)據(jù)項(xiàng)
2)狀態(tài)。狀態(tài)State可以定義為:State={ID,Type,AgentLocation,CapbilityLocation,SData},其中,ID表示對狀態(tài)的唯一標(biāo)識,Type表示狀態(tài)數(shù)據(jù)的類型,AgentLocation表示狀態(tài)數(shù)據(jù)的Agent位置,CapbilityLocation表示狀態(tài)數(shù)據(jù)的能力組件位置,SData表示與該類型狀態(tài)對應(yīng)的數(shù)據(jù)。狀態(tài)各屬性的數(shù)據(jù)類型和其他情況說明如表2。
表2 狀態(tài)結(jié)構(gòu)體數(shù)據(jù)項(xiàng)
3)計(jì)劃。計(jì)劃Plan可以定義為:Plan={ID,EventType,Order,StateID,SCondition,SubPlanList},其中,ID表示對計(jì)劃的唯一標(biāo)識,EventType表示計(jì)劃對應(yīng)的事件,Order表示該計(jì)劃的優(yōu)先級,StateID表示執(zhí)行該計(jì)劃對應(yīng)狀態(tài),SCondition表示執(zhí)行該計(jì)劃滿足的狀態(tài)要求,SubPlanList表示該計(jì)劃具體的子計(jì)劃。計(jì)劃各屬性的數(shù)據(jù)類型和其他情況說明如表3。
表3 計(jì)劃結(jié)構(gòu)體數(shù)據(jù)項(xiàng)
對于能力組件的功能結(jié)構(gòu)和能力體的要素,采用12個(gè)功能類進(jìn)行實(shí)現(xiàn),所建立的作戰(zhàn)仿真Agent能力組件的類圖如圖6所示。其中,CapComponent類是整個(gè)能力組件的管理類,對EventReceiver、Reasoner、ActionExecute和Capability 4個(gè)功能部件類進(jìn)行統(tǒng)一管理控制,4個(gè)功能部件類與能力組件結(jié)構(gòu)設(shè)計(jì)中的功能部件相對應(yīng),分別實(shí)現(xiàn)接收內(nèi)外事件、決策推理、行為執(zhí)行和能力知識與數(shù)據(jù)管理的功能;EventSet、StateSet、PlanSet和CapComponnetSet類是能力的數(shù)據(jù)管理類,對Event類、State類和Plan類等能力要素類對象進(jìn)行管理,數(shù)據(jù)管理類對象由Capability類進(jìn)行管理。
圖6 作戰(zhàn)仿真Agent能力組件的功能類
圖7 作戰(zhàn)仿真Agent能力組件的執(zhí)行流程
根據(jù)作戰(zhàn)仿真Agent能力組件的功能類設(shè)計(jì)和基于單一WSAC的作戰(zhàn)仿真Agent決策行為的基本過程,設(shè)計(jì)能力組件的執(zhí)行算法,以4個(gè)功能部件類的交互關(guān)系對執(zhí)行算法進(jìn)行表述,構(gòu)建的交互圖模型如圖7所示。能力組件的執(zhí)行包括3個(gè)獨(dú)立平行運(yùn)行的循環(huán)線程,第1個(gè)循環(huán)線程是事件接收,主要執(zhí)行過程為EventReceiver接收事件,放入事件緩存,根據(jù)事件類型是否為本組件處理和相關(guān)組件處理,分別通知Resaoner或Cpability進(jìn)行事件處理;第2個(gè)循環(huán)線程是決策推理,主要執(zhí)行過程為Reasoner解析事件,根據(jù)事件數(shù)據(jù),更新狀態(tài)集合,查找和按照優(yōu)先級選擇執(zhí)行計(jì)劃,根據(jù)計(jì)劃執(zhí)行的狀態(tài)約束對計(jì)劃是否可執(zhí)行進(jìn)行判斷,并通知ActionExecute對計(jì)劃進(jìn)行執(zhí)行;第3個(gè)循環(huán)線程是行為執(zhí)行,ActionExecute接收執(zhí)行計(jì)劃,進(jìn)行執(zhí)行,并更新狀態(tài)數(shù)據(jù),根據(jù)實(shí)際情況產(chǎn)生內(nèi)部事件進(jìn)行戰(zhàn)場情況的自適應(yīng)運(yùn)行。
基于能力組件的作戰(zhàn)仿真Agent主要由通用執(zhí)行模塊和能力組件構(gòu)成,不同的作戰(zhàn)仿真Agent通用執(zhí)行模塊相同,但能力組件不同,通用執(zhí)行模塊的主要功能是實(shí)現(xiàn)Agent與環(huán)境的數(shù)據(jù)通信,對能力組件進(jìn)行集中管理和統(tǒng)一調(diào)度,其體系結(jié)構(gòu)如圖8所示。通用執(zhí)行模塊主要包括交互數(shù)據(jù)通信模塊、作戰(zhàn)仿真Agent管理控制模塊、作戰(zhàn)仿真Agent能力組件管理模塊和Agent交互條件數(shù)據(jù)庫。交互數(shù)據(jù)通信模塊主要功能為按照作戰(zhàn)Agent通信語言,依據(jù)作戰(zhàn)Agent交互協(xié)議完成多Agent之間的數(shù)據(jù)通信;作戰(zhàn)仿真Agent管理控制模塊主要功能為對整個(gè)作戰(zhàn)仿真Agent的各模塊進(jìn)行管理控制,實(shí)現(xiàn)從事件獲取到動(dòng)作執(zhí)行全決策過程的運(yùn)行控制;作戰(zhàn)仿真Agent能力組件管理模塊主要功能為對能力組件及其注冊事件進(jìn)行統(tǒng)一管理,在管理控制模塊的控制下,完成作戰(zhàn)仿真Agent決策推理和作戰(zhàn)行為執(zhí)行的任務(wù);Agent交互條件數(shù)據(jù)庫主要功能為對編程編組數(shù)據(jù)、指揮系統(tǒng)數(shù)據(jù)和交互協(xié)議數(shù)據(jù)進(jìn)行管理,為其他模塊提供作戰(zhàn)仿真Agent交互關(guān)系條件的查詢和數(shù)據(jù)更新接口服務(wù)。
能力組件集合數(shù)據(jù)結(jié)構(gòu)是作戰(zhàn)仿真Agent通用執(zhí)行模塊設(shè)計(jì)的關(guān)鍵,其主要作用就是對于能力的關(guān)系進(jìn)行表述,以便于對能力組件進(jìn)行高效的訪問。由于能力關(guān)系中的泛化關(guān)系表示了能力之間的繼承關(guān)系,因此,在能力組件的具體實(shí)現(xiàn)中,不會(huì)對父類進(jìn)行實(shí)例化,因此能力組件集合的數(shù)據(jù)結(jié)構(gòu)主要對協(xié)作關(guān)系和組成關(guān)系進(jìn)行表述,采用二叉樹的數(shù)據(jù)結(jié)構(gòu)進(jìn)行表示,具體實(shí)現(xiàn)方法為對Capbility類增加CapComS屬性,該屬性的數(shù)據(jù)類型為CapComponentPointerSet結(jié)構(gòu)體指針(見圖6),其中,CapComponentPointerSet數(shù)據(jù)結(jié)構(gòu)包括以CapComponent*為數(shù)據(jù)類型的Relation和Compose屬性,分別表示協(xié)作關(guān)系和組成關(guān)系,以及Next屬性,以便于對能力組件按照屬性結(jié)構(gòu)進(jìn)行數(shù)據(jù)組織。以火力打擊能力為例,其數(shù)據(jù)結(jié)構(gòu)如圖9所示?;鹆Υ驌裟芰Π?個(gè)協(xié)作關(guān)系的能力和3個(gè)組成關(guān)系的能力,按照能力組件集合的數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì),所形成的數(shù)據(jù)結(jié)構(gòu)為:火力打擊能力組件的Relation屬性指向第1個(gè)通信指揮能力組件,通信指揮能力組件使用Next屬性與偵察情報(bào)和戰(zhàn)場機(jī)動(dòng)能力組件形成線性列表關(guān)系;火力打擊能力組件的Compose屬性指向第1個(gè)跟蹤瞄準(zhǔn)能力組件,跟蹤瞄準(zhǔn)能力組件使用Next屬性與激光制導(dǎo)和效果評估能力組件形成線性列表關(guān)系。
圖8 作戰(zhàn)仿真Agent通用執(zhí)行模塊功能結(jié)構(gòu)
圖9 能力組件集合的數(shù)據(jù)結(jié)構(gòu)
通用執(zhí)行模塊,采用10個(gè)功能類進(jìn)行實(shí)現(xiàn),所建立的基于能力組件的作戰(zhàn)仿真Agent通用執(zhí)行模塊的類圖如圖10所示。其中,BaseAgent類代表作戰(zhàn)仿真Agent,對AgentManager、Communication、InterConditionDataBase和CapbilityManager類等通用執(zhí)行模塊功能類進(jìn)行管理,主要功能是為仿真系統(tǒng)提供該作戰(zhàn)仿真Agent的執(zhí)行接口,啟動(dòng)和循環(huán)執(zhí)行仿真過程;AgentManager類實(shí)現(xiàn)作戰(zhàn)仿真Agent管理控制模塊的功能;Communication類實(shí)現(xiàn)交互數(shù)據(jù)通信模塊的功能;InterConditionDataBase類實(shí)現(xiàn)Agent交互條件數(shù)據(jù)庫模塊的功能,包括:GroupStructDataManager類,實(shí)現(xiàn)作戰(zhàn)編組數(shù)據(jù)的管理與查詢,CommunicationNetManager類,實(shí)現(xiàn)作戰(zhàn)實(shí)體指揮信息系統(tǒng)網(wǎng)絡(luò)數(shù)據(jù)的管理與查詢,InterProtoclsManager類,實(shí)現(xiàn)作戰(zhàn)仿真實(shí)體交互協(xié)議數(shù)據(jù)的管理與查詢;CapbilityManager類實(shí)現(xiàn)作戰(zhàn)仿真Agent能力組件管理模塊的功能,包括:RegisterEventSet類,實(shí)現(xiàn)對能力組件可處理事件的注冊與管理,CapbilitySet類,實(shí)現(xiàn)對能力組件的管理和事件處理。
圖10 作戰(zhàn)仿真Agent通用執(zhí)行模塊功能類
根據(jù)作戰(zhàn)仿真Agent通用執(zhí)行模塊的功能類設(shè)計(jì)和能力組件的執(zhí)行流程,設(shè)計(jì)通用執(zhí)行模塊的執(zhí)行算法,以4個(gè)通用執(zhí)行模塊類的交互關(guān)系對執(zhí)行算法進(jìn)行表述,構(gòu)建的活動(dòng)圖模型如圖11所示,執(zhí)行的主要過程為:Communication類根據(jù)接收到的數(shù)據(jù),通知AgentManager類進(jìn)行數(shù)據(jù)的讀取和處理,AgentManager類根據(jù)數(shù)據(jù)類型進(jìn)行處理,如果為系統(tǒng)數(shù)據(jù),根據(jù)數(shù)據(jù)更新要求,調(diào)用InerConditionDataBase類對組織結(jié)構(gòu)數(shù)據(jù)和通信網(wǎng)絡(luò)數(shù)據(jù)等進(jìn)行更新;如果為事件,則將事件轉(zhuǎn)發(fā)給CapabilityManager類,CapabilityManager類接收事件,并根據(jù)事件注冊判斷,是否處理該事件,如果處理該事件,則通過CapbilitySet類查找到處理該事件的CapbilityComponent類進(jìn)行處理,并根據(jù)需要,向InterConditionDataBase類查詢交互條件,調(diào)用Communication類與其他Agent進(jìn)行通信。
本文所提出的基于能力組件的作戰(zhàn)仿真Agent模塊化結(jié)構(gòu)設(shè)計(jì)方法的根本目標(biāo),在于使作戰(zhàn)仿真Agent能夠更加真實(shí)地仿真實(shí)際作戰(zhàn)行為,并基于真實(shí)作戰(zhàn)行為的仿真,發(fā)現(xiàn)作戰(zhàn)規(guī)律,檢驗(yàn)評估戰(zhàn)法,為作戰(zhàn)人員的戰(zhàn)法選擇、決策制定提供定量分析的依據(jù)。裝甲分隊(duì)(包括坦克連、戰(zhàn)車排等)作戰(zhàn)仿真是陸軍體系作戰(zhàn)仿真的基礎(chǔ),主要用于探索復(fù)雜陸戰(zhàn)系統(tǒng)行為規(guī)律。因此,為仿真驗(yàn)證本文所提出的基于能力組件的作戰(zhàn)仿真Agent模塊化結(jié)構(gòu)設(shè)計(jì)的可行性及有效性,并分析方法應(yīng)用的局限性,以坦克連進(jìn)攻戰(zhàn)斗中“正面攻擊”和“正擊側(cè)攻”2種典型戰(zhàn)法的仿真評估(戰(zhàn)損情況和作戰(zhàn)效率2個(gè)方面)為目標(biāo),構(gòu)設(shè)了一個(gè)“紅軍某新型坦克連對藍(lán)軍戰(zhàn)車排進(jìn)攻戰(zhàn)斗”的仿真實(shí)驗(yàn)想定條件,主要內(nèi)容包括:戰(zhàn)場環(huán)境:中等起伏丘陵地;作戰(zhàn)階段劃分:機(jī)動(dòng)展開、沖擊突破和戰(zhàn)斗結(jié)束;作戰(zhàn)兵力規(guī)模:紅方1個(gè)坦克連(10輛坦克,配屬3輛步戰(zhàn)車),藍(lán)方一個(gè)戰(zhàn)車排(4輛戰(zhàn)車);信息通聯(lián)情況:紅、藍(lán)雙方分別組建戰(zhàn)術(shù)互聯(lián)網(wǎng);仿真結(jié)束條件:對抗雙方一方被全部消滅;仿真實(shí)驗(yàn)平臺(tái):基于白方Agent的通用作戰(zhàn)仿真控制系統(tǒng)(軟件著作權(quán)登記號:2016SR110946)。白方Agent主要實(shí)現(xiàn)作戰(zhàn)仿真Agent模型之外的仿真系統(tǒng)的態(tài)勢顯示控制、數(shù)據(jù)統(tǒng)計(jì)分析、通信服務(wù)等功能。新型坦克改進(jìn)情況:新型坦克(Ⅱ型)是在是在原有型號(Ⅰ型)基礎(chǔ)上,在底盤等部分保持不變的情況下,通過對火控系統(tǒng)和信息系統(tǒng)升級改造形成的改進(jìn)型號;已有能力組件:原有型號坦克的全部能力組件、紅軍步戰(zhàn)車的全部能力組件和藍(lán)軍步戰(zhàn)車的全部能力組件。
圖11 作戰(zhàn)仿真Agent通用執(zhí)行模塊執(zhí)行過程
圖12 作戰(zhàn)仿真初始態(tài)勢
仿真粒度及作戰(zhàn)仿真Agent映射關(guān)系:仿真粒度為單裝平臺(tái)級,即采用將1個(gè)坦克、步戰(zhàn)車等作戰(zhàn)實(shí)體直接映射為1個(gè)Agent的方式。紅方作戰(zhàn)力量映射為1個(gè)坦克連長車指揮Agent,3個(gè)坦克排長車指揮Agent、6個(gè)戰(zhàn)斗坦克Agent和3個(gè)步戰(zhàn)車Agent,藍(lán)方作戰(zhàn)力量映射為1個(gè)戰(zhàn)車排長車指揮Agent和3個(gè)戰(zhàn)車Agent,共計(jì)6類17個(gè)作戰(zhàn)仿真Agent。
仿真初始態(tài)勢:仿真初始態(tài)勢如圖12所示,藍(lán)軍戰(zhàn)車排已經(jīng)進(jìn)入防御陣地,完成戰(zhàn)斗準(zhǔn)備,紅軍坦克連從行軍轉(zhuǎn)入疏開隊(duì)形,3個(gè)坦克排按照預(yù)定路線機(jī)動(dòng)接敵。
根據(jù)基于能力組件的作戰(zhàn)仿真Agent模塊化結(jié)構(gòu)設(shè)計(jì),各作戰(zhàn)仿真Agent的通用執(zhí)行模塊是相同的,區(qū)分不同作戰(zhàn)仿真Agent模型的關(guān)鍵在Agent所包含的能力組件,因此,基于仿真條件中給出的已有能力組件,針對仿真實(shí)驗(yàn)想定設(shè)置的6類作戰(zhàn)仿真Agent建模的實(shí)際需要,所構(gòu)建的能力組件結(jié)構(gòu)如圖13所示,其中,灰色的矩形代表了為本仿真實(shí)例新開發(fā)的能力組件,白色矩形代表了已有能力組件,圓角矩形代表了6類作戰(zhàn)仿真Agent,各能力之間構(gòu)成了協(xié)作(實(shí)心箭頭表示)、組成(空心菱形表示)和泛化(空心箭頭表示)關(guān)系。
圖13 裝甲分隊(duì)平臺(tái)級作戰(zhàn)仿真Agent能力組件結(jié)構(gòu)
將仿真案例中確定的6類基于能力組件的作戰(zhàn)仿真Agent模型,按照圖12所設(shè)計(jì)的能力組件關(guān)系結(jié)構(gòu),與通用執(zhí)行模塊一同,在Microsoft Visual Studio 2010編譯環(huán)境中進(jìn)行了編譯,共生成了TankCompanyAgent.dll、TankPlatoonAgent.dll和TankAgent.dll等6個(gè)動(dòng)態(tài)庫,將生成的動(dòng)態(tài)庫以仿真模型的形式嵌入“基于白方Agent的通用作戰(zhàn)仿真控制系統(tǒng)”中使用,利用該系統(tǒng)已有的仿真條件輸入、態(tài)勢顯示控制、數(shù)據(jù)統(tǒng)計(jì)分析、通信服務(wù)、時(shí)間與模型管理和數(shù)據(jù)庫管理等仿真平臺(tái)功能,按照仿真想定要求,分別針對“正面攻擊”(戰(zhàn)法1)和“正擊側(cè)攻”(戰(zhàn)法2)2種典型戰(zhàn)法,進(jìn)行了100次的紅軍坦克連對藍(lán)軍戰(zhàn)車排進(jìn)攻戰(zhàn)斗的仿真推演,仿真推演界面如圖14所示,推演過程如圖15所示。
圖14 仿真實(shí)例運(yùn)行界面
圖15 仿真過程二維態(tài)勢
1)可行性分析。可行性分析是指根據(jù)仿真實(shí)驗(yàn)的數(shù)據(jù)結(jié)果,對本文所提出的基于能力組件的作戰(zhàn)仿真Agent模塊化結(jié)構(gòu)設(shè)計(jì)方法,是否滿足作戰(zhàn)仿真實(shí)際需要的分析,根據(jù)作戰(zhàn)仿真的目標(biāo),主要包括兩個(gè)方面,一是所構(gòu)建的作戰(zhàn)仿真Agent的行為是否符合作戰(zhàn)行為實(shí)際,二是基于Agent的作戰(zhàn)仿真能夠評估戰(zhàn)法,發(fā)現(xiàn)作戰(zhàn)行為規(guī)律。
(1)仿真實(shí)際作戰(zhàn)行為。通過對仿真想定所設(shè)置的2種戰(zhàn)法的作戰(zhàn)仿真過程的回放和數(shù)據(jù)統(tǒng)計(jì),軍事專業(yè)人員認(rèn)為基于能力組件的作戰(zhàn)仿真Agent對于作戰(zhàn)命令事件、戰(zhàn)場狀態(tài)改變事件和屬性狀態(tài)改變事件的計(jì)劃處置情況,符合仿真Agent和戰(zhàn)場環(huán)境狀態(tài)實(shí)際,總體與實(shí)際作戰(zhàn)理論與經(jīng)驗(yàn)一致(具體數(shù)據(jù)見表4),滿足了仿真可信度的要求。
表4 事件處理結(jié)果數(shù)據(jù)統(tǒng)計(jì)
(2)發(fā)現(xiàn)作戰(zhàn)行為規(guī)律。根據(jù)對坦克連進(jìn)攻戰(zhàn)斗中“正面攻擊”和“正擊側(cè)攻”2種典型戰(zhàn)法的仿真評估目標(biāo),分別對相同條件下的2種戰(zhàn)法的“紅方戰(zhàn)斗結(jié)束后剩余車輛數(shù)”和“戰(zhàn)斗結(jié)束時(shí)間”2個(gè)數(shù)據(jù)項(xiàng)進(jìn)行了迭代仿真100次的數(shù)據(jù)統(tǒng)計(jì),統(tǒng)計(jì)結(jié)果如圖16所示?!凹t方戰(zhàn)斗結(jié)束后剩余車輛數(shù)”經(jīng)過仿真迭代,戰(zhàn)法1平均為5.15臺(tái),戰(zhàn)法2平均為8.55臺(tái),“戰(zhàn)斗結(jié)束時(shí)間”經(jīng)過仿真迭代,戰(zhàn)法1平均為46.14分,戰(zhàn)法2平均為32.72分,通過仿真數(shù)據(jù)可見,使用戰(zhàn)法2紅方戰(zhàn)損數(shù)量較少,完成戰(zhàn)斗的時(shí)間較短,因此,在地形條件和敵情條件允許的情況下,使用“正擊側(cè)攻”的戰(zhàn)法,可提高戰(zhàn)斗效能,以較小的代價(jià)和較高的效率,達(dá)成戰(zhàn)斗目標(biāo)。
2)有效性分析。有效性分析是指在可行性要求滿足的基礎(chǔ)上,對本文所提出的基于能力組件的作戰(zhàn)仿真Agent模塊化結(jié)構(gòu)設(shè)計(jì)方法,是否能夠提高作戰(zhàn)仿真Agent的模塊化程度,提高仿真模型的復(fù)用性和開發(fā)效率進(jìn)行分析。首先,從作戰(zhàn)仿真Agent的體系結(jié)構(gòu)來看,無論從通用執(zhí)行程序(通用執(zhí)行模塊),還是從作戰(zhàn)領(lǐng)域模型程序(能力組件)均實(shí)現(xiàn)了模塊化;其次,與傳統(tǒng)的將作戰(zhàn)仿真Agent的所有功能集中在知識庫、行為庫、事件庫中的實(shí)現(xiàn)方法相比較,傳統(tǒng)的作戰(zhàn)仿真Agent的復(fù)用是在C++(或其他語言)類的層次上進(jìn)行的,而本文所提出的方法,是在組件層次上的復(fù)用,比傳統(tǒng)的方法復(fù)用效率有了較大的提高,為仿真模型的模塊級層次復(fù)用提供了結(jié)構(gòu)基礎(chǔ);最后,從本仿真實(shí)驗(yàn)案例的能力組件結(jié)構(gòu)(如圖13所示)來看,針對新型坦克進(jìn)行作戰(zhàn)仿真的能力組件的復(fù)用情況如表5所示。
圖16 作戰(zhàn)仿真實(shí)驗(yàn)的戰(zhàn)損及戰(zhàn)斗時(shí)間的統(tǒng)計(jì)數(shù)據(jù)
表5 作戰(zhàn)仿真Agent能力組件的復(fù)用情況
其復(fù)用率為:
可見,能力組件的復(fù)用率較高,同時(shí),新的能力組件開發(fā),只需要關(guān)注新型坦克與原型坦克的不同,在現(xiàn)有的體系框架內(nèi)進(jìn)行開發(fā),避免了針對框架的重復(fù)開發(fā)工作。因此,本文所提出的基于能力組件的作戰(zhàn)仿真Agent模塊化結(jié)構(gòu)設(shè)計(jì)方法對于提高仿真模型的復(fù)用性和開發(fā)效率具有一定的效果。
3)局限性分析
本文對作戰(zhàn)仿真Agent采用了慎思型BDI的決策機(jī)制模型,相比于傳統(tǒng)的反應(yīng)型模型,從理論上講,在決策處理的時(shí)間消耗會(huì)有所提高,為對這一問題進(jìn)行定量化分析,基于性能分析軟件,對仿真實(shí)例進(jìn)行了軟件執(zhí)行性能測試,系統(tǒng)運(yùn)行的硬件基本環(huán)境為:CPUXeon3.2GHz,內(nèi)存32G,顯卡NVIDIA Quadro5000,操作系統(tǒng)Window 7 64位旗艦版,性能測試工具為Vtune Performance Analyzer 8.0,1個(gè)仿真周期的CPU執(zhí)行時(shí)間測試結(jié)果如圖17所示,反應(yīng)型數(shù)據(jù)來源于實(shí)驗(yàn)室歷史數(shù)據(jù)。EventReceiver、Reasoner和ActionExecute分別對應(yīng)圖10中的功能類,表示該類中函數(shù)的執(zhí)行時(shí)間,Other代表了除了以上類函數(shù)的執(zhí)行時(shí)間外,1個(gè)仿真周期內(nèi)的數(shù)據(jù)讀寫、態(tài)勢渲染和模型管理等函數(shù)的執(zhí)行時(shí)間。通過數(shù)據(jù)可見,機(jī)動(dòng)展開階段,處理的事件和交互關(guān)系較少,慎思型和反應(yīng)型的Agent執(zhí)行時(shí)間差距不大,但是沖擊突破階段,處理的事件和交互關(guān)系更為復(fù)雜,慎思型的Agent執(zhí)行時(shí)間明顯增加。因此,在計(jì)算能力有限,執(zhí)行效率要求較高的情況下,本文所提出的方法比較適于Agent數(shù)量較少,仿真行為與復(fù)雜系統(tǒng)的實(shí)際行為之間的一致性要求較高的小規(guī)模分隊(duì)級作戰(zhàn)仿真Agent使用,對于規(guī)模大、數(shù)量多的基于Agent的作戰(zhàn)仿真而言,采用該方法會(huì)出現(xiàn)仿真運(yùn)行時(shí)間較長的問題。
圖17 仿真模型的執(zhí)行性能比較
本文針對作戰(zhàn)仿真Agent軟件實(shí)現(xiàn)中存在的模塊化程度不高,復(fù)用性較差和開發(fā)效率較低的問題,從軍事需求出發(fā),提出了BDI模型在作戰(zhàn)仿真Agent中的實(shí)現(xiàn)方式,基于Agent能力及其能力封裝的基本概念,對作戰(zhàn)仿真Agent的BDI模型進(jìn)行了能力封裝,構(gòu)建了可模塊化組合的能力關(guān)系,對作戰(zhàn)仿真Agent的能力組件和基于能力組件的作戰(zhàn)仿真Agent通用執(zhí)行模塊進(jìn)行了結(jié)構(gòu)、要素、功能類和執(zhí)行算法的設(shè)計(jì),形成了一種基于能力組件的作戰(zhàn)仿真Agent模塊化結(jié)構(gòu)設(shè)計(jì)方法,并構(gòu)建了一個(gè)“紅軍新型坦克連對藍(lán)軍戰(zhàn)車排進(jìn)攻戰(zhàn)斗”的仿真想定和應(yīng)用案例,通過仿真模型的構(gòu)成和仿真系統(tǒng)的運(yùn)行,驗(yàn)證了所提出的模塊化設(shè)計(jì)方法的可行性和有效性。該方法通過作戰(zhàn)仿真Agent能力層次的模塊化結(jié)構(gòu)設(shè)計(jì),提高了作戰(zhàn)仿真Agent模型構(gòu)建的質(zhì)量和軟件開發(fā)的工作效率,保證了仿真行為與復(fù)雜系統(tǒng)的實(shí)際行為之間的一致性,通過性能分析,該方法主要適用于規(guī)模小、精度要求高的分隊(duì)平臺(tái)級作戰(zhàn)仿真,下一步將對該方法進(jìn)行功能拓展,使之能應(yīng)用于更高層次,更大規(guī)模的基于Agent的體系作戰(zhàn)仿真中。
[1]史忠植.智能主體及其應(yīng)用[M]. 北京: 科學(xué)出版社, 2000.
[2]廖守億, 王仕成, 張金生. 復(fù)雜系統(tǒng)基于Agent的建模與仿真[M]. 北京: 國防工業(yè)出版社, 2015.
[3]李雄. 基于Agent的作戰(zhàn)建模[M].北京:國防工業(yè)出版社, 2013.
[4]姜曉平, 朱奕, 傘冶. 基于復(fù)雜系統(tǒng)的信息化作戰(zhàn)仿真研究進(jìn)展[J]. 計(jì)算機(jī)仿真, 2014, 31(2): 8-13.
Jiang Xiaoping, Zhu Yi, San Ye. Survey of information-based combat simulation using complex systems theory[J]. Computer Simualtion, 2014, 31(2): 8-13.
[5]毛新軍, 胡翠云, 孫躍坤, 等. 面向Agent程序設(shè)計(jì)的研究[J]. 軟件學(xué)報(bào), 2012, 23(11): 2923-2936.
Mao Xinjun, Hu Cuiyun, Sun Yuekun, et al. Research on agent-oriented programming[J]. Journal of Software, 2012, 23(11): 2923-2936.
[6]胡翠云, 毛新軍, 陳寅. 基于組織的面向Agent程序設(shè)計(jì)及其語言O(shè)ragent[J]. 軟件學(xué)報(bào), 2012, 23(11): 2885-2900.
Hu Cuiyun, Mao Xinjun, Chen Yin. Organization-based agent-oriented programming and language oragent[J]. Journal of Software, 2012, 23(11): 2885-2900.
[7]毛新軍. 面向Agent軟件工程:現(xiàn)狀、挑戰(zhàn)與展望[J]. 計(jì)算機(jī)科學(xué), 2011, 38(1): 1-7.
Mao Xinjun. State-of-the-Art, challenges and perspectives of agent-oriented software engineering[J]. Computer Science, 2011, 38(1): 1-7.
[8]Dam H K, Winikoff M. Towards a next-generation AOSE methodology[J]. Science of Computer Programming,2013,78(6):684-694.
[9]余文廣, 王維平, 李群, 等. 模型驅(qū)動(dòng)的組件化Agent仿真模型開發(fā)方法[J]. 系統(tǒng)工程與電子技術(shù), 2011, 33(8): 1907-1912.
Yu Wenguang, Wang Weiping, Li Qun, et al. Modeldriven and componentbased development method ofagentbased simulation models[J]. Systems Engineering and Electronics, 2011, 33(8): 1907-1912.
[10] Joao D, Samuel M, Ana P. FAtiMA modular: towards an agentarchitecture with a generic appraisalframework[J]. Lecture Notes in Computer Science, 2014, 8751(1):44-56.
[11] 黃建新, 李群, 賈全, 等. 可組合的Agent體系仿真模型框架研究[J]. 系統(tǒng)工程與電子技術(shù), 2011, 33(7): 1553-1567.
Huang Jianxin, Li Qun, Jia Quan, et al.Research on composable agent model framework for SoS[J]. System Engineering and Electronics, 2011, 33(7): 1553-1567.
[12] Lin P, Patrick L. Formalisations of capabilities for BDI-agents[J]. Autonomous Agents and Multi-Agent Systems, 2005, 19(10): 249-271.
[13] Bratman M, Israel D, Pollack M. Plans and resource-bounded practical reasoning[J]. Computational Intelligence, 1988, 4(3): 349-355.
[14] Simeon V, John T, James H, et al. Preference-based reasoning in BDI agent systems[J]. Autonomous Agents and Multi-Agent Systems, 2016, 30(2): 291-330.
[15] Max W, Lin P, Sebastian S. Improving domain-independent intention seletion in BDI system[J]. Autonomous Agents and Multi-Agent Systems, 2015, 29(4): 683-717.
[16] Hanen L R, Fahem K, Lamjed B S. Computational models of immediate and expected emotions for emotional BDI agents[J]. Lecture Notes in Computer Science, 2015, 9120(1): 424-435.
[17] Rao A S, Georgeff M. BDI agents: from theory to practice[C]. 1st International Coference on Multi-Agent System, 1995, 312-319.
[18] James H, David N M, John T, et al. An operational semantics for the goal life-cycle in BDI agents[J]. Autonomous Agents and Multi-Agent Systems, 2014, 28(4): 682-719.
[19] Ingrid N. Improving the design and modularity of BDI agents with cpability relationships[J]. Lecture Notes in Computer Science, 2014, 8758(1): 58-80.
[20] 蒲瑋, 李雄, 陳強(qiáng). 基于MaSE的多Agent作戰(zhàn)仿真控制框架設(shè)計(jì)方法[J]. 裝甲兵工程學(xué)院學(xué)報(bào), 2015, 29(6): 64-71.
Pu Wei, Li Xiong, Chen Qiang. Multi-agent warfare simulation control framework design methodbased on MaSE[J]. Journal of Academy of Armored Force Engineering, 2015, 29(6): 64-71.
ModularizationStructureDesignforWarfareSimulationAgentBasedonCapabilityComponent
PU Wei,LI Xiong
(PLA Key Laboratory of Army Equipment Warfare Simulation, Academy of Armored Forces Engineering, Beijing 100072, China)
To solve the problem of low degree of modularity, low reuse and low development efficiency of warfare simulation agent software, a modularization structure design method for warfare simulation agent based on capability component is proposed. The implementation of BDI model in warfare simulation agent, and the basic concept of capability encapsulation and capability relationship are proposed. The structure, element, class and executive algorithm of warfare simulation agent’s capability component based on capability encapsulation are designed. The structure, data model, class and executive algorithm of warfare simulation agent’s general executive module based on capability component are designed. An instance of platform-level armored troop warfare modeling is used to verify the feasibility and effectiveness of the method.
agent; warfare simulation; capability; capability component; modularization
1672-3813(2017)03-0045-13;
10.13306/j.1672-3813.2017.03.004
TP391.9
A
2016-07-31;
2016-11-24
國家自然科學(xué)基金(61473311);北京市自然科學(xué)基金(9142017)
蒲瑋(1983-),男,河北石家莊人,博士研究生,主要研究方向?yàn)閺?fù)雜作戰(zhàn)系統(tǒng)仿真、裝備作戰(zhàn)仿真等。
(責(zé)任編輯耿金花)