主权项 |
一种基于HLA的Fortran仿真模型系统,包括RTI系统和RTI标准联邦成员单元,所述RTI系统包括HLA标准服务接口libRTI和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++语言形成的模块之间通过试凑方法实现数据类型匹配。 |