当前位置: 首页 > 专利查询>清华大学专利>正文

基于HLA的Fortran仿真模型中间件制造技术

技术编号:7759378 阅读:219 留言:0更新日期:2012-09-14 01:38
本发明专利技术公开一种基于HLA的Fortran仿真模型中间件,为解决现有Fortran仿真模型不能加入HLA分布式系统的问题而设计。本发明专利技术基于HLA的Fortran仿真模型中间件包括RTI系统单元、适配器单元和Fortran仿真模型单元。其中适配器单元包括封装文件模块、回调函数模块和RTI服务模块。本发明专利技术基于HLA的Fortran仿真模型中间件是在对象文件层面通过c语言程序实现Fortran语言模块与C++语言模块互通。本发明专利技术基于HLA的Fortran仿真模型中间件满足协同仿真中Fortran模型的集成需求,提高了协同仿真的通用性和已有Fortran模型的可重用性。

【技术实现步骤摘要】

本专利技术涉及一种基于HLA的Fortran仿真模型平。
技术介绍
分布式仿真是传统仿真技术新的发展阶段,它主要研究若干互联节点上的仿真应用正确、协同、高效运行的问题。分布式仿真先后经历了不同的技术协议阶段聚合级仿真协议 ALSP (Aggregate Level Simulation Protocol),分布交互仿真 DIS (DistributedInteractive Simulation),高层体系结构 HLA(High Level Architecture)等。 HLA是由美国国防部(DoD, Department of Defense)最早于1995年提出,它是一个针对分布式仿真提出的通用体系结构,具有广泛应用范围。随着2000年,HLA成为IEEE1516标准,确立了 HLA作为分布式仿真领域通用标准的地位(以下如无特殊说明,分布式仿真指基于HLA的分布式仿真)。作为HLA的具体实现,RTI提供了该框架的所有服务。在基于HLA的分布式仿真系统中,联邦(Federation)指能够完成特定仿真任务的分布式系统,联邦成员即为各个分布节点上的仿真应用。这样,在HLA中就实现了仿真功能实现、仿真运行支撑管理和底层通讯的分离,支持各自相对独立的开发工作。HLA技术极大地促进了分布式仿真的发展。然而,大量原有的仿真模型是采取各种不同手段开发的,如Matlab、Adams、Abaqus等商用软件或是Fortran等不同于RTI的开发语言。在分布式仿真中,如果要重新开发现有的大量模型,将是一个耗时耗力的工作。HLA标准为提高模型的可重用性提供了一种技术路线,然而,这些异构的仿真模型与RTI的集成问题,HLA标准无法解决,需要在对HLA标准和仿真模型都有充分了解的基础上,开发相应的适配器,实现模型重用和异构模型之间的互操作。
技术实现思路
为了克服上述的缺陷,本专利技术提供一种令Fortran仿真模型可加入HLA分布式系统的基于HLA的Fortran仿真模型中间件。为达到上述目的,本专利技术提供一种基于HLA的Fortran仿真模型中间件,包括RTI系统和RTI标准联邦成员单元,所述RTI系统包括HLA标准服务接口 IibRTI和RTI底层软件模块,为仿真模型提供的服务包括仿真联邦管理服务、仿真成员声明管理服务、仿真对象管理服务、仿真时间管理服务、所有权管理服务、数据分发管理服务、以及运行支撑服务;所述仿真模型平台还包括适配器单元、Fortran仿真模型单元及RTI标准联邦成员单元;适配器单元,接收RTI系统发出的指令并将其转发给Fortran仿真模型单元,接收Fortran仿真模型单元发出的指令并将其转发RTI系统;Fortran仿真模型单元,作为RTI系统的联邦成员,用于通过适配器单元向RTI系统发出指令,以及接收适配器单元转发的RTI系统指令。特别是,所述适配器单元包括封装文件模块、回调函数模块和RTI服务模块;封装文件模块,一侧接口连接所述RTI系统,另一侧接口分别连接回调函数模块和RTI服务模块;接收RTI系统发出的回调函数指令后将所述回调函数发送给回调函数模块,接收RTI服务模块转发的Fortran仿真模型服务请求后将所述服务请求发送给RTI系统,实现RTI系统与Fortran仿真模型单元间的双向通信,屏蔽两者之间的语言差异障碍;回调函数模块,一侧接口连接所述封装文件模块,另一侧接口连接所述Fortran仿真模型单元;接收封装文件模块转发的RTI系统回调函数,传递给Fortran仿真模型单元;RTI服务模块,一侧接口连接所述封装文件模块,另一侧接口连接所述Fortran仿真模型单元;接收Fortran仿真模型单元的服务请求,并将其传递给封装文件模块。特别是,封装文件模块采用C++语言编写,用于RTI系统与Fortran仿真模型单元间的双向通信,屏蔽语言障碍;回调函数模块和RTI服务模块采用Fortran语言编写。特别是,通过对象文件层面实现Fortran语言模块与C++语言模块的互通。特别是,Fortran语言形成的模块与C++语言形成的模块通过c语言程序实现在堆栈管理方面、目标例程命名方面和参数传递方面的匹配。特别是,Fortran语言形成的模块与C++语言形成的模块之间通过试凑方法实现数据类型匹配。本专利技术基于HLA的Fortran仿真模型中间件设有适配器单元,该适配器单元设有与RTI系统和Fortran仿真模型单元连接的接口,满足协同仿真中Fortran仿真模型单元的集成需求,提高了协同仿真的通用性和已有Fortran仿真模型单元的可重用性。缩短Fortran语言形成的联邦成员的开发周期,开发门槛显著降低,并取得很好的经济效益。本专利技术基于HLA的Fortran仿真模型中间件为应用混合编程技术将Fortran语言和C++语言之间的障碍屏蔽在适配器单元内部,实现了在RTI上用Fortran语言开发联邦成员的目标。附图说明图I为本专利技术基于HLA的Fortran仿真适配器单元优选实施例接口示意图。图2为图I所示优选实施例原理示意图。图3为图I所示优选实施例应用示意图。具体实施例方式下面结合说明书附图和实施例对本专利技术做详细描述。优选实施例一如图I所示,Fortran仿真模型单元为Fortran联邦成员,在Fortran联邦成员和RTI系统之间设置适配器单元,通过适配器单元来屏蔽不同语言之间的鸿沟,让开发者用Fortran语言开发联邦成员的过程简单、可行。与Fortran联邦成员同时存在的还有C++联邦成员,方便仿真系统的使用。RTI系统单元为所述Fortran仿真模型单元提供下述服务仿真联邦管理服务,完成创建、动态控制、修改和删除联邦执行; 仿真成员声明管理服务,虚拟实验要求每个参加联邦执行的成员向协同仿真运行互操作支撑系统声明其要求产生的数据内容,和/或接收的数据内容;仿真对象管理服务,一组服务处理对象的登记、修改、删除和属性/交互的发送与接收,对象通过发送属性更新或交互来传送对象状态信息或事件;仿真时间管理服务,提供控制各成员在仿真时间轴上的推进,令协同仿真运行互操作支撑系统能以设定的时间、方式和顺序将来自成员的事件转发给相应的成员;所有权管理服务,负责联邦内成员间对象实例属性所有权的转移,所述转移用来支持联邦内对象实例的协作建模;数据分发管理服务,实现联邦成员提供传输和接受无关数据的无谓消耗的减少; 以及运行支撑服务,描述参与联邦的成员能使用的包括名称与句柄的转换、多种开关的设置、操作域相关服务和RTI启动终止。如图2所示,适配器单元包括封装文件模块、回调函数模块和RTI服务模块。其中,封装文件模块接收RTI系统发出的回调函数指令后将其发送给回调函数模块,回调函数模块接收该回调函数后传递给Fortran仿真模型;Fortran仿真模型将服务请求经过RTI服务模块发送至封装文件模块,封装文件模块将该服务请求发送给RTI系统。通过上述过程实现RTI系统与Fortran仿真模型单元的双向通信,屏蔽两者之间的语言差异障碍。本优选实施例基于HLA的Fortran仿真模型中间件设有适配器单元,该适配器单元设有与RTI系统和Fortran仿真模型单元连接的接口,满足协同仿真中Fortran仿真模型单元的集成本文档来自技高网
...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:范文慧岳英超肖田元
申请(专利权)人:清华大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1