基于HLA的分布式交互仿真设计一.分布式交互仿真的发展过程分布式交互仿真(DistributedInteractiveSimulation)是指采用协调一致的结构、标准、协议和数据库,通过局域网或广域网,将分散在各地的仿真设备互联,形成可参与的综合性仿真环境。其主要特点体现在五个方面:分布性、交互性、异构性、时空一致性和开放性。1978年,美国的一个空军上尉在一篇论文中首次提出了联网仿真的思想。1983年,美国国防部高级研究计划局(DARPA)制定了一项称为“SIMENT”(Sim--ulationNetworking)的计划,希望将各军单兵使用的仿真器连接到网络上,形成一个共享的仿真环境。后来,在SIMENT的基础上美国军方和工业界又发展了异构型网络互联的分布式仿真技术-DIS,进一步扩展和标准化了SIMENT,以将不同时期的仿真技术、不同厂家的仿真产品和不同用途的仿真平台集成在一起,实现交互功能。1992年,在DIS发展的同时,DARPA发起了一个聚合级分布式作战仿真的实验,后来提出了聚合级仿真协议(ALSP),用来将现有的多个聚合级作战仿真应用通过局域网或广域网互联。1995年,美国国防部发布了建摸与仿真主计划(M&SMasterPlan,MSMP),建立了一个通用的仿真技术框架,该框架的核心——HLA(HighLevelArchitecture)在1996年8月完成基础定义,并于2000年9月被IEEE接受为标准。二.高层体系结构(HLA)概述基于HLA的仿真系统的层次结构HLA的基本思想HLA的组成HLA仿真的逻辑结构基于HLA的仿真系统的层次结构…联邦联邦成员仿真应用联邦成员对象对象对象…………联邦(Federation)是指用于达到某一特定仿真目的的分布仿真系统,它由若干个相互作用的联邦成员(Federate)组成,而每个联邦成员则是一个具体的仿真器或是一个参与联邦执行的应用程序,且HLA采用面向对象的思想和方法来构建仿真系统,所以每个联邦成员都由一些对象来组成。HLA的基本思想一直以来,建模与仿真领域存在这样的问题:绝大多数仿真器的应用实现较为独立,仿真器之间的互操作性和重用性差。而HLA就是为了解决这个问题而提出的。HLA是分布式交互仿真的高层体系结构,它定义了联邦和联邦成员构建、描述和交互的基本准则和方法,提供了一种通用的仿真技术框架,从而便于联邦成员的集成,最终实现它们之间的互操作性和重用性。HLA的一系列规则已成为IEEEM&S的正式标准。HLA的组成HLA规则HLA接口规范HLA对象模型摸板(OMT)HLA规则为了保证在仿真系统(联邦)运行阶段各联邦成员之间能正确交互,HLA定义了一些在联邦设计阶段必须遵循的基本准则。HLA规则已成为IEEEM&S的正式标准,现在有十条规则,前五条规定了联邦必须满足的要求,后五条规定了联邦成员必须满足的要求。HLA接口规范HLA接口规范定义了在仿真系统运行过程中,支持联邦成员之间互操作的标准服务。也就是在基于HLA开发仿真应用程序的时候,为了与底层运行支撑环境进行交互必须使用的一些接口函数DMSORTI1.3-NG实现了HLA的底层运行支撑环境,包括其接口规范中规定的六大标准服务。HLA对象模型摸板(OMT)为了进一步促进仿真系统间的互操作,提高仿真系统及其部件的重用力,HLA要求采用对象模型(ObjectModel)来描述联邦和联邦成员,而且必须采用统一的表格——对象模型摸板(OMT)来规范对象模型的描述。联邦对象模型(FOM)联邦成员对象模型(SOM)DMSOHLAOMTV1.3规定FOM、SOM都分别由九个表格组成:对象模型鉴别表对象类结构表交互类结构表对象类属性表交互类参数表枚举数据类型表复杂数据类型表路径空间表FOM/SOM词典HLA仿真的逻辑结构联邦成员1RTI接口模块联邦成员2RTI接口模块…联邦成员nRTI接口模块运行支撑环境RTI底层通信支持系统(网络通信或共享类存方式)三.HLA六大标准服务HLA接口规范所描述的服务,实质上反映了RTI为支持多种类型的仿真联邦而提供的通用服务。但它只描述了这些服务的功能,具体功能实现要由RTI开发者来编码实现。现在这些接口已有C++、Java等多种语言的描述。联邦管理服务声明管理服务对象管理服务时间管理服务所有权管理服务数据分发管理服务联邦管理联邦管理主要内容联邦管理基本过程联邦管理服务联邦管理主要内容联邦执行是指在联邦(仿真系统)运行过程中,RTI根据联邦成员的请求,用一个指定的FOM及相关的数据,为实现联邦成员间的交互而创建的一个虚拟世界。联邦管理则是指对一个联邦执行的创建、动态控制、修改和删除等过程。联邦管理基本过程初始状态联邦执行存在联邦执行支撑成员集创建联邦执行撤消联邦执行第一个联邦成员加入最后一个联邦成员退出加入联邦执行退出联邦执行联邦管理服务服务名称功能简介CreatFederationExecutive创建联邦执行DestroyFederationExecutive撤消联邦执行JoinFederationExecutive加入联邦执行ResignFederationExecutive退出联邦执行……声明管理声明管理基本概念声明管理的作用声明管理服务声明管理基本概念对象类和类属性(ObjectClass&Attributes)已声明属性和可获得属性(DeclaredAttri-butes&AvailableAttributes)交互类和交互类参数(InteractionClass&P-arametres)已声明参数和可获得参数(DeclaredPara-metres&AvailableParametres)公布和订购(Publish&Subscribe)声明管理的作用FederateAFederateBFederateCRunTimeInfrastructure(RTI)网络Icanproduceplances!Icanproducetanks!Icanconsumeplanes!声明管理服务服务名称功能简介PublishObjectClass公布对象类SubscribeObjectClass订购对象类PublishInteractionClass公布交互类SubscribeInteractionClass订购交互类……对象管理对象管理的主要内容对象管理的基本概念对象管理服务对象管理的主要内容对象管理是在声明管理的基础上进行的,在一个仿真虚拟环境中包含的是一个个对象的实例,而声明管理只是对类的管理,对类的实例的管理要通过对象管理服务来实现。对象管理主要实现对象实例的注册/发现、属性值的更新/反射、交互实例的发送/接收以及对象实例的删除等功能。对象管理的基本概念注册(Register)发现(Discover)更新和发射属性值(Update&Reflect)交互实例的发送和接收对象实例的删除与移走所有权管理所有权管理的主要内容所有权管理的基本概念所有权管理服务所有权管理的主要内容如果联邦成员有权更新某个实例属性的值,我们就称该联邦成员拥有该实例属性,这就是所有权关系。要拥有实例属性的所有权,联邦成员必须公布该实例对应类的该属性。只有拥有某个实例属性的联邦成员才可以更新该属性。所有权管理主要用来协调和管理联邦范围内所有权的转移。所有权管理的基本概念所有权转移“推”模式所有权转移“拉”模式所有权的转让(Divestiture)所有权的获取(Acquisition)删除对象特权属性数据分发管理数据分发管理主要内容数据分发管理基本概念数据分发管理基本原理数据分发管理服务数据分发管理HLA支持服务数据分发管理主要内容HLA的一个重要机制就是采用了“数据匹配”的思想,在声明管理中实现了公布类与订购类间的匹配,减少了网络数据量。而数据分发管理则为了进一步利用网络带宽,建立了在实例属性值上进行匹配的机制。数据分发管理基本概念维(dimension)范围(range)路径空间(routingspace)路径空间子空间限域(extent)区域(region)路径空间(spacename(dimensionname)…(dimensionname))(spaceR(dimensionx)(dimensiony)(dimensionz))数据分发管理基本原理数据分发管理的基本思想是根据预先定义的路径空间,“数据生产者”可以在其中创建区域,并利用HLA数据分发管理服务向联邦声明它所生产数据的特性;同样,“数据消费者”也可以在路径空间中创建区域,并利用HLA数据分发管理服务向联邦声明它所消费数据的特性;RTI则根据双方的数据特性,在生产者和消费者之间进行匹配,从而传送合适的数据,这种匹配也称为“过滤”。时间管理时间管理基本概念时间管理的任务时间管理机制时间管理服务时间管理基本概念物理时间仿真时间联邦时间轴联邦时间消息(Message)时间管理的任务联邦成员A(坦克)联邦成员B(目标)联邦成员C(观察者)开火事件目标摧毁事件时间管理机制时间管理关注的是如何在联邦执行时控制时间的推进,而时间推进机制必须与消息传递机制相配合。HLA的时间管理正是协调带“时戳”的消息的传递来实现仿真时间的推进的。因此,HLA时间管理机制包括两方面的内容:消息传递机制时间推进机制消息传递机制消息传输方式:可靠(reliable)快速(besteffort)消息传递顺序:接收顺序(ReceiveOrder,RO)时戳顺序(TimeStampOrder,TSO)时间推进机制时间受限成员时间控制成员时间前瞻量(Lookahead)时戳下限值LBTS(LowerBoundTimeStamp)LBTSi=min(Tj+Lookaheadj)(Regulating)(Constrained)FederateAFederateBCurrentLogicalTimeLookaheadTSOEventFederateTimeAxisFederateTimeAxisFederationTimeAxisLBTS283339四.联邦运行支撑环境(RTI)RTI概述RTI配置文件RTI组成RTI工作方式RTI概述RTI是HLA接口规范(六大标准服务)的具体实现,它是基于HLA仿真的核心部件,并且它提供了仿真运行管理功能和底层通信传输服务,从而实现了二者与仿真功能的分离,这样仿真系统便有了较好的扩充性,便于实现大型仿真系统中各个组成部件的“即插即用”。RTI的实现有两条技术路线:CORBA技术和直接用Socket网络通信接口编程。瑞典的PitchAB公司:pRTI;国防科技大学机电工程与自动化学院:KD-RTI;航天机电集团第二研究院:SSS-RTI.RTI配置文件联邦运行数据文件(FederationExecu-tionData,FED文件),其包括联邦中各个联邦成员的对象类、交互类、和路径空间等数据结构信息。RTI初始化文件(RTIInitialiaztionDa-ta,RID文件),其中包括网络参数在内的各种RTI运行的配置参数。RTI组成网络通信层RtiExecFedExecLibRTILibRTI联邦成员联邦成员RTI提供联邦成员提供RTI工作方式registerObjectInstanceturnUpdateOnForObjectInstancedeleteObjectInstancediscoverObjectInstanceremoveObjectInstanceRTIFederateAFederateBFederateAmbassadorRTIAmbassadorFederateAmbassadorRTIAmbassador对象模型开发工具(OMDT)——ObjectModelDevelopmentTool联邦运行计划者工作手册工具(FEPWEditor)——FederationExecutionPlanner’sW