基于hla-rti仿真的联邦成员的设计与实现

基于hla-rti仿真的联邦成员的设计与实现

ID:10096368

大小:29.50 KB

页数:7页

时间:2018-05-25

基于hla-rti仿真的联邦成员的设计与实现_第1页
基于hla-rti仿真的联邦成员的设计与实现_第2页
基于hla-rti仿真的联邦成员的设计与实现_第3页
基于hla-rti仿真的联邦成员的设计与实现_第4页
基于hla-rti仿真的联邦成员的设计与实现_第5页
资源描述:

《基于hla-rti仿真的联邦成员的设计与实现》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、基于HLA/RTI仿真的联邦成员的设计与实现摘要:针对空地对抗作战仿真问题,采用高级体系结构和运行支撑框架技术设计和实现了模拟空地对抗作战仿真的联邦成员。构建了FOM/SOM并生成了FED文件,为以后空地对抗仿真平台研究提供基础。关键词:高级体系结构;运行支持系统;对象模型引言仿真技术的发展经过了三个阶段:仿真网络(SIMNET),分布交互仿真(DIS)和聚合级仿真协议(ALSP)高级体系结构(HLA)。[1]基于HLA的分布仿真是今后仿真发展的主要方向,故文章选用高级体系结构对空地对抗仿真的联邦成员进行了研究。1高级体系结构HLA中将实现某种特定仿真目的的仿真系统称为联

2、邦。联邦由若干交互的仿真应用和其它一些相关的应用(统称联邦成员Federate)、运行支持系统(RTI)和联邦对象模型(OM)构成。[2]联邦成员由若干对象构成,成员间通过RTI提供的服务来实现交互。1.1RTI简介7RTI是一个按照HLA接口规范开发的软件系统,能为仿真应用提供通用的、相对独立的支撑服务,其功能类似于分布式操作系统。[3]1.2对象模型模版对象模型模板(OMT)是HLA应用系统中联邦执行数据交互的基础。OMT主要由对象模型鉴别表、对象类结构表、交互类结构表、属性表、参数表、枚举数据类型表、复合数据类型表、路径空间表、FOM/SOM词典九种表格组成。[4]

3、2模拟仿真实例:A方出动一架战斗机空袭B方阵地,攻击目标为阵地司令部,B方探查到空情指示,奉命拦截该架战斗机。2.1联邦成员设计在作战中,设计了两个成员来仿真该空袭过程。一个为A方空袭飞机成员,一个B方阵地。双方公布/定购关系如下:A方飞机成员(B方阵地订购):对象类-飞机,交互类-飞机投掷炸弹、飞机被击毁;B方阵地成员公布(A方飞机成员订购):对象类-B方阵地营司令部,交互类-高炮对飞机开火。其FOM/SOM定义的对象类(表1)和交互类(表2)如下:表1对象类表表2交互类表2.2RTI实现7将表1和表2输入OMDT生成Fed文件,当RTI创建联邦时予以加载。下面以A方飞

4、机为例,详细介绍仿真如何实现:(1)创建联邦调用rtiAmb.createFederationExecution(“空地对抗仿真”,“airraid.fed”);其中“空地对抗仿真”是将要创建的联邦的名字,“airraid.fed”是由FOM/SOM生成的Fed文件名。(2)加入联邦调用FedHandle=rtiAmb.joinFederationExecution(“A方空袭飞机”,“空地对抗仿真”,&fedAmb);其中“A方空袭飞机”为联邦成员名,FedHandle为函数返回的成员句柄值。(3)获取Fed文件定义的对象类及其属性、交互类及其参数的句柄值获取B方司令部

5、对象类及其属性的句柄值:HeadquartersId=rtiAmb.getObjectClassHandle(“Headquarters”);positionId=rtiAmb.getAttributeHandle(“position”,HeadquartersId);获取飞机交互类及其属性的句柄值:7PlaneDamageId=rtiAmb.getInteractionClassHandle(“PlaneDamage”);PCrashId=Id=rtiAmb.getParameterHandle(“num”,PlaneDamageId);(4)声明公布/定购关系公布A方

6、飞机对象类:AttributeHandleSet*Attributes=RTI::AttributeHandleSetFactory::create(3);Attributes->add(PnumId);//加入飞机编号属性Attributes->add(PpositionId);//加入飞机位置属性Attributes->add(PvelocityId);//加入飞机速度属性rtiAmb.publishObjectClass(PlaneId,*Attributes);//公布飞机对象类Attributes->empty();定购B方司令部对象类:Attributes->

7、add(HpositionId);//加入司令部位置属性Attributes->add(HstateId);//加入司令部状态属性rtiAmb.subscribeObjectClass(HId,*Attributes);//订购司令部对象类7deleteAttributes;公布飞机投弹和飞机坠毁交互类:rtiAmb.publishInteractionClass(DropBombId);//公布飞机投弹类rtiAmb.publishInteractionClass(PlaneDamageId);//公布飞机坠毁类定购高炮开火

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。