通用成员-定稿V12.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于JAVA的HLA通用仿真成员的研究与应用 朱国华,吴凯 (江汉大学,数学与计算机学院,湖北省武汉市 430056) 摘要:基于HLA并行仿真方案中,针对每一个联邦成员必须整体编写相应成员的专用代码,开发工作量很大。本文基于JAVA提出了HLA通用联邦成员的解决方案,在不违背联邦成员标准的程序框架的前提下,依据联邦执行生命周期的特点,将联邦成员的内部结构去专有化,加强了对模型代码的重用性,从而减少仿真成员开发的成本。 关键词:HLA; 通用成员;JAVA ABSTRACT: KEYWORD: 1 引言 HLA(High Level of Architecture )是一套完整的分布式仿真技术规范[1],其核心目标在于解决传统分布式仿真技术中的仿真支撑环境RTI提供了通用、独立的仿真支撑服务。在资源重用性问题上,这套体系仍不能满足实际需求,于是研究与应用基于HLA的通用成员模型框架[2]是非常有必要的,它可以将大量联邦仿真成员进行集成化[3],设计一种所有仿真成员共用的通用成员模型,降低资源冗余性浪费的程度,并提高仿真系统的模型兼容属性,以及仿真的拓展性[4]。而目前已有实现C++接口的通用联邦成员[5],本文研究的是实现JAVA接口的通用联邦成员。 2 HLA仿真联邦成员的总体结构 成员的原子模块排列组合的方法, 图 1 HLA仿真系统模块结构 根据实际仿真需求,模型设计器(Model Designer)设计并构建仿真交互模型,自动生成模型描叙文件,即FED文件,同时将FED文件和模型基本信息分别上传数据库和FTP(File Transfer Protocol)服务器。 HLA仿真模块(Simulation Module)由管控端(Control Mode)、联邦成员(Federate Member)、运行端(Run Model)和RTI服务器组成。管控端依据数据库DB(Data Base)自动分配联邦成员模型;联邦成员的运行端基于DB数据从FTP服务器下载相关组件,并引导联邦成员程序运行,从而实现HLA仿真系统的整体运作。 HLA仿真模块需要依据HLA仿真体系结构重新优化并构建通用模块。将联邦成员的数据通信模块与属性模块分离,构建抽象意义上的通用性联邦成员类,其结构如图2所示. 图 2 通用联邦成员模块层次 管控端其实质上是一个特殊的联邦成员,权限较高,通过多播通信方式控制运行端,通过RTI服务器使用交互类通信监测并控制其它的联邦成员。主要功能是实现了可视化界面操作,自动分配联邦成员模型,仿真数据图形化的动态展示。 运行端基于组播通信(Multicast),运行端与管控端建立链接;通过FTP传输协议,运行端与FTP服务器建立链接。其具体功能是接受管控端的下载指令,依据数据库信息下载对应的联邦成员组件,生成相应的BAT引导文件,启动联邦成员执行文件。 联邦成员的组成是基于HLA的并行离散仿真平台,每一个仿真联邦成员的具体实现依据三个组件。三个组件分别是:(程序执行组件,即CommF.jar执行文件,此组件承担通用调度仿真的责任。通过加载相关的算法组件和读取成员模型数据,从而生成仿真联邦成员并加入到联邦中去。在仿真过程中,实现了属性值的更新,反射属性值的接收,管控端的控制命令的接收和执行,以达到通过管控端来准确地控制仿真成员状态(开始、暂停、停止等)的目的;(联邦成员模型描述组件,即FED文件,此组件描述了该成员公布和订购的对象类属性以及交互类,以及其他的一些成员的初始化参数信息。该文件由仿真想定系统根据仿真方案设计生成的;(算法组件,即DLL(Dynamic Link Library)文件,此组件是仿真成员模型,承担了描述联邦成员实体的具体仿真算法的责任,实现了联邦成员在仿真执行中的动态行为,例如PID控制器的控制算法等等。模型库是系统所有存的模型集合,而仿真模型是仿真成员的核心。 3 基于JAVA的通用联邦成员分层设计 根据联邦成员交互数据的处理流程[6],将其组成主要划分为:成员初始化,数据接收层,数据处理层,数据分发层,退出联邦执行,如图3所示。 图 3 通用联邦成员仿真数据处理的流向结构 初始化模块(Initialize the Layer),其功能需求:为联邦成员参与仿真推进做好准备,即通用联邦成员初始化。其初始化内容:确定联邦成员ID(Member IDentity, 身份ID)、联邦成员名称(MemberName)等基本信息;确定并加载相应的算法组件,如DLL (Dynamic Link Library 动态链接库);管控端已完成联邦执行的创建(createFederationExecution),等待管控端的控制命令,联邦成员加入相应的联邦执行(joinFederati

文档评论(0)

gangshou + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档