王義冬 石偉峰 何洪雨 張偉峰
(1.中國人民解放軍91872部隊 北京 102442)(2.海軍駐北京地區(qū)航空導(dǎo)彈系統(tǒng)軍事代表室 北京 100854)(3.中國人民解放軍91115部隊 舟山 316041)
HLA規(guī)范已經(jīng)成為當(dāng)前裝備作戰(zhàn)仿真主流的運行框架。采用HLA規(guī)范有兩方面的優(yōu)點:1)HLA規(guī)范是當(dāng)前最為成熟、獲得應(yīng)用最為廣泛的一種分布式仿真標(biāo)準(zhǔn),按照此標(biāo)準(zhǔn)構(gòu)建系統(tǒng)能夠方便地與其他仿真系統(tǒng)實現(xiàn)互聯(lián);2)能夠充分利用現(xiàn)有的軟件資源(如RTI)來實現(xiàn)開發(fā)環(huán)境的底層支撐服務(wù)[1~3]。本文所研究的基于多Agent的裝備仿真系統(tǒng)是以HLA框架作為支撐環(huán)境。基于HLA規(guī)范的典型仿真系統(tǒng)的集成結(jié)構(gòu)如圖1所示。
圖1 基于HLA的仿真系統(tǒng)集成示意圖
它包括全局執(zhí)行進程RtiExec、聯(lián)邦執(zhí)行進程FedExec和LibRTI構(gòu)成,其中RtiExec負(fù)責(zé)聯(lián)邦運行的創(chuàng)建和結(jié)束;FedExec管理聯(lián)邦仿真過程,包括成員的加入、退出以及成員間的數(shù)據(jù)交換和協(xié)調(diào)運行;而LibRTI實現(xiàn)了HLA接口規(guī)范中定義的服務(wù),成員通過LibRTI庫調(diào)用RTI的各個服務(wù)。成員內(nèi)部的模型實現(xiàn)方式則由仿真應(yīng)用開發(fā)人員確定,它可以包含Agent模型,也可以包含非Agent模型。也就是說,HLA規(guī)范關(guān)心的是成員層次的互聯(lián)互操作,它將仿真應(yīng)用模型與仿真支撐功能相解耦,將公共的仿真支撐功能分離出來,建立了一套標(biāo)準(zhǔn)的仿真管理和數(shù)據(jù)交換服務(wù),為系統(tǒng)的互操作性、可重用性和可擴展性提供了仿真層次上的保證[4~5]。由此為基礎(chǔ),應(yīng)用開發(fā)人員就只需關(guān)心模型構(gòu)建方面的工作,從而大大節(jié)省了設(shè)計和開發(fā)的難度和工作量。
面向Agent的裝備作戰(zhàn)仿真系統(tǒng)解決方案包括兩個部分:開發(fā)階段和運行階段,總體結(jié)構(gòu)如圖2所示。
在開發(fā)階段,為了提高仿真應(yīng)用系統(tǒng)的開發(fā)效率,本文借鑒BOM(Base Object Model)相關(guān)理論,采用組件化的開發(fā)與系統(tǒng)集成思想。開發(fā)階段主要包括組件開發(fā),作戰(zhàn)A-gent組件的裝配以及系統(tǒng)的裝配。仿真組件是仿真模型的軟件實現(xiàn),組件開發(fā)以仿真建模為基礎(chǔ),包括接口組件和封裝組件的開發(fā)。接口組件開發(fā)以Agent之間的交互模型為基礎(chǔ),描述FOM或SOM的互操作模式,在系統(tǒng)運行時,通過RTI的數(shù)據(jù)分發(fā)功能,實現(xiàn)Agent之間的數(shù)據(jù)交互。封裝組件的開發(fā)以仿真建模階段提供的相關(guān)功能模型文檔(包括感知函數(shù)、作戰(zhàn)規(guī)約、作戰(zhàn)規(guī)劃、動作執(zhí)行函數(shù)等模型說明文檔)為基礎(chǔ),通過計算機語言編程為Agent組件的組裝提供軟件模型[6]。作戰(zhàn)Agent裝配以作戰(zhàn)Agent類庫為基礎(chǔ),對接口組件和封裝組件進行組裝,并封裝成作戰(zhàn)A-gent組件,使得作戰(zhàn)Agent組件成為功能相對獨立的軟件模塊。系統(tǒng)裝配以仿真建模生成的成員代碼框架為基礎(chǔ),根據(jù)系統(tǒng)部署圖,以作戰(zhàn)Agent組件為輸入,對聯(lián)邦成員進行組裝。
圖2 總體結(jié)構(gòu)圖
在運行階段,以HLA框架為仿真支撐基礎(chǔ),重點是面向作戰(zhàn)Agent的聯(lián)邦成員。面向作戰(zhàn)Agent的聯(lián)邦成員包括兩組容器:本地對象容器和遠程對象容器。本地對象容器包括本地的作戰(zhàn)Agent實體以及非Agent實體,這些實體決定了聯(lián)邦成員所仿真的內(nèi)容,在實際仿真運行時以組件調(diào)用的形式實現(xiàn)。在聯(lián)邦成員中對作戰(zhàn)Agent的部署通過組裝的形式實現(xiàn),系統(tǒng)裝配通過該成員的作戰(zhàn)Agent系統(tǒng)模型,從組件庫提取相應(yīng)的組件進行組裝,形成多個作戰(zhàn)Agent實例,并部署到本地對象容器。需要說明的是,對于非Agent實體,仍然采取聯(lián)邦對象類實例實現(xiàn),具體可參考標(biāo)準(zhǔn)的聯(lián)邦開發(fā)過程[1~3],不是研究的范疇。對于遠程對象容器,主要存儲其它聯(lián)邦成員的實體在本聯(lián)邦成員中的映射,包括映射作戰(zhàn)Agent實體和映射非Agent實體,為了減輕網(wǎng)絡(luò)負(fù)載,遠程對象容器并不是存儲其他聯(lián)邦成員所有的遠程實體,而只存儲本聯(lián)邦成員“感興趣”的相關(guān)實體。RTI是HLA體系結(jié)構(gòu)中接口規(guī)范的軟件實現(xiàn),為仿真運行提供必要的服務(wù),同時也成為智能Agent通信的基礎(chǔ):對象管理服務(wù)能夠支持智能Agent動態(tài)的加入或退出聯(lián)邦,保證智能Agent仿真環(huán)境的可擴展性;聲明管理服務(wù)能夠靈活的確定智能Agent之間的消息傳遞關(guān)系;時間管理服務(wù)維護整個聯(lián)邦范圍內(nèi)時間的一致性,保證多個智能A-gent行為時序邏輯的正確性;數(shù)據(jù)分發(fā)管理服務(wù)使智能A-gent之間能夠高效地接收和發(fā)送事件和信息[7~8]。但是,在HLA仿真系統(tǒng)中,能夠從環(huán)境中獲取的數(shù)據(jù)(包括交互和屬性)都要在聯(lián)邦對象模型(FOM)中進行預(yù)先定義。與普通仿真對象不同,智能Agent是具有自主性和智能性的實體,因此,這種通過相對固定的FOM進行的交互難以保證智能 Agent通信的靈活性和開放性[10]。為了利用HLA/RTI在仿真建模和運行方面的優(yōu)勢,同時確保能夠支持規(guī)范和開放的智能Agent通信,在文獻[11]的基礎(chǔ)上,通過更靈活的方式將智能Agent的通信機制和HLA仿真系統(tǒng)的模型交互方式進行了有效結(jié)合。
綜上所述,該系統(tǒng)設(shè)計中必須解決以下兩個關(guān)鍵問題:
1)如何實現(xiàn)KQML-RTI控制器,通過 HLA/RTI與KQML的集成,實現(xiàn)智能Agent之間的通信和合作;
2)作戰(zhàn)Agent組件的實現(xiàn)及其組裝以及仿真系統(tǒng)的裝配等。
[1]Frederick Kuhl et al.Creating Computer Simulation Systems:An Introduction to the High Level Architecture[M].Prentice Hall,1999:163-164.
[2]張家祥.HLA仿真技術(shù)應(yīng)用教程[M].北京:國防工業(yè)出版社,2007:35-36.
[3]Kuhl F,Weatherly R,Dahmann J.著.付正軍,王永紅譯.計算機仿真中的HLA技術(shù)[M].北京:國防工業(yè)出版社,2004:120-124.
[4]Cicirelli F,F(xiàn)urfaro A,Giordano A,et al.An Agent Infrastructure for Distributed Simulations over HLA and a Case Study U-sing Unmanned Aerial Vehicles[J].Simulation Symposium,2007(12):231-238.
[5]Taghaddos H,AbouRizk S M,Mohamed Y,et al.Distributed Agent-based simulation of construction projects with HLA[C]//Simulation Conference,2008:2413-2420.
[6]Zhang Yongming,Zhao Jinchao,Qu Haoyan,et al.Research of the Simulation System of Ship Repair Based on Multi-Agent and HLA[C]//Intelligent Systems and Applications (ISA)2010,and International Workshop on Digital Object Identifier,2010:1-4.
[7]尹全軍,杜湘瑜,等.基于HLA的智能Agent仿真環(huán)境研究[J].系統(tǒng)仿真學(xué)報,2005,12(4):11-14.
[8]Zacharewicz G,Chen D,Vallespir B.Short-Lived Ontology Approach for Agent/HLA FederatedEnterprise Interoperability[C]//Interoperability for Enterprise Software and Applications China,2009:329-335.
[9]宋輝,周晶,鄒文萌.基于HLA的水面艦艇作戰(zhàn)仿真系統(tǒng)研究[J].計算機與數(shù)字工程,2011(9).
[10]王漢功,甘茂治,陳學(xué)楚,等.裝備全系統(tǒng)全壽命管理[M].北京:國防工業(yè)出版社,2003:149.
[11]Moradi F,Ayani R.An Agent-Based Environment for Simulation Model Composition[C]//Principles of Advanced and Distributed Simulation,2008.PADS'08.and Workshop on Digital Object Identifier:10.1109/PADS.2008.18,Publication Year:2008:175-184.