王义冬 石伟峰 何洪雨 张伟峰
(1.中国人民解放军91872部队 北京 102442)(2.海军驻北京地区航空导弹系统军事代表室 北京 100854)(3.中国人民解放军91115部队 舟山 316041)
HLA规范已经成为当前装备作战仿真主流的运行框架。采用HLA规范有两方面的优点:1)HLA规范是当前最为成熟、获得应用最为广泛的一种分布式仿真标准,按照此标准构建系统能够方便地与其他仿真系统实现互联;2)能够充分利用现有的软件资源(如RTI)来实现开发环境的底层支撑服务[1~3]。本文所研究的基于多Agent的装备仿真系统是以HLA框架作为支撑环境。基于HLA规范的典型仿真系统的集成结构如图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.