王義冬 石偉峰 何洪雨 張偉峰
(1.中國人民解放軍91872部隊 北京 102442)(2.海軍駐北京地區航空導彈系統軍事代表室 北京 100854)(3.中國人民解放軍91115部隊 舟山 316041)
HLA規范已經成為當前裝備作戰仿真主流的運行框架。采用HLA規范有兩方面的優點:1)HLA規范是當前最為成熟、獲得應用最為廣泛的一種分布式仿真標準,按照此標準構建系統能夠方便地與其他仿真系統實現互聯;2)能夠充分利用現有的軟件資源(如RTI)來實現開發環境的底層支撐服務[1~3]。本文所研究的基于多Agent的裝備仿真系統是以HLA框架作為支撐環境?;贖LA規范的典型仿真系統的集成結構如圖1所示。

圖1 基于HLA的仿真系統集成示意圖
它包括全局執行進程RtiExec、聯邦執行進程FedExec和LibRTI構成,其中RtiExec負責聯邦運行的創建和結束;FedExec管理聯邦仿真過程,包括成員的加入、退出以及成員間的數據交換和協調運行;而LibRTI實現了HLA接口規范中定義的服務,成員通過LibRTI庫調用RTI的各個服務。成員內部的模型實現方式則由仿真應用開發人員確定,它可以包含Agent模型,也可以包含非Agent模型。也就是說,HLA規范關心的是成員層次的互聯互操作,它將仿真應用模型與仿真支撐功能相解耦,將公共的仿真支撐功能分離出來,建立了一套標準的仿真管理和數據交換服務,為系統的互操作性、可重用性和可擴展性提供了仿真層次上的保證[4~5]。由此為基礎,應用開發人員就只需關心模型構建方面的工作,從而大大節省了設計和開發的難度和工作量。
面向Agent的裝備作戰仿真系統解決方案包括兩個部分:開發階段和運行階段,總體結構如圖2所示。
在開發階段,為了提高仿真應用系統的開發效率,本文借鑒BOM(Base Object Model)相關理論,采用組件化的開發與系統集成思想。開發階段主要包括組件開發,作戰A-gent組件的裝配以及系統的裝配。仿真組件是仿真模型的軟件實現,組件開發以仿真建模為基礎,包括接口組件和封裝組件的開發。接口組件開發以Agent之間的交互模型為基礎,描述FOM或SOM的互操作模式,在系統運行時,通過RTI的數據分發功能,實現Agent之間的數據交互。封裝組件的開發以仿真建模階段提供的相關功能模型文檔(包括感知函數、作戰規約、作戰規劃、動作執行函數等模型說明文檔)為基礎,通過計算機語言編程為Agent組件的組裝提供軟件模型[6]。作戰Agent裝配以作戰Agent類庫為基礎,對接口組件和封裝組件進行組裝,并封裝成作戰A-gent組件,使得作戰Agent組件成為功能相對獨立的軟件模塊。系統裝配以仿真建模生成的成員代碼框架為基礎,根據系統部署圖,以作戰Agent組件為輸入,對聯邦成員進行組裝。

圖2 總體結構圖
在運行階段,以HLA框架為仿真支撐基礎,重點是面向作戰Agent的聯邦成員。面向作戰Agent的聯邦成員包括兩組容器:本地對象容器和遠程對象容器。本地對象容器包括本地的作戰Agent實體以及非Agent實體,這些實體決定了聯邦成員所仿真的內容,在實際仿真運行時以組件調用的形式實現。在聯邦成員中對作戰Agent的部署通過組裝的形式實現,系統裝配通過該成員的作戰Agent系統模型,從組件庫提取相應的組件進行組裝,形成多個作戰Agent實例,并部署到本地對象容器。需要說明的是,對于非Agent實體,仍然采取聯邦對象類實例實現,具體可參考標準的聯邦開發過程[1~3],不是研究的范疇。對于遠程對象容器,主要存儲其它聯邦成員的實體在本聯邦成員中的映射,包括映射作戰Agent實體和映射非Agent實體,為了減輕網絡負載,遠程對象容器并不是存儲其他聯邦成員所有的遠程實體,而只存儲本聯邦成員“感興趣”的相關實體。RTI是HLA體系結構中接口規范的軟件實現,為仿真運行提供必要的服務,同時也成為智能Agent通信的基礎:對象管理服務能夠支持智能Agent動態的加入或退出聯邦,保證智能Agent仿真環境的可擴展性;聲明管理服務能夠靈活的確定智能Agent之間的消息傳遞關系;時間管理服務維護整個聯邦范圍內時間的一致性,保證多個智能A-gent行為時序邏輯的正確性;數據分發管理服務使智能A-gent之間能夠高效地接收和發送事件和信息[7~8]。但是,在HLA仿真系統中,能夠從環境中獲取的數據(包括交互和屬性)都要在聯邦對象模型(FOM)中進行預先定義。與普通仿真對象不同,智能Agent是具有自主性和智能性的實體,因此,這種通過相對固定的FOM進行的交互難以保證智能 Agent通信的靈活性和開放性[10]。為了利用HLA/RTI在仿真建模和運行方面的優勢,同時確保能夠支持規范和開放的智能Agent通信,在文獻[11]的基礎上,通過更靈活的方式將智能Agent的通信機制和HLA仿真系統的模型交互方式進行了有效結合。
綜上所述,該系統設計中必須解決以下兩個關鍵問題:
1)如何實現KQML-RTI控制器,通過 HLA/RTI與KQML的集成,實現智能Agent之間的通信和合作;
2)作戰Agent組件的實現及其組裝以及仿真系統的裝配等。
[1]Frederick Kuhl et al.Creating Computer Simulation Systems:An Introduction to the High Level Architecture[M].Prentice Hall,1999:163-164.
[2]張家祥.HLA仿真技術應用教程[M].北京:國防工業出版社,2007:35-36.
[3]Kuhl F,Weatherly R,Dahmann J.著.付正軍,王永紅譯.計算機仿真中的HLA技術[M].北京:國防工業出版社,2004:120-124.
[4]Cicirelli F,Furfaro 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仿真環境研究[J].系統仿真學報,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的水面艦艇作戰仿真系統研究[J].計算機與數字工程,2011(9).
[10]王漢功,甘茂治,陳學楚,等.裝備全系統全壽命管理[M].北京:國防工業出版社,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.