CN101420437A - 一种原型系统与hla仿真系统的接口设备 - Google Patents
一种原型系统与hla仿真系统的接口设备 Download PDFInfo
- Publication number
- CN101420437A CN101420437A CNA2008102265694A CN200810226569A CN101420437A CN 101420437 A CN101420437 A CN 101420437A CN A2008102265694 A CNA2008102265694 A CN A2008102265694A CN 200810226569 A CN200810226569 A CN 200810226569A CN 101420437 A CN101420437 A CN 101420437A
- Authority
- CN
- China
- Prior art keywords
- message
- hla
- prototype
- module
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明提供了一种原型系统与HLA仿真系统的接口设备,由配置工具生成模块、XML配置文件解析模块、HLA系统服务接入模块、原型系统服务接入模块、系统服务转接模块、仿真存储模块和高层代码辅助生成模块组成。XML配置文件解析模块、HLA系统服务接入模块、原型系统服务接入模块、系统服务转接模块和仿真存储模块位于接口设备内。配置工具生成模块和高层代码辅助生成模块位于接口设备外部。针对不同的原型系统自动生成接口设备基本代码框架,并利用配置工具定制接口设备的行为和能力,实现原型系统向HLA仿真系统准确的接入,并充分利用了HLA仿真机制的优点,实现了原型系统向HLA系统的无缝接入。
Description
技术领域
本发明属于系统仿真领域,涉及一种接口设备,具体涉及一种原型系统与HLA仿真系统的接口设备。
背景技术
仿真高层体系构架HLA(High Level Architecture)作为一种仿真标准在仿真领域内得到了广泛应用,HLA构架由三部分组成,分别是:HLA规则、对象模型模板OMT(ObjectModal Template)、运行支撑结构RTI(Run Time Infrastructure)。
HLA规则定义了在联邦设计阶段必须遵循的基本准则,在IEEE 1516标准,即IEEEStandard 1516.2 for Modeling and Simulation(M&S)High Level Architecture(HLA),Object Model Template(OMT),Specification[S].DMSO,Sept.2000中,共定义了10条规则,这些规则是实现正确仿真交互的基础;
对象模型模板OMT定义了描述HLA对象模型的通用方法,提供了记录对象模型信息的标准格式,以促进仿真应用的互操作和重用,对象模型模板OMT主要包括联邦对象模型FOM(Federation Object Model)和仿真对象模型SOM(Simulation Object Model)。
运行支撑结构RTI以服务的方式定义了各成员进行信息交互的方式,运行支撑结构RTI作为分布式仿真的运行支撑系统,用于实现各类仿真应用之间的交互操作,是实现各成员协同仿真的关键。运行支撑结构RTI中的服务主要包括调用服务和回调服务,可分为联邦管理、申明管理、对象管理、所有权管理、时间管理和数据分发管理六类。
原型系统作为一种实物模拟系统,广泛用于各种级别的仿真系统中。原型系统是一个典型的实时、分布式的交互仿真系统,具有物理实时性的特点。原型系统开发通常是基于以太网来实现,通过定制的标准格式报文实现各个子节点的互通和互联。
报文格式可以分为数据报文和控制报文,数据报文实现周期信息/非周期信息发布,这些信息往往包含了实体的某种具体属性,比如高度,速度等;控制报文实现系统控制命令的发布,比如:仿真开始,仿真结束等。典型的原型系统利用用户数据报协议UDP(UserDatagram Protocol)协议实现通信。由于UDP协议是一种不可靠传输协议,在原型系统的具体开发中,往往在应用层增加了报文确认机制,通过对确认报文的处理实现差错控制。通常来说,数据报文不采用确认机制,控制报文需要采用确认机制。从而使原型系统具有仿真精度高,效果直观等特点。
在基于HLA的仿真系统中,为了最大化利用已有资源,将原型系统接入到HLA系统是一个普遍存在的问题。由于原型系统设计人员通常要求其各设备模拟器完全参照真实装备设计,不能进行任何改动,这就给原型系统接入HLA系统带来了很多问题,具有一定的复杂性。接口设备作为连接两个系统的桥梁,实现两个系统的互联和互通,需要实现两种仿真系统的仿真协议,转发系统之间的数据和控制命令,从而实现将原型系统向HLA系统的接入。在这个接入过程中,主要涉及到如何保证两种机制不同的系统能够进行正确的交互,同时又能够充分利用HLA仿真机制的优点。
图1给出了接口设备在仿真系统中的位置,一个基于HLA的大规模仿真系统中,HLA服务器和HLA网组成了基本仿真环境,HLA服务器加载HLA运行服务器端,是整个HLA仿真的信息交换和控制中心,HLA网提供了各个联邦成员的物理连接。在这个环境下,导演台,数据库,以及若干联邦成员共同参与仿真,在这些联邦成员中,有部分是连接原型系统的接口设备。接口设备一端接入HLA系统,一端接入原型系统,原型系统由若干原型设备,以及原型网络组成,接口设备在这里充当了网关的作用,通过对HLA系统和原型系统数据进行转发,以及仿真控制管理,实现将原型系统接入到HLA系统的目的。
文件“原型系统HLA接口设备技术研究”史永辉,李露楠,何锋,《舰船电子工程》,2005年第4期。其中详细讨论了接口设备在时间管理上考虑的要素,但是缺少对接口设备通用设计的考虑,在接口设备设计的过程中,如果不从高层架构上去实现,则接口设备本身失去了通用的特性,对于不同原型设备接入HLA系统项目中,开发者不得不重新开发新的接口设备来适应这种变化。
发明内容
本发明提供了一种原型系统与HLA仿真系统的接口设备,针对不同的原型系统,通过高层代码辅助生成工具来自动生成接口设备基本代码框架,并利用配置工具定制接口设备的行为和能力,尽量减少接口设备的重新开发过程,实现原型系统向HLA仿真系统准确的接入,使已有资源最大化用于新的仿真试验环境,并充分利用了HLA仿真机制的优点,实现了原型系统向HLA系统的无缝接入。
一种原型系统与HLA仿真系统的接口设备,由配置工具生成模块、XML配置文件解析模块、HLA系统服务接入模块、原型系统服务接入模块、系统服务转接模块、仿真存储模块和高层代码辅助生成模块组成。XML配置文件解析模块、HLA系统服务接入模块、原型系统服务接入模块、系统服务转接模块和仿真存储模块位于接口设备内。配置工具生成模块和高层代码辅助生成模块位于接口设备外部。高层代码辅助生成模块生成XML配置文件解析模块、HLA系统服务接入模块、原型系统服务接入模块、系统服务转接模块和仿真存储模块的代码框架。
配置工具生成模块将用户的配置信息输入并生成XML文件,并以XML文件的形式向XML配置文件解析模块下发具体配置信息。XML配置文件解析模块接收到XML配置文件后,开始进行解析,将仿真存储数据库用户信息发送到仿真存储模块,将联邦成员注册名称、仿真时间推进机制发送到HLA系统服务接入模块,将接口设备名称、原型设备监控列表以及报文格式和FOM/SOM表的映射关系列表下发到系统服务转接模块,将UDP端口号下发到原型系统服务接入模块。系统服务转接模块接收XML配置文件解析模块发送的接口设备名称、原型设备监控列表以及报文格式和FOM/SOM表的映射关系列表信息,在HLA系统服务接入模块和原型系统服务接入模块的基础上,实现两个系统的消息转发和仿真运行控制功能。HLA系统服务接入模块接收到联邦成员注册名称、仿真时间推进机制信息后,同系统服务转接模块发送的系统服务转接模块函数调用、报文格式和FOM/SOM表的映射关系信息一起生成HLA服务输出流,并将加入仿真过程中填充完毕的报文格式和FOM/SOM表的映射关系信息重新输入系统服务转接模块。HLA服务输入流输入到HLA系统服务接入模块,同系统服务转接模块发送的报文格式和FOM/SOM表的映射关系信息、HLA系统向原型系统的报文转发信息一起生成HLA系统向原型系统的报文转发信息分别发送到仿真存储模块和系统服务转接模块,生成系统服务转接模块通知消息发送到系统服务转接模块;原型系统服务接入模块从XML配置文件解析模块接收UDP端口号后生成相关配置信息,并在系统服务转接模块输入的系统服务转接模块函数调用下生成UDP报文发送流输出,在系统服务转接模块输入的报文格式和FOM/SOM表的映射关系信息、原型系统向HLA系统的报文转发信息的作用下,输入系统的UDP报文接收流生成系统服务转接模块通知消息分别发送到系统服务转接模块和仿真存储模块,生成的原型系统向HLA系统的报文转发信息发送到系统服务转接模块,仿真存储模块对XML配置文件解析模块发送的仿真数据库用户信息进行存储,形成仿真数据流,对HLA系统服务接入模块发送的HLA系统向原型系统的报文转发信息和原型系统服务接入模块发送的原型系统对HLA系统的报文转发信息进行存储,形成本地仿真数据存储文件流。
XML配置文件解析模块,输入流为XML配置文件,XML配置文件内容包括:接口设备名称、UDP端口号、联邦成员注册名称、仿真时间推进机制信息、仿真存储数据库用户信息、原型设备监控列表、报文格式和FOM/SOM表的映射关系列表,XML配置文件解析模块接收到XML配置文件后,对文件内容进行解析,其中接口设备名称解析单元解析接口设备名称,原型设备解析单元解析原型设备监控列表,映射关系解析单元解析报文格式和FOM/SOM表的映射关系列表,UDP端口解析单元解析UDP端口号,联邦成员名称解析单元解析联邦成员注册名称,仿真时间解析单元解析仿真时间推进机制信息,仿真存储解析单元解析仿真存储数据库用户信息。
所述HLA系统服务接入模块由XML配置文件解析模块、更新对象实例单元、发送交互实例单元、接收对象实例处理单元、接收交互实例处理单元和对象类/交互类注册单元组成。XML配置文件解析模块提供的联邦成员注册名称和仿真时间推进机制信息加入仿真中,配置信息处理单元按照所提供的注册名称加入联邦,同时设置相应的仿真时间推进机制,根据时间推进步长设置仿真时间两次推进的间隔,对HLA加入联邦和时间机制设置服务的调用,形成了HLA服务输出流的一部分。
输入的系统转接服务模块提供的报文格式和FOM/SOM表的映射关系信息和HLA系统向原型系统的报文转发信息,对象类/交互类注册单元结合报文格式和FOM/SOM表的映射关系信息,实现对象类和交互类的注册操作,在注册过程中对HLA服务的调用形成了本模块HLA服务输出流的一部分,以及报文格式和FOM/SOM表的映射关系信息输出流。
接收对象实例处理单元和接收交互实例处理单元,首先对报文格式和FOM/SOM表的映射关系信息进行检索,并对输入的HLA系统向原型系统的报文转发信息和HLA服务输入流进行对象实例的和交互实例进行处理,接收对象实例处理单元分别对对象实例的不同状态下的情况进行处理,形成了HLA系统向原型系统的报文转发信息,同时通过系统服务转接模块通知消息进行消息后续处理。交互实例处理单元对检索到的信息是否属于接口设备和需要向原型系统进行转发进行处理,与接收对象实例处理单元一起构成了HLA系统向原型系统的报文转发信息和系统服务转接模块通知消息。
系统转接服务模块提供的报文格式和FOM/SOM表的映射关系信息加入仿真后输入到对象类/交互类注册单元,结合报文格式和FOM/SOM表的映射关系信息,实现对象类和交互类的注册操作。典型的,对象类/交互类注册单元在接口设备加入仿真过程中完成对象类/交互类的实例注册,当接口设备进行申明管理时,根据报文格式和FOM/SOM表的映射关系信息进行对象类/交互类的注册,同时将注册后运行支撑结构RTI返回的句柄值填回到报文格式和FOM/SOM表的映射关系信息中去,对象类/交互类注册单元在注册过程中对HLA服务的调用形成了本模块HLA服务输出流的一部分,以及报文格式和FOM/SOM表的映射关系信息输出流。
系统服务转接模块的函数调用,输入到更新对象实例单元和发送交互实例单元中,在更新对象实例单元通过对HLA更新对象属性服务调用完成操作,在发送交互实例单元中通过对HLA发送交互服务调用完成操作,共同构成HLA服务输出流的一部分。
4、根据权利要求3所述一种原型系统与HLA仿真系统的接口设备,其特征在于:所述系统转接服务模块提供的报文格式和FOM/SOM表的映射关系信息,HLA系统向原型系统的报文转发信息,以及HLA服务输入流输入到接收对象实例处理单元和接收交互实例处理单元,完成对接收到对象实例和交互实例的具体处理过程,并形成HLA系统向原型系统的报文转发信息,以及系统服务转接模块通知消息的输出流。其中,接收对象实例处理单元主要完成对象实例属性反射处理,销毁对象实例处理,以及发现对象实例处理。接收交互实例处理单元主要完成交互实例接收处理。
在接口设备发现新的对象实例时,接收对象实例处理单元对报文格式和FOM/SOM表的映射关系信息进行检索,根据检索结果将这部分信息添加到系统转接服务模块提供的HLA系统向原型系统的报文转发模板数组集合中。
在接口设备接收到对象实例属性反射时,接收对象实例处理单元对系统转接服务模块提供的HLA系统向原型系统的报文转发模板数组集合进行更新,同时通过消息通知系统服务转接模块进行消息后续处理。
在接口设备接收到销毁对象实例信息时,接收对象实例处理单元对系统转接服务模块提供的HLA系统向原型系统的报文转发模板数组集合中的对应存储对象进行删除,同时通过消息通知系统服务转接模块进行消息后续处理。
在接口设备接收交互信息时,接收交互实例处理单元对报文格式和FOM/SOM表的映射关系信息进行检索,根据检索结果,如果这些信息属于接口设备,并且需要向原型系统进行转发,将这部分信息在系统转接服务模块提供的HLA系统向原型系统的报文转发模板数组集合中进行更新,并通过消息通知系统服务转接模块进行消息后续处理,如果这些信息属于接口设备,但不需要向原型系统进行转发,则直接通过消息通知系统服务转接模块进行消息后续处理。
所述原型系统服务接入模块由配置信息处理单元、UDP报文发送单元和UDP报文接收单元组成。XML配置文件解析模块发送的UDP端口号信息输入到原型系统服务接入模块后,在加入仿真过程中,配置信息处理单元按照所提供的UDP端口号,创建UDP报文类实例,系统服务转接模块发送的系统服务转接模块函数调用,UDP报文发送单元通过对发送地址,发送内容,以及重发设置进行封装完成操作,形成了UDP报文发送流,UDP报文的接收流、系统转接服务模块提供的报文格式和FOM/SOM表的映射关系信息,以及原型系统向HLA系统的报文转发信息被输入到UDP报文接收单元,UDP报文接收单元根据报文格式和FOM/SOM表的映射关系信息,进行信息检索,根据检索结果,如果这些信息属于接口设备,并且需要向HLA系统进行转发,形成了原型系统向HLA系统的报文转发信息,输出到系统服务转接模块进行消息后续处理。如果这些信息属于接口设备,但不需要向HLA系统进行转发,则直接通过系统服务转接模块通知消息输出到系统服务转接模块进行消息后续处理。
所述系统服务转接模块,在HLA系统服务接入模块和原型系统服务接入模块的基础上,实现两个系统的消息转发和仿真运行控制功能。XML配置文件解析模块输出的接口设备名称、原型设备监控列表以及报文格式和FOM/SOM表的映射关系列表输入到配置信息处理单元,这些信息分别保存在报文格式和FOM/SOM表的映射关系模板数组集合和原型设备监控模板数组集合中。仿真过程中,配置信息处理单元启动状态监控单元,状态监控单元根据原型设备监控模板数组集合形成系统服务转接模块函数调用,输出至原型系统服务接入模块。
所述消息转发和仿真控制单元根据HLA系统服务接入模块和原型系统服务接入模块提供的系统服务转接模块通知消息,检索原型系统向HLA系统的报文转发模板数组集合、HLA系统向原型系统的报文转发模板数组集合,以及报文格式和FOM/SOM表的映射关系模板数组集合,进行原型系统和HLA系统之间的消息转发和仿真控制,实现对象实例属性的更新、交互实例的发送和UDP报文的发送过程,形成了系统服务转接模块对HLA系统服务接入模块和原型系统服务接入模块的函数调用。同时,输入的报文格式和FOM/SOM表的映射关系信息在FOM/SOM表的映射关系模板数组集合中进行更新和检索,形成更新后的HLA系统向原型系统的报文转发信息。输入的原型系统向HLA系统的报文转发信息在原型系统向HLA系统的报文转发模板数组集合中进行更新和检索,形成更新后的原型系统向HLA系统的报文转发信息。输入的HLA系统向原型系统的报文转发信息在HLA系统向原型系统的报文转发模板数组集合中进行更新和检索,形成更新后的HLA系统向原型系统的报文转发信息。
所述仿真存储模块,实现仿真数据的收集和保存功能,XML配置文件解析模块提供的仿真存储数据库用户信息输入配置信息处理单元,根据相关信息在仿真存储命令下达后,建立对数据库的链接,并启动本地仿真数据解析单元提取仿真数据进行数据存储,形成了仿真数据流。输入的原型系统向HLA系统的报文转发信息和HLA系统向原型系统的报文转发信息通过存储单元将仿真数据存储到内存文件中,并将内存文件向本地仿真数据存储文件进行数据转录,形成本地仿真数据存储文件流输出。
所述仿真存储模块采用了乒乓存储的模式,每一次仿真开始时,按照仿真开始的时间自动建立一个本地仿真数据存储文件,同时启动存储单元,当内存文件已经填满,再将内存文件向本地仿真数据存储文件进行数据转录。
所述仿真存储模块需要记录信息转发前的所有仿真数据,对于接口设备转发后的消息,仿真存储模块并不进行记录。
所述配置工具生成模块,完成接口设备的具体配置工作,用户在配置时,需要输入接口设备名称、UDP端口号、联邦成员注册名称、仿真时间推进机制信息、仿真存储数据库用户信息、原型设备监控列表、报文格式和FOM/SOM表的映射关系列表信息。接口设备名称生成单元创建节点名称。UDP端口生成单元生成节点的UDP端口号。联邦成员名称生成单元根据联邦成员注册名称生成联邦成员。仿真时间生成单元创建仿真时间。仿真存储生成单元创建存储的数据库用户信息节点。原型设备监控生成单元生成原型设备监控列表。映射关系生成单元生成录入的报文格式和FOM/SOM表的映射关系情况。这些信息以XML节点的形式生成,最终被组合成XML配置文件的形式输出。
所述映射关系生成单元生成录入的报文格式和FOM/SOM表的映射关系情况时,
对于对象类,输入对象类名称、在申明管理服务中的类名、属性个数、原型报文长度、原型报文标识、订购属性、发布属性、属性信息。对于每个属性,包括属性名称、属性类型、属性数据长度、在原型报文中索引地址号、在申明管理服务中的属性名。
对于交互类,输入交互类名称、在申明管理服务中的类名、参数个数、原型报文长度、原型报文标识、订购属性,发布属性、仿真控制交互标志、参数信息。
对于每个参数,包括参数名称、参数类型、参数数据长度、在原型报文中索引地址号、申明管理服务中参数名。交互类不用向原型系统转发时,其原型报文长度、原型报文标识和参数信息中的在原型报文中索引地址号为空,所述交互类为仿真控制交互时,其仿真控制交互标志为真。
对于不用转发的报文类,需输入报文类名称、字段个数、原型报文长度、原型报文标识、心跳状态报文标志、字段信息;对于每个字段,包括字段名称、字段属性、字段数据长度、在原型报文中索引地址号。
所述高层代码辅助生成模块,完成接口设备代码的自动生成。工程名称、仿真运行控制由HLA交互控制或者由用户界面控制这些用户选项设置输入用户设置处理单元,完成工程名称、仿真运行控制方式的处理工作,启动XML配置文件解析模块生成单元、HLA系统服务接入模块生成单元、原型系统服务接入模块生成单元、系统服务转接模块生成单元、仿真存储模块生成单元,分别生成XML配置文件解析模块、HLA系统服务接入模块、原型系统服务接入模块、系统服务转接模块、仿真存储模块,从而输出接口设备典型源代码框架。
所述高层代码辅助生成模块采取多线程技术,包括:用户界面主线程,HLA服务线程,UDP服务线程,任务线程,仿真存储线程,同时仿真存储线程中集成了数据库访问接口,把存储的本地仿真数据上传到数据库中。
用户界面主线程负责接口设备界面的显示处理,包括显示接口设备名称,原型设备监控状态区域,HLA系统消息动态更新区域,原型系统消息动态更新区域,系统消息提示区域,系统服务转接模块根据XML配置文件解析模块下发的接口设备名称和原型设备监控列表通知用户界面主线程进行相关信息的显示,同时系统转接服务模块接收到HLA服务接入模块和原型系统服务接入模块发送的系统服务转换模块通知消息后,进行消息转发处理,然后通知用户界面主线程进行HLA系统消息动态更新和原型系统消息动态更新,系统消息提示区域将显示接口设备开机信息、接口设备接收到HLA交互信息和接口设备仿真运行控制信息。
HLA服务线程完成HLA系统服务接入模块的功能,通过封装好的接口,实现HLA系统方面的消息收发,UDP服务线程完成原型系统服务接入模块的功能,通过封装好的接口,实现原型系统方面的消息收发,任务线程完成系统服务转接模块的功能,实现HLA系统和原型系统的消息转发和仿真运行控制,仿真存储线程完成仿真存储模块的功能,实现仿真数据的记录。
本发明是一种原型系统与HLA仿真系统的接口设备,其优点在于:
(1)通过高层代码辅助生成模块,实现接口设备典型源代码,通过对HLA接口服务,原型系统接口服务,数据转发功能,仿真运行控制功能,XML解析功能等进行封装,方便进行二次开发,大大减轻了开发人员的工作量,并显著缩小开发时间;
(2)通过XML配置工具,根据仿真需求,实现接口设备的功能定制,以及HLA系统和原型系统的消息转发映射过程,显著增强了接口设备的通用性,大大方便了开发人数对于多种接口设备的维护工作;
(3)通过对HLA接口服务,以及原型系统接口服务进行封装和扩充,使得开发人员不需要掌握接口服务的细节,减少了学习时间;
(4)提供仿真数据存储功能,通过多线程,内存文件的方式,减少数据收集对接口设备性能的影响;
(5)配置文件以XML格式保存,具有很强的通用性和可编辑性。
附图说明
图1为本发明一种原型系统与HLA仿真系统的接口设备在仿真系统中的位置;
图2为本发明一种原型系统与HLA仿真系统的接口设备结构图;
图3为本发明一种原型系统与HLA仿真系统的接口设备的XML配置文件解析模块输入流和输出流;
图4为本发明一种原型系统与HLA仿真系统的接口设备的HLA系统服务接入模块输入流和输出流;
图5为本发明一种原型系统与HLA仿真系统的接口设备的原型系统服务接入模块输入流和输出流;
图6为本发明一种原型系统与HLA仿真系统的接口设备的系统服务转接模块输入流和输出流;
图7为本发明一种原型系统与HLA仿真系统的接口设备的仿真存储模块输入流和输出流;
图8为本发明一种原型系统与HLA仿真系统的接口设备的配置工具生成模块输入流和输出流;
图9为本发明一种原型系统与HLA仿真系统的接口设备的xml配置文件结构;
图10为本发明一种原型系统与HLA仿真系统的接口设备的高层代码辅助生成模块输入流和输出流;
图11为本发明一种原型系统与HLA仿真系统的接口设备的UDP上层协议报文格式;
图12为本发明一种原型系统与HLA仿真系统的接口设备的UDP报文字段改造示例;
图13为本发明一种原型系统与HLA仿真系统的接口设备中图12所示的报文在xml配置文件中对应映射的片段;
图14为本发明一种原型系统与HLA仿真系统的接口设备的配置工具生成模块的生成流程;
图15为本发明一种原型系统与HLA仿真系统的接口设备的XML配置文件解析模块的解析流程;
图16为本发明一种原型系统与HLA仿真系统的接口设备的报文格式和FOM/SOM表的映射关系模板数组集合定义;
图17为本发明一种原型系统与HLA仿真系统的接口设备的收发数据模板数组集合定义;
图18为本发明一种原型系统与HLA仿真系统的接口设备的HLA系统服务接入模块中接收对象实例处理单元的工作流程;
图19为本发明一种原型系统与HLA仿真系统的接口设备的HLA系统服务接入模块中接收对象实例处理单元发现对象类的工作流程;
图20为本发明一种原型系统与HLA仿真系统的接口设备的HLA系统服务接入模块中接收对象实例处理单元反射对象类属性的工作流程;
图21为本发明一种原型系统与HLA仿真系统的接口设备的HLA系统服务接入模块中接收交互实例处理单元的工作流程;
图22为本发明一种原型系统与HLA仿真系统的接口设备的原型系统服务接入模块中UDP报文接收单元的工作流程;
图23为本发明一种原型系统与HLA仿真系统的接口设备的系统服务转接模块中系统转发和仿真控制单元的工作流程;
图24为本发明一种原型系统与HLA仿真系统的接口设备的仿真储存模块中的存储单元的工作流程。
图25为本发明一种原型系统与HLA仿真系统的接口设备的实例例子中的xml文件内容。
具体实施方式
下面将结合附图和实施例对本发明作进一步的详细说明。
本发明是一种原型系统与HLA仿真系统的接口设备,其结构由:配置工具生成模块、XML配置文件解析模块、HLA系统服务接入模块、原型系统服务接入模块、系统服务转接模块、仿真存储模块和高层代码辅助生成模块组成。其中,XML配置文件解析模块、HLA系统服务接入模块、原型系统服务接入模块、系统服务转接模块和仿真存储模块位于接口设备内,完成接口设备运行时的功能;配置工具生成模块和高层代码辅助生成模块是外部模块,配置工具生成模块完成模块的配置和定制功能,高层代码辅助生成模块实现接口设备代码的自动生成。配置工具生成模块通过xml文件向XML配置文件解析模块下发具体配置信息。
如图2所示,XML配置文件解析模块接收到xml配置文件后,开始进行解析,将仿真存储数据库用户信息下发到仿真存储模块,将联邦成员注册名称、仿真时间推进机制下发到HLA系统服务接入模块,将接口设备名称、原型设备监控列表以及报文格式和FOM/SOM表的映射关系列表下发到系统服务转接模块,将UDP端口号下发到原型系统服务接入模块。仿真存储模块从XML配置文件解析模块接收仿真存储数据库用户信息,从HLA系统服务接入模块接收HLA系统向原型系统的报文转发信息,从原型系统服务接入模块接收原型系统向HLA系统的报文转发信息。
HLA系统服务接入模块从XML配置文件解析模块接收联邦成员注册名称、仿真时间推进机制信息,从系统服务转接模块接收系统服务转接模块函数调用、报文格式和FOM/SOM表的映射关系、HLA系统向原型系统的报文转发信息,从HLA网络接收HLA输入流;HLA系统服务接入模块向HLA网络发送HLA输出流,向仿真存储模块提供HLA系统向原型系统的报文转发信息,向系统服务转接模块提供报文格式和FOM/SOM表的映射关系信息、HLA系统向原型系统的报文转发信息、系统服务转接模块通知消息。
原型系统服务接入模块从XML配置文件解析模块接收UDP端口号,从系统服务转接模块接收系统服务转接模块函数调用、报文格式和FOM/SOM表的映射关系信息、原型系统向HLA系统的报文转发信息,从原型网络接收UDP报文接收流;原型系统服务接入模块向原型网络发送UDP报文发送流,向仿真存储模块提供原型系统向HLA系统的报文转发信息,向系统服务转接模块提供原型系统向HLA系统的报文转发信息、系统服务转接模块通知消息。
系统服务转接模块从XML配置文件解析模块接收接口设备名称、原型设备监控列表以及报文格式和FOM/SOM表的映射关系列表,从HLA系统服务接入模块接收报文格式和FOM/SOM表的映射关系信息、HLA系统向原型系统的报文转发信息、系统服务转接模块通知消息,从原型系统服务接入模块接收原型系统向HLA系统的报文转发信息、系统服务转接模块通知消息;系统服务转接模块向HLA系统服务接入模块提供系统服务转接模块函数调用、报文格式和FOM/SOM表的映射关系信息、HLA系统向原型系统的报文转发信息,向原型系统服务接入模块提供系统服务转接模块函数调用、报文格式和FOM/SOM表的映射关系信息、原型系统向HLA系统的报文转发信息。
仿真存储模块从XML配置文件解析模块接收仿真存储数据库用户信息,从HLA系统服务接入模块接收HLA系统向原型系统的报文转发信息,从原型系统服务接入模块接收原型系统向HLA系统的报文转发信息。仿真存储模块输出生成的仿真数据流,并输出本地仿真数据存储文件流。
高层代码辅助生成模块通过代码模板技术生成接口设备典型源代码,将包括XML配置文件解析模块、HLA系统服务接入模块、原型系统服务接入模块、系统服务转接模块、仿真存储模块5个模块;配置工具生成模块通过定制接口设备的行为生成具体的配置文件,以xml的文件形式将配置文件传递到XML配置文件解析模块中进行解析处理,从而实现接口设备的离线定制过程;XML配置文件解析模块对xml文件按照预定义的格式进行解析,并把解析后的配置参数传递到HLA系统服务接入模块、原型系统服务接入模块、系统服务转接模块、仿真存储模块模块中,实现配置文件解析和配置参数下发处理;HLA系统服务接入模块中对HLA接口服务进行封装,对典型代码进行扩充和定制,实现接口设备向HLA系统接入的功能;原型系统服务接入模块对报文协议进行封装,对于发送/接收报文部分进行扩充和定制,用来实现接口设备向原型系统接入的功能;系统服务转接模块,一方面实现HLA系统对象类和交互类和原型系统报文格式相互映射转发过程,另一方面实现仿真通用管理;仿真存储模块利用多线程以及内存文件的方式实现仿真数据的收集功能,从而减少数据收集对接口设备性能的影响,为仿真事后分析以及仿真回放做准备。
如图3所示,XML配置文件解析模块,输入流为xml配置文件,xml配置文件内容包括:接口设备名称、UDP端口号、联邦成员注册名称、仿真时间推进机制信息、仿真存储数据库用户信息、原型设备监控列表、报文格式和FOM/SOM表的映射关系列表。XML配置文件解析模块接收到xml配置文件后,对文件内容进行解析。其中接口设备名称解析单元解析接口设备名称,原型设备解析单元解析原型设备监控列表,映射关系解析单元解析报文格式和FOM/SOM表的映射关系列表,UDP端口解析单元解析UDP端口号,联邦成员名称解析单元解析联邦成员注册名称,仿真时间解析单元解析仿真时间推进机制信息,仿真存储解析单元解析仿真存储数据库用户信息。
如图4所示,HLA系统服务接入模块,封装HLA系统的六大服务中的联邦管理服务、申明管理服务、对象管理服务、时间管理服务四种服务。输入流在配置时的表现为XML配置文件解析模块提供的联邦成员注册名称和仿真时间推进机制信息,HLA系统服务接入模块接收到这些信息后,在加入仿真过程中,配置信息处理单元按照所提供的注册名称加入联邦,同时设置相应的仿真时间推进机制,包括时间控制和时间受限以及时间推进步长,根据前两者各自的组合,可以涵括如下4种情况:时间不控制并且时间不受限、时间控制但时间不受限、时间不控制但时间受限、时间控制并且时间受限,根据时间推进步长设置仿真时间两次推进的间隔。配置信息处理单元对HLA加入联邦和时间机制设置服务的调用,形成了本模块HLA服务输出流的一部分。
输入流在运行时表现为HLA回调函数提供的信息,这些信息包括其他联邦成员对接口设备提供的信息,以及HLA服务器向接口设备提供的信息,从接口设备需要利用的信息角度来看这些信息即为:对象实例属性的反射信息、交互实例的接收信息、发现对象实例信息和销毁对象实例信息,这些输入流共同形成了本模块HLA服务输入流。
输入流在运行时还包括系统服务转接模块对本模块更新对象实例属性函数和发送交互实例函数的调用,这两个函数的调用形成的输出流是本模块HLA服务输出流的一部分。其中更新对象实例属性将在更新对象实例单元处理,通过对HLA更新对象属性服务调用完成操作;发送交互实例将在发送交互实例单元处理,通过对HLA发送交互服务调用完成操作。
输入流在运行时还包括系统转接服务模块提供的报文格式和FOM/SOM表的映射关系信息和HLA系统向原型系统的报文转发信息。
位于HLA系统服务接入模块中的对象类/交互类注册单元,结合报文格式和FOM/SOM表的映射关系信息,实现对象类和交互类的注册操作。典型的,对象类/交互类注册单元在接口设备加入仿真过程中完成对象类/交互类的实例注册,当接口设备进行申明管理时,根据报文格式和FOM/SOM表的映射关系信息进行对象类/交互类的注册,同时将注册后运行支撑结构RTI返回的句柄值(包括对象类/交互类的类句柄,以及属性/参数的值句柄)填回到报文格式和FOM/SOM表的映射关系信息中去。对象类/交互类注册单元在注册过程中对HLA服务的调用形成了本模块HLA服务输出流的一部分,以及报文格式和FOM/SOM表的映射关系信息输出流。
位于HLA系统服务接入模块中的接收对象实例处理单元和接收交互实例处理单元,接收HLA服务输入流,报文格式和FOM/SOM表的映射关系信息,以及HLA系统向原型系统的报文转发信息,完成对象实例属性反射操作、销毁对象实例操作、发现对象实例操作和交互实例接收操作。在接口设备发现新的对象实例时,接收对象实例处理单元对报文格式和FOM/SOM表的映射关系信息进行检索,如果这些信息属于接口设备,根据检索结果将这部分信息添加到系统转接服务模块提供的HLA系统向原型系统的报文转发模板数组集合中,形成了输出流:HLA系统向原型系统的报文转发信息。在接口设备接收到对象实例属性反射时,接收对象实例处理单元对系统转接服务模块提供的HLA系统向原型系统的报文转发模板数组集合进行更新,形成了输出流:HLA系统向原型系统的报文转发信息,同时通过消息通知系统服务转接模块进行消息后续处理。在接口设备接收到销毁对象实例信息时,接收对象实例处理单元对系统转接服务模块提供的HLA系统向原型系统的报文转发模板数组集合中的对应存储对象进行删除,形成了输出流:HLA系统向原型系统的报文转发信息,同时通过消息通知系统服务转接模块进行消息后续处理。在接口设备接收交互信息时,接收交互实例处理单元对报文格式和FOM/SOM表的映射关系信息进行检索,根据检索结果,如果这些信息属于接口设备,并且需要向原型系统进行转发,将这部分信息在系统转接服务模块提供的HLA系统向原型系统的报文转发模板数组集合中进行更新,形成了输出流:HLA系统向原型系统的报文转发信息,并通过消息通知系统服务转接模块进行消息后续处理,如果这些信息属于接口设备,但不需要向原型系统进行转发,则直接通过消息通知系统服务转接模块进行消息后续处理。
HLA服务输出流、HLA系统向原型系统的报文转发信息、系统服务转接模块通知消息、报文格式和FOM/SOM表的映射关系信息,共同组成了HLA系统服务接入模块输出流。
如图5所示,原型系统服务接入模块,对基于UDP的报文协议进行封装,包括:报文初始化处理、报文发送处理、报文接收处理、报文重发处理。输入流在配置时的表现为XML配置文件解析模块提供的UDP端口号信息,原型系统服务接入模块接收到信息后,在加入仿真过程中,配置信息处理单元按照所提供的UDP端口号,创建UDP报文类实例。
输入流在运行时包括系统服务转接模块对本模块发送报文函数的调用,这个函数的调用形成了本模块输出流:UDP报文发送流。UDP报文发送将在UDP报文发送单元处理,通过对发送地址,发送内容,以及重发设置进行封装完成操作。
输入流在运行时包括原型系统中的其他设备对接口设备提供的信息,这些信息从接口设备角度来看即为UDP报文的接收流。
输入流在运行时还包括系统转接服务模块提供的报文格式和FOM/SOM表的映射关系信息,以及原型系统向HLA系统的报文转发信息。
位于原型系统服务接入模块中的UDP报文接收单元,结合报文格式和FOM/SOM表的映射关系信息,以及原型系统向HLA系统的报文转发信息,实现UDP报文接收处理操作。原型系统服务接入模块在接收到UDP报文时,UDP报文接收单元根据报文格式和FOM/SOM表的映射关系信息,进行信息检索,根据检索结果,如果这些信息属于接口设备,并且需要向HLA系统进行转发,将这部分信息添加/更新在系统转接服务模块提供的原型系统向HLA系统的报文转发模板数组集合中,从而形成了输出流:原型系统向HLA系统的报文转发信息,并通过消息通知系统服务转接模块进行消息后续处理,添加和更新取决于这些消息是否需要注册新的对象类实例,当这些消息对应于已有的对象实例,则进行模板数组集合更新操作,当这些消息对应于新的对象实例,则进行模板数组集合添加操作;如果这些信息属于接口设备,但是不需要向HLA系统进行转发,则直接通过消息通知系统服务转接模块进行消息后续处理。
UDP报文发送流、原型系统向HLA系统的报文转发信息、系统服务转接模块通知消息,共同组成了原型系统服务接入模块输出流。图5给出了原型系统服务接入模块的输入流和输出流情况。
如图6所示,系统服务转接模块,在HLA系统服务接入模块和原型系统服务接入模块的基础上,实现两个系统的消息转发和仿真运行控制功能。输入流在配置时的表现为XML配置文件解析模块提供的接口设备名称、原型设备监控列表以及报文格式和FOM/SOM表的映射关系列表,系统服务转接模块接收到这些信息后,在系统初始化过程中,配置信息处理单元按照所提供的接口设备名称,设置接口设备界面显示文字,并将报文格式和FOM/SOM表的映射关系列表和原型设备监控列表分别保存在报文格式和FOM/SOM表的映射关系模板数组集合和原型设备监控模板数组集合中;在加入仿真过程中,配置信息处理单元启动状态监控单元,状态监控单元根据原型设备监控模板数组集合,对原型设备进行状态和心跳监控,这种监控操作同时形成了系统服务转接模块对原型系统服务接入模块UDP报文发送函数的调用输出。
输入流在运行时表现为HLA系统服务接入模块和原型系统服务接入模块提供的系统服务转接模块通知消息,系统服务转接模块中的消息转发和仿真控制单元根据这些消息通知,检索原型系统向HLA系统的报文转发模板数组集合、HLA系统向原型系统的报文转发模板数组集合,以及报文格式和FOM/SOM表的映射关系模板数组集合,进行原型系统和HLA系统之间的消息转发和仿真控制,从而形成了本模块的部分输出流:系统服务转接模块对HLA系统服务接入模块和原型系统服务接入模块的函数调用,分别实现对象实例属性的更新、交互实例的发送和UDP报文的发送过程。
输入流在运行时还包括报文格式和FOM/SOM表的映射关系信息、原型系统向HLA系统的报文转发信息,以及HLA系统向原型系统的报文转发信息。
除了原型设备监控模板数组集合,在系统服务转接模块中,还包括三个模板数组集合:原型系统向HLA系统的报文转发模板数组集合、HLA系统向原型系统的报文转发模板数组集合、报文格式和FOM/SOM表的映射关系模板数组集合。这三个模板数组集合保存了接口设备大部分配置和运行时信息,是接口设备正常工作的关键信息基础。系统服务转接模块把这三个模板数组集合提供给HLA服务接入模型和原型系统服务接入模块进行信息检索,同时HLA服务接入模型和原型系统服务接入模块又对这三个模板数组集合进行更新和填充操作。
报文格式和FOM/SOM表的映射关系信息、原型系统向HLA系统的报文转发信息,HLA系统向原型系统的报文转发信息、系统服务转接模块对HLA系统服务接入模块的函数调用、系统服务转接模块对原型系统服务接入模块的函数调用,共同组成了原型系统服务接入模块输出流。图6给出了系统服务转接模块的输入流和输出流情况。
如图7所示,仿真存储模块,实现仿真数据的收集和保存功能,输入流在配置时的表现为XML配置文件解析模块提供的仿真存储数据库用户信息,包括用户名称、用户密码、数据库地址,仿真存储模块中配置信息处理单元根据这些信息,在仿真存储命令下达后,建立对数据库的链接,然后启动本地仿真数据解析单元,从本地仿真数据存储文件中提取仿真数据,向指定数据库进行数据存储,从而形成了仿真数据上传流。
输入流在运行时表现为原型系统向HLA系统的报文转发信息和HLA系统向原型系统的报文转发信息,仿真存储模块需要记录信息转发前的所有仿真数据,对于接口设备转发后的消息,仿真存储模块并不进行记录。
仿真存储模块在每一次仿真开始时,按照仿真开始的时间自动建立一个本地仿真数据存储文件,同时启动存储单元,存储单元首先将仿真数据存储到内存文件中,当内存文件已经填满,再将内存文件向本地仿真数据存储文件进行数据转录。为了数据记录的快速高效和对接口设备的影响最小,仿真存储模块采用了乒乓存储的模式。存储单元将内存文件向本地仿真数据存储文件进行数据转录的过程形成了本模块的输出流:本地仿真数据存储文件流。
如图8所示,配置工具生成模块,完成接口设备的具体配置工作。本模块的输入流为用户的配置输入,输出流为xml配置文件。用户在配置时,需要输入接口设备名称、UDP端口号、联邦成员注册名称、仿真时间推进机制信息、仿真存储数据库用户信息、原型设备监控列表、报文格式和FOM/SOM表的映射关系列表信息,这些信息以xml节点的形式生成,最终被组合成xml配置文件的形式输出。
如图9所示,配置工具生成模块将用户配置输入信息,按照指定格式记录在xml配置文件中。位于配置工具生成模块中的接口设备名称生成单元根据接口设备名称信息,创建节点<DEVICENAME>;UDP端口生成单元根据UDP端口号,创建节点<UDPPORT>;联邦成员名称生成单元根据联邦成员注册名称,创建节点<LBCYNAME>;仿真时间生成单元根据仿真时间推进机制信息,包括时间控制和时间受限两种方式的激活,以及时间推进步长信息,创建节点<TIMEMANAGE>;仿真存储生成单元根据仿真存储数据库用户信息,包括用户名称,用户密码,数据库地址,创建节点<STOREDATABASE>;原型设备监控生成单元根据原型设备监控列表,包括原型设备名称,原型设备分类信息,原型设备IP地址,创建节点<MONITORDEVICE>;映射关系生成单元根据录入报文格式和FOM/SOM表的映射关系列表,创建节点<FRAMEANDFOMSOM>。在这个节点下,将进一步录入消息内容。
对于对象类,包括:对象类名称,在申明管理服务中的类名,属性个数,原型报文长度,原型报文标识,订购属性,发布属性,对于每个属性,具体信息还将包括:属性名称,属性类型,属性数据长度,在原型报文中索引地址号,在申明管理服务中的属性名。
对于交互类,包括:交互类名称,在申明管理服务中的类名,参数个数,原型报文长度,原型报文标识,订购属性,发布属性,仿真控制交互标志,对于每个参数,具体信息还将包括:参数名称,参数类型,参数数据长度,在原型报文中索引地址号,在申明管理服务中的参数名,当交互类不需要向原型系统转发时,其原型报文长度、原型报文标识和在原型报文中索引地址号为空,特别的当交互类为仿真控制交互时,其仿真控制交互标志为真。
对于不需要向HLA系统转发的UDP报文类,包括:报文类名称,字段个数,原型报文长度,原型报文标识,心跳状态报文标志,对于每个字段,具体信息还包括:字段名称,字段属性,字段数据长度,在原型报文中索引地址号,
特别的,当不需要向HLA系统转发的UDP报文类为心跳报文时,其心跳状态报文标志为HEARTUDP,当不需要向HLA系统转发的UDP报文类为状态报文时,其心跳状态报文标志为STATEUDP,对于其他报文该标志为OTHERUDP。
高层代码辅助生成模块,完成接口设备代码的自动生成。输入流为用户的选项设置,输出流为接口设备典型源代码框架。用户利用本模块,需要设置的选项包括:工程名称、仿真运行控制由HLA交互控制或者由用户界面控制。当选项设置完成后,高层代码辅助生成模块自动生成接口设备典型源代码框架。如图10所示,位于高层代码辅助生成模块中的用户设置处理单元,完成工程名称、仿真运行控制方式的处理工作,然后启动XML配置文件解析模块生成单元、HLA系统服务接入模块生成单元、原型系统服务接入模块生成单元、系统服务转接模块生成单元、仿真存储模块生成单元,分别生成XML配置文件解析模块、HLA系统服务接入模块、原型系统服务接入模块、系统服务转接模块、仿真存储模块5个模块。
高层代码辅助生成模块生成的框架里,采取多线程技术,包括:用户界面主线程,HLA服务线程,UDP服务线程,任务线程,仿真存储线程,同时在仿真存储线程中集成了数据库访问接口,可以把存储的本地仿真数据上传到数据库中。
用户界面主线程负责接口设备界面的显示处理,包括显示接口设备名称,原型设备监控状态区域,HLA系统消息动态更新区域,原型系统消息动态更新区域,系统消息提示区域。系统转接服务模块根据XML配置文件解析模块下发的接口设备名称和原型设备监控列表通知用户界面主线程进行相关信息的显示,同时系统转接服务模块接收到HLA服务接入模块和原型系统服务接入模块发送的通知消息后,进行消息转发处理,然后通知用户界面主线程进行HLA系统消息动态更新和原型系统消息动态更新。对于系统消息提示区域,将显示系统中重要的过程信息,包括:接口设备开机信息,接口设备接收到HLA交互信息,接口设备仿真运行控制信息。
HLA服务线程主要完成HLA系统服务接入模块的功能,通过封装好的接口,实现HLA系统方面的消息收发。
UDP服务线程主要完成原型系统服务接入模块的功能,通过封装好的接口,实现原型系统方面的消息收发。
任务线程主要完成系统转接服务模块的功能,实现HLA系统和原型系统的消息转发和仿真运行控制。
仿真存储线程主要完成仿真存储模块的功能,实现仿真数据的记录。典型的,对于本模块生成的源代码,在后续的二次开发中,对于HLA系统接入服务,UDP系统接入服务,以及系统转接服务等不需要再投入,只需要对界面相关部分,部分仿真运行控制部分进行功能修改和扩充。
针对HLA系统的六大服务(联邦管理服务,申明管理服务,对象管理服务,所有权管理服务,时间管理服务,数据分发管理服务),HLA系统服务接入模块的具体实施方式如下:
HLA系统通过联邦管理服务实现联邦的创建,加入,退出和删除功能,在原型系统中不存在联邦的概念,接口设备作为连接原型系统和HLA系统的桥梁,通过将原型系统模拟成联邦执行的一员,在接口设备处完成具体的联邦管理的功能,从而参与整个系统的仿真。对于联邦创建和加入,接口设备在HLA接口方面完成相应的操作,同时还需要开启对原型设备的监控;对于联邦退出和删除,接口设备同样在完成HLA接口方面的操作后,还需要通知原型系统中的设备进行相关退出操作。
申明管理实现联邦范围内对象类,交互类的订购和发布,对于HLA系统来说,本服务是仿真执行的基础;对于原型系统不存在申明管理,成员之间的通信报文格式通过接口控制文件ICD(Interface Control Document)进行定义,接口设备通过从原型系统数据报文和控制报文格式中提取各个字段,并配置成对应的对象类和交互类,从而实现原型系统报文向HLA系统对象类、交互类映射的过程,完成HLA系统申明管理的功能。
对象管理在申明管理的基础上,实现对象实例的注册/发现,属性值的更新/反射,交互实例的发送/接收,以及对象实例的删除功能;在原型系统中,没有实例的注册/发现过程,但是对于报文的更新和HLA系统中的属性值的更新/反射,交互实例的发送/接收相对应,接口设备在前面报文映射的基础上,根据报文的格式和对象类、交互类的定义,完成双方消息解释和转发的过程。
所有权管理实现实例属性所有权的转移功能,在原型系统中,不存在所有权管理对应的功能,因此接口设备不需要实现这个功能,但这并不影响到HLA联邦系统中其他成员对于本服务的实现过程。
时间管理是HLA系统分布仿真的重要概念,本服务用来协调各成员的时间仿真同步;在原型系统中时间同步也是一个重要要素,接口设备通过设置时间策略为时间控制不受限的方式,提高了系统实时处理性能。
数据分发管理根据预定义的路径空间,实现有选择的消息分配发送,本服务可以用来降低无用数据的传输,提高网络带宽的利用率;对于原型系统没有数据分发管理对应的功能,所有报文包都必须是完整的,在接口设备的开发过程如果要实现本服务功能,这就需要接口设备能够维护所有发送的报文,并解析报文中的具体数据,根据数据的值分布实现消息的转发过程,这大大增大接口设备转发消息的延迟,并且违背了接口设备通用设计的原则,在本发明中,不采取数据分发管理服务,但这并不影响到HAL联邦系统中与原型系统无关的成员对于本服务的实现过程。
HLA系统服务接入模块实现接口设备向HLA系统接入的功能。本模块通过对HLA接口服务进行封装,对典型代码进行扩充和定制,包括:联邦管理,时间管理,申明管理,对象管理。
系统服务转接模块在上述HLA系统服务接入模块和原型系统服务接入模块的基础上,实现两个系统的消息转发和仿真运行控制功能。
1)对于消息转发的过程,是基于原型系统和HLA系统消息的映射过程,主要是指HLA系统对象类和交互类和原型系统报文格式相互映射的过程。在本发明中,报文映射通过接口设备初始化的订制来实现,接口设备在初始化过程中维护一个链表,将xml配置文件中关于本节的信息提取出来并存储在表中,当接口设备从HLA方面或者从原型设备方面接收到消息,根据链表的信息,实现具体的映射。
2)对于仿真运行控制功能,主要指仿真管理的实现,不仅包括接口设备对于HLA联邦管理,时间管理,声明管理,对象管理服务的实现,还包括接口设备对原型系统的控制和监视过程。本模块将实现仿真通用管理过程,包括:仿真开始,仿真暂停,仿真停止,仿真结束。
仿真存储模块实现仿真数据的收集和保存功能,接口设备作为连接原型系统和HLA系统的桥梁,具有收集全部仿真数据的条件,本发明中利用多线程以及内存文件的方式实现仿真数据的收集功能,从而减少数据收集对接口设备性能的影响,为仿真事后分析以及仿真回放做准备。
如图11所示,给出了UDP上层协议报文格式。在这个报文格式中,增强了UDP报文头,添加了32位发送方IP地址、32位接收方IP地址、8位序列号、8位确认号、8位原型报文标志、8位原型报文标识,这些信息将协助完成UDP报文的确认处理。32位发送方IP地址和32位接收方IP地址用于确认消息的来源和目的地;8位序列号与发送方IP地址和接收方IP地址一起表示信息单元报文的序列连续特征;8位确认号与发送方IP地址和接收方IP地址一起标识接收方发送的确认报文特征;8位原型报文标志用于标识原型报文的发送类型;8位原型报文标识用于标识原型报文的信息类型,每一类原型报文对应一个原型报文标识。
除了UDP增强报文头,其余字段为报文发送具体信息,其中:16位信息单元长度记录报文信息的总长度,用于消息的长度校验;32位时戳记录发送报文的时间,其他数据字段用于传递报文的具体数据信息。原型系统服务接入模块根据这个上层协议报文格式,封装报文的发送和接收处理过程,完成与原型系统其他设备的信息交互。
通常UDP报文字段通过接口控制文件ICD进行定义,开发接口设备时需要从原型系统数据报文和控制报文字段格式中提取各个字段,并配置成对应的对象类和交互类,因此,在进行接口设备开发时,需要先进行FOM/SOM表的开发工作。
针对FOM/SOM表的开发,对于数据报文按照接口控制文件ICD中定义的UDP报文字段格式提取各个字段的含义,改造成对象类,控制报文按照UDP报文字段格式提取各个字段的含义,改造成交互类。在报文转换的过程中利用面向对象理念,允许类的继承关系,增加整个FOM/SOM表的层次性和可读性。
如图12所示,为UDP报文字段改造示例,记录了经度、纬度、高程等运动实体参数信息的改造示例。表中<序号>对应UDP报文中字段的排列顺序。其中,N代表任意一个开始序号,<字段名称>为该字段的识别称呼,<字段类型>为该字段的数据类型,<单位>为该字段的计量方式,<长度>为该字段的字节长度,对于Long、Short、UShort等这些确定长度的数据类型,<长度>里面的值与数据类型互相印证,对于Char等长度不固定的数据类型,<长度>里面的值表示字段的真实长度,以上属性为UDP报文字段格式在接口控制文件ICD中的定义,而<属性/参数名称>为UDP报文字段改造成对象类/交互类后在FOM/SOM表中定义的名称,因此当对UDP报文字段进行对象类和交互类的改造后,将增加<属性/参数名称>这一属性,从而构成了FOM/SOM表。原型系统服务接入模块按照UDP报文中字段格式组织UDP报文具体数据内容,HLA系统服务接入模块按照FOM/SOM表进行对象类和交互类的申明和对象管理。
如图13所示,为图12所示的报文在xml配置文件中对应映射的片段。
在该片断中,用<Class>封装每一个对象类/交互类,在封装块中,Type对应于报文信息类型,包括:对象类、交互类和非转发UDP报文类三种;Name对应于对象类名称;RegisterName对应于在申明管理服务中的类名;Count对应于属性/参数个数;Length对应于原型报文长度;ID对应于原型报文标识;Subscribe对应于订购属性;Publish对应于发布属性。对于每个属性/参数,Name对应于属性/参数名称;Type对应于属性/参数类型;Size对应于属性/参数地址空间大小;Index对应于在原型报文中索引地址号;节点值对应于在申明管理服务中的属性/参数名。片段中的Add代表任意一个索引地址号。
这本片段中,配置信息和图12给出的UDP报文字段改造示例一一对应。例如:<ParamName="经度"Type="Long"Size="4"Index="N">Longitude</Param>,表示字段名称为经度的字段类型为long型数据,长度为4,参数名称为Longitude。配置工具生成模块生成的xml配置文件结构中的对象类一节将按照这种信息组织方式处理。
如图14所示,在配置工具生成模块中,完成接口设备的具体配置工作,包括:接口设备名称、UDP端口号、联邦成员注册名称、仿真时间推进机制信息、仿真存储数据库用户信息、原型设备监控列表、报文格式和FOM/SOM表的映射关系列表信息。通过对接口设备配置行为的定制,实现特定接口设备的功能。配置工具生成模块是一个外部模块,不参与具体的仿真过程。配置文件采用XML格式,具有很强的通用性和可读性。
配置工具生成模块依次启动接口设备名称生成单元,生成节点<DEVICENAME>;启动UDP端口生成单元,生成节点<UDPPORT>;启动联邦成员名称生成单元,生成节点<LBCYNAME>;启动仿真时间生成单元,生成节点<TIMEMANAGE>;启动仿真存储生成单元,生成节点<TIMEMANAGE>,启动原型设备监控生成单元,生成节点<MONITORDEVICE>,启动映射关系生成单元,生成节点<FRAMEANDFOMSOM>。
在映射关系生成单元中,首先判断消息类型,当为交互类时,首先记录交互类名称;在申明管理服务中的类名,参数个数,订购属性,发布属性,然后判断是否需要向原型系统转发,如果需要向原型系统转发,则记录原型报文长度,原型报文标识,设置仿真控制交互为假,然后记录每个参数名称,参数类型,参数数据长度,在原型报文中索引地址号,在申明管理服务中的参数名;如果不需要向原型系统转发,则设置原型报文长度为空,原型报文标识为空,判断是否为仿真控制交互,如果是,设置仿真控制交互为真,如果不是,设置仿真控制交互为假,然后记录每个参数名称,参数类型,参数数据长度,在申明管理服务中的参数名。
当为对象类时,记录对象类名称,在申明管理服务中的类名,属性个数,原型报文长度,原型报文标识,订购属性,发布属性,然后记录每个属性名称,属性类型,属性数据长度,在原型报文中索引地址号,在申明管理服务中的属性名。
当为不需要转发类时,首先记录报文类名称,字段个数,原型报文长度,原型报文标识,然后判断是否为心跳报文,如果是设置心跳状态报文标志为HEARTUDP,然后记录每个字段名称,字段类型,字段数据长度,在原型报文中索引地址号;如果不是心跳报文,则判断是否为状态报文,如果是,设置心跳状态报文标志为STATEUDP,如果不是,设置心跳状态报文标志为OTHERUDP,然后记录每个字段名称,字段类型,字段数据长度,在原型报文中索引地址号。
不断对收到的信息进行类型的判断,直至生成过程完毕。
高层代码辅助生成模块生成的XML配置文件解析模块的解析流程如图15所示。通过对xml配置文件中关键节点的检索,解析各个配置信息,并将这些信息下发到各自的处理模块中。XML配置文件解析模块其次启动接口设备名称解析单元,将结果下发到系统服务转接模块;启动UDP端口解析单元,将结果下发到原型系统服务接入模块;启动联邦成员名称解析单元,将结果下发到HLA系统服务接入模块;启动仿真时间解析单元,将结果下发到HLA系统服务接入模块;启动仿真存储解析单元,将结果下发到仿真存储模块;启动原型设备解析单元,将结果下发到系统服务转接模块;启动映射关系解析模块,对映射关系今昔概念解析。
在映射关系解析单元中,首先判断消息类型,当消息类型为交互类时,解析交互类名称,在申明管理服务中的类名,参数个数,原型报文长度,原型报文标识,订购属性,发布属性,仿真控制交互标志,然后解析每个参数名称,参数类型,参数地址空间大小,在原型报文中索引地址号,在申明管理服务中的参数名;
当消息类型为对象类时,解析对象类名称,在申明管理服务中的类名,属性个数,原型报文长度,原型报文标识,订购属性,发布属性,然后解析每个属性名称,属性类型,属性地址空间大小,在原型报文中索引地址号,在申明管理服务中的属性名;
当消息类型为不需要转发报文类时,解析报文类名称,字段个数,原型报文长度,原型报文标识,心跳状态报文标志,然后解析每个字段名称,字段属性,字段地址空间大小,在原型报文中索引地址号。
不断判断信息的类型并进行解析,直至信息解析完毕,并下发到系统服务转接模块。
高层代码辅助生成模块生成的系统服务转接模块中,在初始化过程以及后续的仿真过程中维护着报文格式和FOM/SOM表的映射关系模板数组集合,该模板数组集合保存接口设备对于订购/发布的对象类/交互类和原型系统报文的映射关系。
在HLA系统方面,不同的对象类/交互类通过类句柄进行识别,不同的属性/参数通过属性/参数句柄进行识别,当接口设备加入联邦,并订购/发布对象类/交互类后,HLA服务器将把这些句柄标识返回给接口设备;在原型系统方面,不同的报文通过报文标识ID进行识别,因此模板数组集合需要维护xml配置文件中的映射关系,同时还需要维护这些关键标识(句柄和ID),当接口设备接收到双方的数据后,通过判断标识来识别这些数据,做进一步的分发处理。
图16给出了系统服务转接模块中报文格式和FOM/SOM表的映射关系模板数组集合的结构。在这个结构HLAUDPTrans中涵盖了对象类、交互类,以及不需要向HLA转发报文类的各种情况。ClassName对应于对象类/交互类/不需要转发报文类的类名称;RegClassName对应于对象类/交互类在HLA申明管理中的类名,对于不需要转发报文类该项为空;ClassID对应于对象类/交互类在HLA申明管理中RTI调用返回句柄标识,对于不需要转发报文类该项为空;Count对应于对象类/交互类/不需要转发报文类的属性/参数/字段个数;Length对应于对象类/交互类/不需要转发报文类相应的原型报文长度,对于交互类中不需要向原型系统转发的该项为空;ID对应于对象类/交互类/不需要转发报文类相应的原型报文标识,对于交互类中不需要向原型系统转发的该项为空;Subscribe对应于对象类/交互类的订购属性,对于不需要转发报文类该项为空;Publish对应于对象类/交互类的发布属性,对于不需要转发报文类该项为空;Type对应于信息的类型,可以为对象类,或者交互类,或者不需要转发报文类之一;SimControl对应于交互类是否为仿真控制交互标志,对于对象类和不需要转发报文类该项为空;HeartStateUDP对应于不需要转发报文类是否为心跳报文或者状态报文标志,对于对象类和交互类该项为空;Param对应于属性/参数/字段的具体定义。
在Param对应的结构体ParamInfo中,ParamName对应于属性/参数/字段的名称;RegParamName对应于属性/参数在HLA申明管理中的属性/参数名,对于不需要转发报文类该项为空;DataType对应于属性/参数/字段的数据类型;ParamID对应于属性/参数在HLA申明管理中RTI调用返回句柄标识,对于不需要转发报文类该项为空;Index对应于属性/参数/字段相应的原型报文中索引地址号,对于交互类中不需要向原型系统转发的该项为空;DataLength对应于属性/参数/字段的数据长度。
接口设备在初始化过程中,填充模板数组集合的大部分信息,在申明管理处理中,将RTI调用返回句柄填充到相应标识中,包括:ClassID和ParamID,自此,报文格式和FOM/SOM表的映射关系模板数组集合填充完毕,在仿真的后续过程中,其他信息检索的作用。
在高层代码辅助生成模块生成的系统服务转接模块中,同时还维护着两个收发数据模板数组集合:原型系统向HLA系统的报文转发模板数组集合和HLA系统向原型系统的报文转发模板数组集合,这两个模板数组集合维护着接口设备转发数据的详细信息。图17给出了这两个模板数组集合的结构。
其中,结构HLAInData对应于HLA系统接收数据,在这个结构里IndexInDefineData对应于对象类/交互类信息在报文格式和FOM/SOM表的映射关系模板数组集合中的检索序号,Object对应于对象类的实例句柄,对于交互类,该项为空,ClassID对应于交互类的类句柄,对于对象类,该项为空,Time对应于收到信息的联邦时间,Buffer里存储了具体的信息内容。
结构UDPInData对应于原型系统接收数据,在这个结构里IndexInDefineData对应于报文信息对应的对象类/交互类在报文格式和FOM/SOM表的映射关系模板数组集合中的检索序号,Object对应于报文信息对应的对象类的实例句柄,当报文信息对应于交互类时,该项为空,ID对应于报文信息对应的交互类的原型报文标识,对于对象类,该项为空,ObjectID对应于报文类实例句柄,Buffer里存储了具体的信息内容,Time对应于收到信息的联邦时间。
对于HLA系统向原型系统的报文转发模板数组集合,当HLA系统服务接入模块发布和定购对象类和交互类,仿真开始后,接口设备需要处理从HLA系统接收到的属性反射数据以及交互信息,同时根据原型系统报文格式要求,向原型系统进行转发,接口设备通过报文格式和FOM/SOM表的映射关系模板数组集合中的信息,对接收到的信息进行检索,获取到具体某种对象类/交互类的属性/参数的类型,地址索引信息后,将对应的属性值/参数值复制到缓冲中,当所有属性/参数值复制完毕后,在接口设备的后续处理过程中再把缓冲的消息向原型系统进行转发。
对于原型系统向HLA系统的报文转发模板数组集合,当接口设备接收到原型系统发来的报文时,根据报文的标志ID对报文进行分发处理,与前述过程类似,接口设备通过报文格式和FOM/SOM表的映射关系模板数组集合中的信息,对接收到的信息进行检索,获取到具体某种对象类/交互类的属性/参数的类型,地址索引信息后,将报文对应字段的数据提取出来,进行属性更新和交互发送的工作。
图18给出了高层代码辅助生成模块生成的HLA系统服务接入模块中的接收对象实例处理单元的工作流程。当HLA系统服务接入模块接收到HLA服务信息,接收对象实例处理单元首先判断服务信息的类型,当为发现对象服务信息时,则进行发现对象处理;当为销毁对象服务信息时,则进行销毁对象处理,当为对象实例属性反射服务信息时,则进行对象实例属性反射处理。
图19给出了高层代码辅助生成模块生成的HLA系统服务接入模块中的接收对象实例处理单元发现对象的工作流程。当HLA系统服务接入模块接收到HLA服务信息,触发发现对象类回调函数后,位于HLA系统服务接入模块中的接收对象实例处理单元锁定HLA系统向原型系统的报文转发模板数组集合,防止该模板数组集合在其它线程调用过程中进行写操作,然后对报文格式和FOM/SOM表的映射关系模板数组集合进行遍历,根据对象类句柄搜索刚发现的对象类是否为接口设备订购的对象类,如果搜索成功,则新建HLAInData结构的实例temp,同时将发现的对象类实例句柄、仿真时间以及刚发现的对象类在报文格式和FOM/SOM表的映射关系模板数组集合中的检索序号填充到temp结构中,并向HLA系统向原型系统的报文转发模板数组集合添加新建的temp实例,然后跳出循环;如果遍历完报文格式和FOM/SOM表的映射关系模板数组集合没有相关的信息与之进行对应,则新发现的对象类不是接口设备订购的对象类,发现对象实例单元不做任何处理。当发现对象实例单元完成上述处理后,解锁HLA系统向原型系统的报文转发模板数组集合,使得其它线程能够对该模板数组集合进行读/写操作。
高层代码辅助生成模块生成的HLA系统服务接入模块接收到HLA服务信息,触发删除对象类回调函数后,位于HLA系统服务接入模块中的对象实例处理单元同样先锁定HLA系统向原型系统的报文转发模板数组集合,防止该模板数组集合在其它线程调用过程中进行写操作,然后对该模板数组集合进行遍历,根据删除对象类实例句柄进行搜索,如果搜索成功,则从HLA系统向原型系统的报文转发模板数组集合中删除相应的信息,然后跳出循环;如果遍历完模板数组集合,没有相关的信息与之进行对应,则待删除对象类实例不是接口设备正在进行转发处理的实例,删除对象实例单元不做任何处理。当删除对象实例单元完成上述处理后,解锁HLA系统向原型系统的报文转发模板数组集合,使得其它线程能够对该模板数组集合进行读/写操作。
图20给出了高层代码辅助生成模块生成的HLA系统服务接入模块中的接收对象实例处理单元反射对象类属性的工作流程。当HLA系统服务接入模块接收到HLA服务信息,触发对象实例属性反射回调函数后,位于HLA系统服务接入模块中的接收对象实例处理单元锁定HLA系统向原型系统的报文转发模板数组集合,防止该模板数组集合在其它线程调用过程中进行写操作,然后建立外循环(对应外循环变量i)对该模板数组集合进行遍历,根据属性反射对象类实例句柄进行搜索,如果搜索成功,则建立中循环(对应中循环变量j),对反射属性集进行遍历,获取每个属性的反射属性值,根据HLA系统向原型系统的报文转发模板数组集合中的IndexInDefineData信息,获取属性更新对象类信息在报文格式和FOM/SOM表的映射关系模板数组集合中的检索序号,从而获取对象类在报文格式和FOM/SOM表的映射关系模板数组集合中定义的属性个数,然后建立内循环(对应内循环变量k),对所有定义的属性进行遍历,检索反射属性的属性句柄是否与报文格式和FOM/SOM表的映射关系模板数组集合所定义的属性句柄一致,如果一致,从而获取反射属性的数据长度和在UDP报文中索引地址号信息,根据这些信息填充到HLA系统向原型系统的报文转发模板数组集合中Buffer里的相关位置。当所有的反射属性值通过内循环查找到的信息正确填充到Buffer里后,跳出外循环,向系统服务转接模块进行消息通知,同时解锁HLA系统向原型系统的报文转发模板数组集合,使得其它线程能够对该模板数组集合进行读/写操作。
图21给出了高层代码辅助生成模块生成的HLA系统服务接入模块中的接收交互实例处理单元收到交互类的工作流程。当HLA系统服务接入模块接收到HLA服务信息,触发收到交互类回调函数后,位于HLA系统服务接入模块中的接收交互实例处理单元锁定HLA系统向原型系统的报文转发模板数组集合,防止该模板数组集合在其它线程调用过程中进行写操作,然后建立外循环(对应外循环变量i)对报文格式和FOM/SOM表的映射关系模板数组集合进行遍历,根据交互类句柄搜索刚收到的交互类是否为接口设备订购的交互类,如果搜索不成功,则新收到的交互类不是接口设备订购的交互类,交互实例接收单元不做任何处理,解锁HLA系统向原型系统的报文转发模板数组集合,退出处理函数。如果搜索成功,进一步判断接收到的交互类是否需要向原型系统转发,如果不需要进行转发,则直接跳出外循环,向系统服务转接模块进行消息通知,同时解锁HLA系统向原型系统的报文转发模板数组集合,退出处理函数。如果这些交互需要进行转发,交互实例接收单元则建立中循环(对应中循环变量j),对HLA系统向原型系统的报文转发模板数组集合进行遍历,根据交互类句柄搜索刚收到的交互类是否在HLA系统向原型系统的报文转发模板数组集合中是否存在,如果存在,则根据参数集的大小,建立内循环(对应内循环变量k),对收到参数集进行遍历,获取每个参数的属性值,根据HLA系统向原型系统的报文转发模板数组集合中的IndexInDefineData信息,获取收到交互类信息在报文格式和FOM/SOM表的映射关系模板数组集合中的检索序号,从而获取交互类在报文格式和FOM/SOM表的映射关系模板数组集合中定义的参数个数,然后建立末循环(对应末循环变量1),对所有定义的参数进行遍历,检索收到参数的参数句柄是否与报文格式和FOM/SOM表的映射关系模板数组集合所定义的参数句柄一致,如果一致,获取收到参数的数据长度和在UDP报文中索引地址号信息,根据这些信息填充到HLA系统向原型系统的报文转发模板数组集合[j]中Buffer里的相关位置。当所有的收到参数值通过末循环查找到的信息正确填充到Buffer里后,跳出末循环,向系统服务转接模块进行消息通知,同时解锁HLA系统向原型系统的报文转发模板数组集合,使得其它线程能够对该模板数组集合进行读/写操作。在中循环的遍历过程中,如果收到交互类句柄不存在,则表明接口设备是第一次收到该种交互类,接收交互实例处理单元新建HLAInData结构的实例temp,将收到的交互类句柄、仿真时间以及在报文格式和FOM/SOM表的映射关系模板数组集合中的检索序号填充到temp结构中,并向HLA系统向原型系统的报文转发模板数组集合添加新建的temp实例,设置中循环变量j为HLA系统向原型系统的报文转发模板数组集合的最后一个,其余后续操作与在中循环的遍历过程中,存在收到交互类句柄的后续处理类似。
图22给出了高层代码辅助生成模块生成的原型系统服务接入模块中UDP报文接收单元收到UDP消息的工作流程。当原型系统服务接入模块接收到原型系统发来的消息后,位于原型系统服务接入模块中的UDP报文接收单元锁定原型系统向HLA系统的报文转发模板数组集合,防止该模板数组集合在其它线程调用过程中进行写操作,然后建立外循环(对应外循环变量i)对报文格式和FOM/SOM表的映射关系模板数组集合进行遍历,然后根据接收到的原型报文标识ID,搜索刚收到的报文是否为接口设备预定义的信息,如果搜索不成功,则新收到的UDP报文不是接口设备待处理的报文,UDP报文接收单元不做任何处理,解锁原型系统向HLA系统的报文转发模板数组集合,退出处理函数。如果UDP报文接收单元搜索成功,进一步判断接收到的UDP报文对应于对象类/交互类/不需要转发报文类中的哪一类,
如果对应于不需要转发报文类,则直接跳出外循环,向系统服务转接模块进行消息通知,同时解锁原型系统向HLA系统的报文转发模板数组集合,退出处理函数。
如果对应于对象类,解析接收到的报文实例句柄,然后建立内循环(对应内循环变量j),对原型系统向HLA系统的报文转发模板数组集合进行遍历,根据报文实例句柄搜索刚收到的UDP报文是否在原型系统向HLA系统的报文转发模板数组集合中是否存在,如果存在,将收到的UDP报文信息复制到原型系统向HLA系统的报文转发模板数组集合[j]中m_Buffer里,然后跳出外循环,向系统服务转接模块进行消息通知,同时解锁HLA系统向原型系统的报文转发模板数组集合,使得其它线程能够对该模板数组集合进行读/写操作。在内循环的遍历过程中,如果解析的报文实例句柄不存在,则表明接口设备是第一次收到该种UDP报文实例,新建UDPInData结构的实例temp,将解析出来的UDP报文实例句柄、仿真时间以及在报文格式和FOM/SOM表的映射关系模板数组集合中的检索序号填充到temp结构中,并向原型系统向HLA系统的报文转发模板数组集合添加新建的temp实例,设置内循环变量j为原型系统向HLA系统的报文转发模板数组集合的最后一个,其余后续操作与在内循环的遍历过程中,存在解析出的报文实例句柄的后续处理相同。
如果接收到的UDP报文对应于交互类,则建立内循环(对应内循环变量j),对原型系统向HLA系统的报文转发模板数组集合进行遍历,根据解析出来的原型报文标识搜索刚收到的UDP报文是否在原型系统向HLA系统的报文转发模板数组集合中是否存在,如果存在,将收到的UDP报文信息复制到原型系统向HLA系统的报文转发模板数组集合[j]中m_Buffer里,然后跳出外循环,向系统服务转接模块进行消息通知,同时解锁HLA系统向原型系统的报文转发模板数组集合,使得其它线程能够对该模板数组集合进行读/写操作;如果不存在,则表明接口设备是第一次收到该种UDP报文,新建UDPInData结构的实例temp,将解析出来的原型报文标识、仿真时间以及在报文格式和FOM/SOM表的映射关系模板数组集合中的检索序号填充到temp结构中,并向原型系统向HLA系统的报文转发模板数组集合添加新建的temp实例,设置内循环变量j为原型系统向HLA系统的报文转发模板数组集合的最后一个,其余后续操作与在内循环的遍历过程中,存在解析出的报文标识的后续处理相同。
图23给出了高层代码辅助生成模块生成的系统服务转接模块中系统转发和仿真控制单元的工作流程。当系统服务转接模块接收到系统服务转接模块通知消息后,位于系统服务转接模块中的消息转发和仿真控制单元,首先判断接收消息的类型。
如果消息为HLA系统服务接入模块发出收到对象类属性反射,消息转发和仿真控制单元锁定HLA系统向原型系统的报文转发模板数组集合,防止该模板数组集合在其它线程调用过程中进行写操作,解析消息参数,获取待转发消息在HLA系统向原型系统的报文转发模板数组集合中的索引号,从而获取其在报文格式和FOM/SOM表的映射关系模板数组集合中的索引号,然后建立循环对所有属性进行遍历。根据属性的数据长度和在原型报文中索引地址号,进行网络字节顺序转换,当所有属性都处理完毕之后,根据报文格式和FOM/SOM表的映射关系模板数组集合中信息,填充增强UDP报头,然后调用原型系统服务接入模块函数进行UDP消息发送,同时解锁HLA系统向原型系统的报文转发模板数组集合,使得其它线程能够对该模板数组集合进行读/写操作。
如果消息为HLA系统服务接入模块发出收到交互类,消息转发和仿真控制单元锁定HLA系统向原型系统的报文转发模板数组集合,防止该模板数组集合在其它线程调用过程中进行写操作,解析消息参数。判断该交互是否需要向原型系统转发,如果不需要,则调用原型系统服务接入模块函数进行UDP消息发送,同时解锁HLA系统向原型系统的报文转发模板数组集合,使得其它线程能够对该模板数组集合进行读/写操作;如果需要转发,从消息参数中获取待转发消息在HLA系统向原型系统的报文转发模板数组集合中的索引号,从而获取其在报文格式和FOM/SOM表的映射关系模板数组集合中的索引号,然后建立循环对所有参数进行遍历,根据参数的数据长度和在原型报文中索引地址号,进行网络字节顺序转换,当所有参数都处理完毕之后,根据报文格式和FOM/SOM表的映射关系模板数组集合中信息,填充增强UDP报头,然后调用原型系统服务接入模块函数进行UDP消息发送,同时解锁HLA系统向原型系统的报文转发模板数组集合,使得其它线程能够对该模板数组集合进行读/写操作。
如果消息为HLA系统服务接入模块发出收到UDP报文类,消息转发和仿真控制单元锁定原型系统向HLA系统的报文转发模板数组集合,防止该模板数组集合在其它线程调用过程中进行写操作,解析消息参数,判断该UDP报文的类型。如果不需要转发报文类,特别的对于仿真心跳报文以及仿真状态报文,按照原型设备监控模板数组集合中的设备定义通知状态监控单元进行状态监控处理,并解锁原型系统向HLA系统的报文转发模板的数组集合;对于其他报文,直接解锁原型系统向HLA系统的报文转发模板的数组集合。如果是对象类信息,从消息参数中获取待转发消息在原型系统向HLA系统的报文转发模板数组集合中的索引号,从而获取其在报文格式和FOM/SOM表的映射关系模板数组集合中的索引号,并且从消息参数中获取是否对应于新的原型报文实例句柄信息,如果是,则注册新的对象类实例,并将返回的对象类实例句柄填充到原型系统向HLA系统的报文转发模板数组集合中,对所有属性进行遍历。如果不对应新的原型报文实例句柄信息,则直接然后建立循环对所有属性进行遍历。遍历时,根据属性的数据长度和在原型报文中索引地址号,进行网络字节顺序转换,当所有属性都处理完毕之后,然后调用HLA系统服务接入模块函数进行对象类属性更新工作,如果不是对应于新的原型报文实例句柄,则直接建立循环对所有属性进行遍历。遍历完毕后调用HLA系统接入服务模块更新对象类属性函数,并解锁原型系统向HLA系统的报文转发模板数组集合。如果是交互类信息,则从消息参数中获取待转发消息在原型系统向HLA系统的报文转发模板数组集合中的索引号,从而获取其在报文格式和FOM/SOM表的映射关系模板数组集合中的索引号,建立循环对所有参数进行遍历,根据参数的数据长度和在原型报文中索引地址号,进行网络字节顺序转换;当所有参数都处理完毕之后,然后调用HLA系统服务接入模块函数进行交互类发送工作,完成后解锁原型系统向HLA系统的报文转发模板数组集合,使得其它线程能够对该模板数组集合进行读/写操作。
在高层代码辅助生成模块生成的仿真存储模块中,提供仿真数据存储功能,接口设备记录仿真过程中的全部数据,并存储到本地硬盘中,当仿真结束后,通过数据库访问接口把仿真数据传送到数据库中。如图24所示,当接口设备启动后,加载配置文件,位于仿真存储模块中的存储单元在系统初始化的时候开辟两块内存文件空间,用于临时存储仿真数据。存储单元根据仿真的指令状态,判断当前的指令状态,当为仿真存储指令时,开辟文件存储线程,通过数据库接口将硬盘仿真数据导入到数据库中;当为仿真结束指令时,将当前激活内存文件数据保存在硬盘文件中;当为仿真开始指令时,则一直等待HLA系统服务接入模块和原型系统服务接入模块提供的仿真数据,接收到仿真数据后获取仿真数据的长度,从而判断仿真数据能否存储到当前激活内存文件中,如果能够存入,则向当前激活内存文件写数据,如果需要记录的数据大于当前激活内容剩余的容量,造成不能进行存储,则设置后台内存文件为激活内存,并向其写数据,然后将前一块内存文件数据导入到本地硬盘中。以此循环记录所有的仿真数据。图24给出了仿真存储模块的实现流程。
数据结果
1.仿真环境
1.1拓扑结构:仿真系统由一台HLA服务器,一台HLA联邦设备,一台接口设备,一台原型设备组成。HLA服务器和HLA联邦设备,以及接口设备组成HLA网络,同时接口设备和原型设备组成原型网络,两个网络通过接口设备进行消息转发。
1.2硬件:HLA服务器和三台仿真设备主频2000Mhz,内存2000M。
1.3消息:设计有10个对象类和原型报文进行映射,每个对象类包括20个属性,属性都为Long型,占用四个字节,没有交互类和不向HLA转发报文。在仿真时,每个对象类对应于2个对象实例,一共是20个对象实例。
2.xml配置文件
由配置文件生成模块生成的xml配置文件如图25所示。接口设备名称为Test接口设备;UDP端口号为8272;联邦成员名称为TestLBCY;时间控制方式为时间控制非受限,时间推进步长为0.001;存储数据库用户名为Test,密码为Test,IP地址为192.168.1.1。
第一个对象类名称为运动实体1,注册名为MovingObject1,属性个数为20个,分别为属性1、属性2、......、属性20,报文长度为80,UDP报文标识为AA,订购属性和发布属性能为真;对于第一个属性,属性名为属性1,数据类型为Long,数据长度4,在原型报文中地址为0,注册属性名为Param1,对于第二个属性,属性名为属性2,数据类型为Long,数据长度4,在原型报文中地址为4,注册属性名为Param2,其它18个属性依次类推。
第二个对象类名称为运动实体2,注册名为MovingObject2,属性个数为20个,分别为属性1、属性2、......、属性20,报文长度为80,UDP报文标识为AB,订购属性和发布属性能为真;对于第一个属性,属性名为属性1,数据类型为Long,数据长度4,在原型报文中地址为0,注册属性名为Param1,对于第二个属性,属性名为属性2,数据类型为Long,数据长度4,在原型报文中地址为4,注册属性名为Param2,其它18个属性依次类推。
其它8个对象类在xml文件中的定义与此类似。为了节省篇幅,在图中省略了对象类运动实体3-10的定义,其定义与运动实体1和运动实体2类似,不再赘述。3.仿真数据
3.1性能测试:HLA联邦设备和原型设备对20个对象实例进行周期消息更新,更新周期一致,测试接口设备对消息转发的延迟。结果如表1所示。
表1,性能测试数据结果
数据更新周期 | 延迟 |
1秒 | 0.654毫秒 |
100毫秒 | 0.698毫秒 |
50毫秒 | 0.742毫秒 |
20毫秒 | 0.874毫秒 |
从表中可以看出随着数据更新周期的减小,数据转发压力增大,接口设备对消息转发的延迟也增大,但是增大的幅度远远小于数据转发压力增大的幅度,因此接口设备的数据转发性能比较理想。
3.2强度测试:采用乒乓测试方式,HLA联邦设备和原型设备收到对方消息后,立即发送本地消息,测试接口设备最大转发消息的数量。结果如表2所示。
表2,强度测试数据结果
参与仿真对象类个数 | 最大转发报文数 |
1个 | 1534 |
2个 | 1478 |
5个 | 1522 |
10个 | 1509 |
从表中可以看出,随着参与仿真对象个数的增大,接口设备最大转发报文数基本一致,在1500批左右,因此接口设备能够承担较大数据转发压力。
Claims (10)
1、一种原型系统与HLA仿真系统的接口设备,其特征在于:由配置工具生成模块、XML配置文件解析模块、HLA系统服务接入模块、原型系统服务接入模块、系统服务转接模块、仿真存储模块和高层代码辅助生成模块组成;XML配置文件解析模块、HLA系统服务接入模块、原型系统服务接入模块、系统服务转接模块和仿真存储模块位于接口设备内;配置工具生成模块和高层代码辅助生成模块位于接口设备外部;高层代码辅助生成模块生成XML配置文件解析模块、HLA系统服务接入模块、原型系统服务接入模块、系统服务转接模块和仿真存储模块的代码框架;
配置工具生成模块将用户的配置信息输入并生成XML文件,并以XML文件的形式向XML配置文件解析模块下发具体配置信息;XML配置文件解析模块接收到XML配置文件后,开始进行解析,将仿真存储数据库用户信息发送到仿真存储模块,将联邦成员注册名称、仿真时间推进机制发送到HLA系统服务接入模块,将接口设备名称、原型设备监控列表以及报文格式和FOM/SOM表的映射关系列表下发到系统服务转接模块,将UDP端口号下发到原型系统服务接入模块;系统服务转接模块接收XML配置文件解析模块发送的接口设备名称、原型设备监控列表以及报文格式和FOM/SOM表的映射关系列表信息,在HLA系统服务接入模块和原型系统服务接入模块的基础上,实现两个系统的消息转发和仿真运行控制功能;HLA系统服务接入模块接收到联邦成员注册名称、仿真时间推进机制信息后,同系统服务转接模块发送的系统服务转接模块函数调用、报文格式和FOM/SOM表的映射关系信息一起生成HLA服务输出流,并将加入仿真过程中填充完毕的报文格式和FOM/SOM表的映射关系信息重新输入系统服务转接模块;HLA服务输入流输入到HLA系统服务接入模块,同系统服务转接模块发送的报文格式和FOM/SOM表的映射关系信息、HLA系统向原型系统的报文转发信息一起生成HLA系统向原型系统的报文转发信息分别发送到仿真存储模块和系统服务转接模块,生成系统服务转接模块通知消息发送到系统服务转接模块;原型系统服务接入模块从XML配置文件解析模块接收UDP端口号后生成相关配置信息,并在系统服务转接模块输入的系统服务转接模块函数调用下生成UDP报文发送流输出,在系统服务转接模块输入的报文格式和FOM/SOM表的映射关系信息、原型系统向HLA系统的报文转发信息的作用下,输入系统的UDP报文接收流生成系统服务转接模块通知消息分别发送到系统服务转接模块和仿真存储模块,生成的原型系统向HLA系统的报文转发信息发送到系统服务转接模块,仿真存储模块对XML配置文件解析模块发送的仿真数据库用户信息进行存储,形成仿真数据流,对HLA系统服务接入模块发送的HLA系统向原型系统的报文转发信息和原型系统服务接入模块发送的原型系统对HLA系统的报文转发信息进行存储,形成本地仿真数据存储文件流。
2、根据权利要求1所述一种原型系统与HLA仿真系统的接口设备,其特征在于:XML配置文件解析模块,输入流为XML配置文件,XML配置文件内容包括:接口设备名称、UDP端口号、联邦成员注册名称、仿真时间推进机制信息、仿真存储数据库用户信息、原型设备监控列表、报文格式和FOM/SOM表的映射关系列表,XML配置文件解析模块接收到XML配置文件后,对文件内容进行解析,其中接口设备名称解析单元解析接口设备名称,原型设备解析单元解析原型设备监控列表,映射关系解析单元解析报文格式和FOM/SOM表的映射关系列表,UDP端口解析单元解析UDP端口号,联邦成员名称解析单元解析联邦成员注册名称,仿真时间解析单元解析仿真时间推进机制信息,仿真存储解析单元解析仿真存储数据库用户信息。
3、根据权利要求1所述一种原型系统与HLA仿真系统的接口设备,其特征在于:所述HLA系统服务接入模块由XML配置文件解析模块、更新对象实例单元、发送交互实例单元、接收对象实例处理单元、接收交互实例处理单元和对象类/交互类注册单元组成;XML配置文件解析模块提供的联邦成员注册名称和仿真时间推进机制信息加入仿真中,配置信息处理单元按照所提供的注册名称加入联邦,同时设置相应的仿真时间推进机制,根据时间推进步长设置仿真时间两次推进的间隔,对HLA加入联邦和时间机制设置服务的调用,形成了HLA服务输出流的一部分;
输入的系统转接服务模块提供的报文格式和FOM/SOM表的映射关系信息和HLA系统向原型系统的报文转发信息,对象类/交互类注册单元结合报文格式和FOM/SOM表的映射关系信息,实现对象类和交互类的注册操作,在注册过程中对HLA服务的调用形成了本模块HLA服务输出流的一部分,以及报文格式和FOM/SOM表的映射关系信息输出流;
接收对象实例处理单元和接收交互实例处理单元,首先对报文格式和FOM/SOM表的映射关系信息进行检索,并对输入的HLA系统向原型系统的报文转发信息和HLA服务输入流进行对象实例的和交互实例进行处理,接收对象实例处理单元分别对对象实例的不同状态下的情况进行处理,形成了HLA系统向原型系统的报文转发信息,同时通过系统服务转接模块通知消息进行消息后续处理;交互实例处理单元对检索到的信息是否属于接口设备和需要向原型系统进行转发进行处理,与接收对象实例处理单元一起构成了HLA系统向原型系统的报文转发信息和系统服务转接模块通知消息;
系统转接服务模块提供的报文格式和FOM/SOM表的映射关系信息加入仿真后输入到对象类/交互类注册单元,结合报文格式和FOM/SOM表的映射关系信息,实现对象类和交互类的注册操作;典型的,对象类/交互类注册单元在接口设备加入仿真过程中完成对象类/交互类的实例注册,当接口设备进行申明管理时,根据报文格式和FOM/SOM表的映射关系信息进行对象类/交互类的注册,同时将注册后运行支撑结构RTI返回的句柄值填回到报文格式和FOM/SOM表的映射关系信息中去,对象类/交互类注册单元在注册过程中对HLA服务的调用形成了本模块HLA服务输出流的一部分,以及报文格式和FOM/SOM表的映射关系信息输出流;
系统服务转接模块的函数调用,输入到更新对象实例单元和发送交互实例单元中,在更新对象实例单元通过对HLA更新对象属性服务调用完成操作,在发送交互实例单元中通过对HLA发送交互服务调用完成操作,共同构成HLA服务输出流的一部分。
4、根据权利要求3所述一种原型系统与HLA仿真系统的接口设备,其特征在于:所述系统转接服务模块提供的报文格式和FOM/SOM表的映射关系信息,HLA系统向原型系统的报文转发信息,以及HLA服务输入流输入到接收对象实例处理单元和接收交互实例处理单元,完成对接收到对象实例和交互实例的具体处理过程,并形成HLA系统向原型系统的报文转发信息,以及系统服务转接模块通知消息的输出流;其中,接收对象实例处理单元主要完成对象实例属性反射处理,销毁对象实例处理,以及发现对象实例处理;接收交互实例处理单元主要完成交互实例接收处理;
在接口设备发现新的对象实例时,接收对象实例处理单元对报文格式和FOM/SOM表的映射关系信息进行检索,根据检索结果将这部分信息添加到系统转接服务模块提供的HLA系统向原型系统的报文转发模板数组集合中;
在接口设备接收到对象实例属性反射时,接收对象实例处理单元对系统转接服务模块提供的HLA系统向原型系统的报文转发模板数组集合进行更新,同时通过消息通知系统服务转接模块进行消息后续处理;
在接口设备接收到销毁对象实例信息时,接收对象实例处理单元对系统转接服务模块提供的HLA系统向原型系统的报文转发模板数组集合中的对应存储对象进行删除,同时通过消息通知系统服务转接模块进行消息后续处理;
在接口设备接收交互信息时,接收交互实例处理单元对报文格式和FOM/SOM表的映射关系信息进行检索,根据检索结果,如果这些信息属于接口设备,并且需要向原型系统进行转发,将这部分信息在系统转接服务模块提供的HLA系统向原型系统的报文转发模板数组集合中进行更新,并通过消息通知系统服务转接模块进行消息后续处理,如果这些信息属于接口设备,但不需要向原型系统进行转发,则直接通过消息通知系统服务转接模块进行消息后续处理。
5、根据权利要求1所述一种原型系统与HLA仿真系统的接口设备,其特征在于:所述原型系统服务接入模块由配置信息处理单元、UDP报文发送单元和UDP报文接收单元组成;XML配置文件解析模块发送的UDP端口号信息输入到原型系统服务接入模块后,在加入仿真过程中,配置信息处理单元按照所提供的UDP端口号,创建UDP报文类实例,系统服务转接模块发送的系统服务转接模块函数调用,UDP报文发送单元通过对发送地址,发送内容,以及重发设置进行封装完成操作,形成了UDP报文发送流,UDP报文的接收流、系统转接服务模块提供的报文格式和FOM/SOM表的映射关系信息,以及原型系统向HLA系统的报文转发信息被输入到UDP报文接收单元,UDP报文接收单元根据报文格式和FOM/SOM表的映射关系信息,进行信息检索,根据检索结果,如果这些信息属于接口设备,并且需要向HLA系统进行转发,形成了原型系统向HLA系统的报文转发信息,输出到系统服务转接模块进行消息后续处理;如果这些信息属于接口设备,但不需要向HLA系统进行转发,则直接通过系统服务转接模块通知消息输出到系统服务转接模块进行消息后续处理。
6、根据权利要求1所述一种原型系统与HLA仿真系统的接口设备,其特征在于:所述系统服务转接模块,在HLA系统服务接入模块和原型系统服务接入模块的基础上,实现两个系统的消息转发和仿真运行控制功能;XML配置文件解析模块输出的接口设备名称、原型设备监控列表以及报文格式和FOM/SOM表的映射关系列表输入到配置信息处理单元,这些信息分别保存在报文格式和FOM/SOM表的映射关系模板数组集合和原型设备监控模板数组集合中;仿真过程中,配置信息处理单元启动状态监控单元,状态监控单元根据原型设备监控模板数组集合形成系统服务转接模块函数调用,输出至原型系统服务接入模块;
所述消息转发和仿真控制单元根据HLA系统服务接入模块和原型系统服务接入模块提供的系统服务转接模块通知消息,检索原型系统向HLA系统的报文转发模板数组集合、HLA系统向原型系统的报文转发模板数组集合,以及报文格式和FOM/SOM表的映射关系模板数组集合,进行原型系统和HLA系统之间的消息转发和仿真控制,实现对象实例属性的更新、交互实例的发送和UDP报文的发送过程,形成了系统服务转接模块对HLA系统服务接入模块和原型系统服务接入模块的函数调用;同时,输入的报文格式和FOM/SOM表的映射关系信息在FOM/SOM表的映射关系模板数组集合中进行更新和检索,形成更新后的HLA系统向原型系统的报文转发信息;输入的原型系统向HLA系统的报文转发信息在原型系统向HLA系统的报文转发模板数组集合中进行更新和检索,形成更新后的原型系统向HLA系统的报文转发信息;输入的HLA系统向原型系统的报文转发信息在HLA系统向原型系统的报文转发模板数组集合中进行更新和检索,形成更新后的HLA系统向原型系统的报文转发信息。
7、根据权利要求1所述一种原型系统与HLA仿真系统的接口设备,其特征在于:所述仿真存储模块,实现仿真数据的收集和保存功能,XML配置文件解析模块提供的仿真存储数据库用户信息输入配置信息处理单元,根据相关信息在仿真存储命令下达后,建立对数据库的链接,并启动本地仿真数据解析单元提取仿真数据进行数据存储,形成了仿真数据流;输入的原型系统向HLA系统的报文转发信息和HLA系统向原型系统的报文转发信息通过存储单元将仿真数据存储到内存文件中,并将内存文件向本地仿真数据存储文件进行数据转录,形成本地仿真数据存储文件流输出;
所述仿真存储模块采用了乒乓存储的模式,每一次仿真开始时,按照仿真开始的时间自动建立一个本地仿真数据存储文件,同时启动存储单元,当内存文件已经填满,再将内存文件向本地仿真数据存储文件进行数据转录;所述仿真存储模块需要记录信息转发前的所有仿真数据,对于接口设备转发后的消息,仿真存储模块并不进行记录。
8、根据权利要求1所述一种原型系统与HLA仿真系统的接口设备,其特征在于:所述配置工具生成模块,完成接口设备的具体配置工作,用户在配置时,需要输入接口设备名称、UDP端口号、联邦成员注册名称、仿真时间推进机制信息、仿真存储数据库用户信息、原型设备监控列表、报文格式和FOM/SOM表的映射关系列表信息;接口设备名称生成单元创建节点名称;UDP端口生成单元生成节点的UDP端口号;联邦成员名称生成单元根据联邦成员注册名称生成联邦成员;仿真时间生成单元创建仿真时间;仿真存储生成单元创建存储的数据库用户信息节点;原型设备监控生成单元生成原型设备监控列表;映射关系生成单元生成录入的报文格式和FOM/SOM表的映射关系情况;这些信息以XML节点的形式生成,最终被组合成XML配置文件的形式输出。
9、根据权利要求8所述一种原型系统与HLA仿真系统的接口设备,其特征在于:所述映射关系生成单元生成录入的报文格式和FOM/SOM表的映射关系情况时,
对于对象类,输入对象类名称、在申明管理服务中的类名、属性个数、原型报文长度、原型报文标识、订购属性、发布属性、属性信息;对于每个属性,包括属性名称、属性类型、属性数据长度、在原型报文中索引地址号、在申明管理服务中的属性名;
对于交互类,输入交互类名称、在申明管理服务中的类名、参数个数、原型报文长度、原型报文标识、订购属性,发布属性、仿真控制交互标志、参数信息;
对于每个参数,包括参数名称、参数类型、参数数据长度、在原型报文中索引地址号、申明管理服务中参数名;交互类不用向原型系统转发时,其原型报文长度、原型报文标识和参数信息中的在原型报文中索引地址号为空,所述交互类为仿真控制交互时,其仿真控制交互标志为真;
对于不用转发的报文类,需输入报文类名称、字段个数、原型报文长度、原型报文标识、心跳状态报文标志、字段信息;对于每个字段,包括字段名称、字段属性、字段数据长度、在原型报文中索引地址号。
10、根据权利要求1所述一种原型系统与HLA仿真系统的接口设备,其特征在于:所述高层代码辅助生成模块,完成接口设备代码的自动生成;工程名称、仿真运行控制由HLA交互控制或者由用户界面控制这些用户选项设置输入用户设置处理单元,完成工程名称、仿真运行控制方式的处理工作,启动XML配置文件解析模块生成单元、HLA系统服务接入模块生成单元、原型系统服务接入模块生成单元、系统服务转接模块生成单元、仿真存储模块生成单元,分别生成XML配置文件解析模块、HLA系统服务接入模块、原型系统服务接入模块、系统服务转接模块、仿真存储模块,从而输出接口设备典型源代码框架。
所述高层代码辅助生成模块采取多线程技术,包括:用户界面主线程,HLA服务线程,UDP服务线程,任务线程,仿真存储线程,同时仿真存储线程中集成了数据库访问接口,把存储的本地仿真数据上传到数据库中;
用户界面主线程负责接口设备界面的显示处理,包括显示接口设备名称,原型设备监控状态区域,HLA系统消息动态更新区域,原型系统消息动态更新区域,系统消息提示区域,系统服务转接模块根据XML配置文件解析模块下发的接口设备名称和原型设备监控列表通知用户界面主线程进行相关信息的显示,同时系统转接服务模块接收到HLA服务接入模块和原型系统服务接入模块发送的系统服务转换模块通知消息后,进行消息转发处理,然后通知用户界面主线程进行HLA系统消息动态更新和原型系统消息动态更新,系统消息提示区域将显示接口设备开机信息、接口设备接收到HLA交互信息和接口设备仿真运行控制信息;
HLA服务线程完成HLA系统服务接入模块的功能,通过封装好的接口,实现HLA系统方面的消息收发,UDP服务线程完成原型系统服务接入模块的功能,通过封装好的接口,实现原型系统方面的消息收发,任务线程完成系统服务转接模块的功能,实现HLA系统和原型系统的消息转发和仿真运行控制,仿真存储线程完成仿真存储模块的功能,实现仿真数据的记录。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008102265694A CN101420437B (zh) | 2008-11-14 | 2008-11-14 | 一种原型系统与hla仿真系统的接口设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008102265694A CN101420437B (zh) | 2008-11-14 | 2008-11-14 | 一种原型系统与hla仿真系统的接口设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101420437A true CN101420437A (zh) | 2009-04-29 |
CN101420437B CN101420437B (zh) | 2011-08-17 |
Family
ID=40631041
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008102265694A Expired - Fee Related CN101420437B (zh) | 2008-11-14 | 2008-11-14 | 一种原型系统与hla仿真系统的接口设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101420437B (zh) |
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102055806A (zh) * | 2010-12-31 | 2011-05-11 | 重庆亚德科技股份有限公司 | 一种远程智能终端服务控制系统 |
CN102176719A (zh) * | 2010-12-31 | 2011-09-07 | 重庆亚德科技股份有限公司 | 一种远程智能终端服务控制器 |
CN102546442A (zh) * | 2012-03-09 | 2012-07-04 | 北京神州数码思特奇信息技术股份有限公司 | 通信协议转换技术 |
CN103455647A (zh) * | 2012-06-04 | 2013-12-18 | 黄晓冬 | 一种反射式面向对象仿真引擎 |
CN105022897A (zh) * | 2015-08-17 | 2015-11-04 | 武汉理工大学 | 支持异构模型集成与组件重用的海事仿真引擎 |
CN105242958A (zh) * | 2015-11-25 | 2016-01-13 | 哈尔滨工业大学 | 一种虚拟试验系统与hla仿真系统数据交换方法 |
CN105786923A (zh) * | 2014-12-25 | 2016-07-20 | 北京仿真中心 | 一种分布式仿真接口数据实时格式化存储方法及系统 |
CN105843991A (zh) * | 2016-03-16 | 2016-08-10 | 江汉大学 | 模型级hla仿真成员组合系统及方法 |
CN106027315A (zh) * | 2016-07-12 | 2016-10-12 | 中国银联股份有限公司 | 数据处理系统接入仿真方法 |
CN106250308A (zh) * | 2016-07-22 | 2016-12-21 | 北京赛博智通信息技术有限责任公司 | 一种基于仿真数据模型的模拟器系统及方法 |
CN106873949A (zh) * | 2015-12-11 | 2017-06-20 | 泰康保险集团股份有限公司 | 代码生成方法及其装置 |
CN107229656A (zh) * | 2016-03-25 | 2017-10-03 | 北京京东尚科信息技术有限公司 | 全量数据导出方法、装置及系统 |
CN108268293A (zh) * | 2016-12-29 | 2018-07-10 | 广东中科遥感技术有限公司 | 移动app快速原型演示的方法 |
CN109446648A (zh) * | 2018-10-29 | 2019-03-08 | 北京航空航天大学 | 仿真服务建立方法及装置 |
CN109617647A (zh) * | 2018-10-22 | 2019-04-12 | 中国平安财产保险股份有限公司 | 报文转换方法、装置、计算机设备及计算机可读存储介质 |
CN110727475A (zh) * | 2019-10-12 | 2020-01-24 | 四川新网银行股份有限公司 | 基于配置化智能服务调用方法 |
CN111507865A (zh) * | 2020-06-05 | 2020-08-07 | 长春工程学院 | 一种确定灌排泵站水泵机组安装高程的方法 |
CN114780369A (zh) * | 2022-05-09 | 2022-07-22 | 北京领为军融科技有限公司 | 基于内存映射的仿真模块数据实时监控方法 |
CN114884826A (zh) * | 2022-03-15 | 2022-08-09 | 中国人民解放军军事科学院战争研究院 | 跨层级异构互联方法和互联系统 |
CN115268295A (zh) * | 2022-06-22 | 2022-11-01 | 安胜(天津)飞行模拟系统有限公司 | eVTOL航空器的仿真系统的数据控制方法、装置及设备 |
CN116362060A (zh) * | 2023-05-31 | 2023-06-30 | 东方空间技术(山东)有限公司 | 一种系统仿真模型自动生成方法、装置及设备 |
CN116501744A (zh) * | 2023-06-30 | 2023-07-28 | 中国人民解放军国防科技大学 | 仿真数据的自动化建表与入库方法、装置和计算机设备 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1207866C (zh) * | 2001-09-28 | 2005-06-22 | 中国科学院研究生院 | 一种安全的数字签名系统与方法 |
CN100433024C (zh) * | 2006-08-17 | 2008-11-12 | 电子科技大学 | 软硬件协同仿真通信方法 |
-
2008
- 2008-11-14 CN CN2008102265694A patent/CN101420437B/zh not_active Expired - Fee Related
Cited By (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102176719A (zh) * | 2010-12-31 | 2011-09-07 | 重庆亚德科技股份有限公司 | 一种远程智能终端服务控制器 |
CN102176719B (zh) * | 2010-12-31 | 2013-05-01 | 重庆亚德科技股份有限公司 | 一种远程智能终端服务控制器 |
CN102055806A (zh) * | 2010-12-31 | 2011-05-11 | 重庆亚德科技股份有限公司 | 一种远程智能终端服务控制系统 |
CN102546442B (zh) * | 2012-03-09 | 2015-06-03 | 北京思特奇信息技术股份有限公司 | 通信协议转换技术 |
CN102546442A (zh) * | 2012-03-09 | 2012-07-04 | 北京神州数码思特奇信息技术股份有限公司 | 通信协议转换技术 |
CN103455647B (zh) * | 2012-06-04 | 2016-08-10 | 黄晓冬 | 一种反射式面向对象仿真引擎 |
CN103455647A (zh) * | 2012-06-04 | 2013-12-18 | 黄晓冬 | 一种反射式面向对象仿真引擎 |
CN105786923A (zh) * | 2014-12-25 | 2016-07-20 | 北京仿真中心 | 一种分布式仿真接口数据实时格式化存储方法及系统 |
CN105022897A (zh) * | 2015-08-17 | 2015-11-04 | 武汉理工大学 | 支持异构模型集成与组件重用的海事仿真引擎 |
CN105242958A (zh) * | 2015-11-25 | 2016-01-13 | 哈尔滨工业大学 | 一种虚拟试验系统与hla仿真系统数据交换方法 |
CN105242958B (zh) * | 2015-11-25 | 2018-12-07 | 哈尔滨工业大学 | 一种虚拟试验系统与hla仿真系统数据交换方法 |
CN106873949A (zh) * | 2015-12-11 | 2017-06-20 | 泰康保险集团股份有限公司 | 代码生成方法及其装置 |
CN105843991B (zh) * | 2016-03-16 | 2018-10-19 | 江汉大学 | 模型级hla仿真成员组合系统及方法 |
CN105843991A (zh) * | 2016-03-16 | 2016-08-10 | 江汉大学 | 模型级hla仿真成员组合系统及方法 |
CN107229656B (zh) * | 2016-03-25 | 2020-11-24 | 北京京东尚科信息技术有限公司 | 全量数据导出方法、装置及系统 |
CN107229656A (zh) * | 2016-03-25 | 2017-10-03 | 北京京东尚科信息技术有限公司 | 全量数据导出方法、装置及系统 |
CN106027315A (zh) * | 2016-07-12 | 2016-10-12 | 中国银联股份有限公司 | 数据处理系统接入仿真方法 |
CN106027315B (zh) * | 2016-07-12 | 2019-09-27 | 中国银联股份有限公司 | 数据处理系统接入仿真方法 |
CN106250308A (zh) * | 2016-07-22 | 2016-12-21 | 北京赛博智通信息技术有限责任公司 | 一种基于仿真数据模型的模拟器系统及方法 |
CN106250308B (zh) * | 2016-07-22 | 2019-06-04 | 北京赛博智通信息技术有限责任公司 | 一种基于仿真数据模型的模拟器系统及方法 |
CN108268293A (zh) * | 2016-12-29 | 2018-07-10 | 广东中科遥感技术有限公司 | 移动app快速原型演示的方法 |
CN108268293B (zh) * | 2016-12-29 | 2021-11-02 | 广东中科遥感技术有限公司 | 移动app快速原型演示的方法 |
CN109617647A (zh) * | 2018-10-22 | 2019-04-12 | 中国平安财产保险股份有限公司 | 报文转换方法、装置、计算机设备及计算机可读存储介质 |
CN109446648A (zh) * | 2018-10-29 | 2019-03-08 | 北京航空航天大学 | 仿真服务建立方法及装置 |
CN109446648B (zh) * | 2018-10-29 | 2020-12-01 | 北京航空航天大学 | 仿真服务建立方法及装置 |
CN110727475A (zh) * | 2019-10-12 | 2020-01-24 | 四川新网银行股份有限公司 | 基于配置化智能服务调用方法 |
CN110727475B (zh) * | 2019-10-12 | 2023-07-21 | 四川新网银行股份有限公司 | 基于配置化智能服务调用方法 |
CN111507865A (zh) * | 2020-06-05 | 2020-08-07 | 长春工程学院 | 一种确定灌排泵站水泵机组安装高程的方法 |
CN114884826A (zh) * | 2022-03-15 | 2022-08-09 | 中国人民解放军军事科学院战争研究院 | 跨层级异构互联方法和互联系统 |
CN114884826B (zh) * | 2022-03-15 | 2024-04-09 | 中国人民解放军军事科学院战争研究院 | 跨层级异构互联方法和互联系统 |
CN114780369A (zh) * | 2022-05-09 | 2022-07-22 | 北京领为军融科技有限公司 | 基于内存映射的仿真模块数据实时监控方法 |
CN115268295A (zh) * | 2022-06-22 | 2022-11-01 | 安胜(天津)飞行模拟系统有限公司 | eVTOL航空器的仿真系统的数据控制方法、装置及设备 |
CN116362060A (zh) * | 2023-05-31 | 2023-06-30 | 东方空间技术(山东)有限公司 | 一种系统仿真模型自动生成方法、装置及设备 |
CN116362060B (zh) * | 2023-05-31 | 2023-08-22 | 东方空间技术(山东)有限公司 | 一种系统仿真模型自动生成方法、装置及设备 |
CN116501744A (zh) * | 2023-06-30 | 2023-07-28 | 中国人民解放军国防科技大学 | 仿真数据的自动化建表与入库方法、装置和计算机设备 |
CN116501744B (zh) * | 2023-06-30 | 2023-09-19 | 中国人民解放军国防科技大学 | 仿真数据的自动化建表与入库方法、装置和计算机设备 |
Also Published As
Publication number | Publication date |
---|---|
CN101420437B (zh) | 2011-08-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101420437B (zh) | 一种原型系统与hla仿真系统的接口设备 | |
CN103336813B (zh) | 一种基于中间件架构的物联网数据集成管理方案 | |
CN102945165B (zh) | 虚拟试验支撑平台 | |
US6349333B1 (en) | Platform independent alarm service for manipulating managed objects in a distributed network management system | |
CN101901150B (zh) | 通用分布式机载设备健康管理仿真平台及其实现方法 | |
CN106022007B (zh) | 面向生物组学大数据计算的云平台系统及方法 | |
CN102227122B (zh) | 平台无关规约模块系统 | |
CN110198247A (zh) | 接口测试方法及系统 | |
CN106776313A (zh) | 一种模拟服务的方法、装置及集中管理平台 | |
CN107807878A (zh) | 基于关键字的自动化测试引擎 | |
CN109492040A (zh) | 一种适用于数据中心海量短报文数据处理的系统 | |
CN102902536A (zh) | 一种物联网计算机系统 | |
CN101834848A (zh) | 一种使用xml描述协议的方法及其建立的协议解析系统 | |
CN104778285B (zh) | 一种基于xml的web服务系统及其工作方法 | |
CN105871487A (zh) | 一种面向卫星移动通信的系统级仿真演示验证系统 | |
CN104967686A (zh) | 一种构建面型3s智慧服务商店系统及其设计方法 | |
CN110138876A (zh) | 任务部署方法、装置、设备及平台 | |
CN108347095A (zh) | 变电站后台监控系统仿真测试方法及系统 | |
CN102739788B (zh) | 一种基于eib协议的现场设备通信方法 | |
CN111736835A (zh) | 一种表单处理的方法、装置及存储介质 | |
CN107222575A (zh) | 实现工控设备间opc通信的方法 | |
CN103684904A (zh) | 基于ip三网融合网络监控系统 | |
CN102546300B (zh) | 测试系统及操作域设备 | |
CN1932760B (zh) | 用于运行应用程序的系统和方法 | |
CN116719876B (zh) | 一种基于规则引擎的时序数据处理方法及终端 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20110817 Termination date: 20111114 |