CN101504688A - 一种基于hla的仿真软件交互方法 - Google Patents
一种基于hla的仿真软件交互方法 Download PDFInfo
- Publication number
- CN101504688A CN101504688A CNA2009100808582A CN200910080858A CN101504688A CN 101504688 A CN101504688 A CN 101504688A CN A2009100808582 A CNA2009100808582 A CN A2009100808582A CN 200910080858 A CN200910080858 A CN 200910080858A CN 101504688 A CN101504688 A CN 101504688A
- Authority
- CN
- China
- Prior art keywords
- simulation
- alliance
- software
- emulation
- mutual
- 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的仿真软件交互方法,为解决现有的仿真软件通用性差、不能灵活应用的问题。属于计算机仿真及软件工程技术领域。本方案建立了通用的一体化仿真模块,将具有不同仿真功能的专业仿真软件进行整合配置;通过对专业仿真软件输入输出接口的分析和调用,实现了各专业仿真软件擅长仿真功能,并根据仿真软件的交互要求,进行了仿真流程的设计与实现,最终建立一个具有一体化优势的可供二次开发的仿真平台。本方法能够满足仿真应用的专业化要求,最终实现通用化、模块化的总体目标,在计算机仿真及软件工程领域,该方法能发挥很大的作用,并能获得很好的经济效益。
Description
技术领域
本发明涉及一种仿真软件交互方法,属于计算机仿真及软件工程技术领域。
技术背景
建模与仿真作为一种新的试验手段,其本质上是在计算机环境下,利用数值模拟手段来完成以前只有通过真实试验才能完成的工作。计算机仿真技术作为缩短研发和训练周期、提高研发和训练质量、节省研发和训练经费的有效手段,在国民经济和国防建设等领域有着十分广泛的应用。
80年代初期,在军事应用与Intemet技术发展的推动下,出现了分布仿真系统,它受当时网络技术的限制,在可扩展性、性能及其应用方面存在着许多局限性。为了满足对逼真度更高的分布仿真的迫切需求,80年代中期,美国国防部提出了先进分布仿真(ADS)技术的概念,其国防高级研究计划局(DARPA)和陆军率先共同制定了SIMNET计划。自此,开辟了ADS技术发展的新纪元,并经历了DIS、ALSP和HLA等几个典型发展阶段。目前,高层体系结构(HLA)已经成为分布仿真的主要平台。
高层体系结构(HLA)是一个使得仿真再用和相互交互更为容易的通用目的结构体系。他使得不同开发者,也许是运行在不同操作系统下的仿真可以通过网络交互,其中个别仿真的能力和对象可以通过参与者创建的特殊HLA文件通知其他参与者,并向网络发布。通过HLA函数库,可以实现特殊仿真与其他仿真的运行时交互控制。
随着计算机软件技术日益成熟,商业仿真软件向着越来越专业的方向发展,提供的计算服务功能越来越丰富。然而,从应用的角度来看,随着应用需求的不断增加,目前很难找到合适的仿真软件能够满足应用的全部需求,绝大多数仿真软件都只是针对某一个专业领域设计开发。因此,如何将现有的仿真软件进行整合配置,使它们各自提供的仿真服务能够进行综合利用,并满足仿真应用的专业化要求,最终实现通用化、模块化的总体目标,是目前在仿真软件设计开发中亟需解决的问题。
发明内容
本发明的目的是为了解决现有的仿真软件通用性差、不能灵活应用的问题,为实现系统级的仿真,提出一种基于HLA的仿真软件交互方法。
本发明通过将具有不同仿真功能的专业仿真软件进行整合配置,对各个专业软件输入输出接口进行分析和调用,并对仿真流程进行设计与控制,最终实现一个具有一体化仿真功能的、可供二次开发的仿真系统。
本发明的目的是通过下述技术方案实现的。
本发明提出的一种基于HLA的仿真软件交互方法,具体内容包括:
(1)专业仿真通用模块的标准化设计:首先设计一个具有通用性的HLA仿真模块,提供具有可变参数的仿真程序和参数的设置,由此实现对不同类别仿真软件的调用。
(2)仿真交互设计:通过定义统一的交互数据结构,包括发送盟员、接收盟员、以及可变的参数数量等信息,实现不同数据信息间的交互。
(3)仿真流程的设计:通过在专业仿真通用模块中对仿真流程进行设计,实现如基本的循环、条件分支、同步等基本仿真控制,从而达到按照设计要求来实现交互仿真的目的。
本发明的核心在于专业仿真通用模块的标准化设计,以及解决仿真流程的控制问题上。由此能够实现基于通用模块的,实现多专业仿真软件交互仿真的二次开发,即,在不改变程序框架的条件下,实现对包括不同仿真模块,具有不同仿真流程的交互式仿真。具体实现方法如下:
步骤一、进行专业仿真通用模块的标准化设计
基于HLA分布式仿真,是通过多个盟员节点进行交互实现的。其中,每一个盟员节点作为仿真的一部分,执行特定的功能。提供专业仿真计算的各节点的基本功能是相同的,即,通过HLA接收仿真输入参数,待计算完成后,将输出的参数发送到HLA平台上。
各节点的区别之处在于:仿真软件的类型不同,其调用方法也不同。目前,大部分专业仿真软件均提供基于MATLAB或C语言的调用接口,因此采用提取其共性的调用方法:首先将专业软件按照接口形式分成不同的类型,如MATLAB接口或C语言接口,再根据这些类型要求,设计出统一的调用命令。从而实现标准模块的设计。
专业仿真通用模块及其组成的HLA平台结构如图1所示,专业仿真通用模块是这样的一种盟员框架,它将各种不同类型的仿真软件封装为联盟中的一个盟员,并为该仿真软件运行于RTI上提供支持。
步骤二、进行仿真交互设计
各种仿真软件作为盟员运行在RTI上,在交互仿真时的数据通信依靠联盟的交互功能实现。与专业仿真通用模块的设计相对应,交互的设计也要具有通用性,由此来适应不同仿真软件的要求。
以FED文件的形式,定义用于通用交互的参数数据结构。在这样一个通用交互的结构中,除了用于传递给其他盟员的有效参数以外,有一部分参数被赋予特殊定义,这部分参数用于记录该交互本身的属性信息。这些被特殊定义的参数,包括该交互所携带有效参数的个数、交互发送方的盟员编号、交互接收方的编号以及所传递参数的维度信息等。
步骤三、当步骤一和步骤二完成之后,进行仿真流程设计。
各盟员之间依靠上述通用交互,理论上可以实现联盟中任意两个仿真软件之间的通信。但在具体仿真过程中,并非所有的盟员在任何时刻都接收所有的交互信息,各盟员产生的交互发送目标会随着仿真所处阶段的不同而不同。这就导致仿真交互的流程非常复杂,需要对每一个盟员接收和应答进行设置。
为了控制仿真流程,使整个仿真过程按照用户事先设定的仿真要求顺利完成,首先,根据实际可能出现的信息流程进行分类,包括:顺序,循环,分支常用节点。然后,在仿真开始前,对仿真中各盟员进行合理配置。这些配置信息包括信息来源以及接收所有通用交互,根据交互中携带的数据来源盟员编号,选择相应的处理方式,或者直接放弃。各盟员配置完成后,每一个盟员按照设定参数封装一种仿真软件,在接到需要的交互后,实现本地的单步或规定时间的仿真,然后将仿真结果按照规定的格式,生成交互信息发送给HLA平台。
有益效果
本发明方法,通过将具有不同仿真功能的专业仿真软件结合在一起,对各个专业软件输入输出接口进行分析和调用,并对仿真流程进行设计与控制,最终实现一个具有一体化仿真功能的、可供二次开发的仿真系统。本方法能够满足仿真应用的专业化要求,最终实现通用化、模块化的总体目标,在计算机仿真及软件工程领域,该方法能发挥很大的作用,并获得很好的经济效益。
附图说明:
图1为平台结构图;
图2为仿真流程图;
图3为仿真模块和运行流程设定界面示意图;
图4为GT与Matlab交互仿真试验结果示意图;
图5为统一交互数据格式示意图;
图6为交互数据样例。
具体实施方式:
下面结合附图及实施例对本发明方法作进一步详细说明。
(1)专业仿真通用模块设计
基于HLA分布式仿真,是通过多个盟员节点进行交互现的,其中,每一个盟员节点作为仿真的一部分,执行特定的功能。提供专业仿真计算的各节点其基本功能是相同的,即,通过HLA接收仿真输入参数,待计算完成后,将输出的参数发送到HLA平台上。各节点的区别之处在于:仿真软件的类型不同,其调用方法也不同。目前,大部分专业仿真软件均提供基于MATLAB或C语言的调用接口,因此采用提取其共性的调用方法,首先将专业软件分成不同的类型,再根据这些类型要求,设计出统一的调用命令。
现以GT仿真软件包为例进行分析。实现仿真模块基于MATLAB接口的调用由两部分组成:
一部分是GT到MATLAB的接口。GT-SUITE是一个集成化的CAE软件包,提供一个在MATALB的simulink仿真环境下的模块。为了实现GT软件仿真的调用,首先建立Simulink模型,然后将GT仿真模块加入到仿真模型中,即可实现GT和Matlab的协同仿真。
另一部分是MATLAB与HLA的接口实现。MATLAB提供多种交互方式,与其它方式相比,MATLAB计算引擎所提供的MATLAB功能支持是最全面的,因此采用MATLAB计算引擎实现MATLAB与VC++的交互。MATLAB提供了一套API接口,用以控制MATLAB引擎的运行。
一次简单的对MATLAB引擎的调用过程如下伪代码所示:
IF engOpen启动引擎成功THEN
BEGIN
数据初始化;
engPutArray将HLA平台数据放入MATLAB工作空间(workspace);
engEvalString调用仿真模型(M函数);
engGetArray获取仿真结果,转换到HLA平台;
engClose关闭引擎;
END
(2)通用交互设计
与专业仿真通用模块的设计相对应,交互的设计也应当具有通用性,来适应不同仿真软件的要求。仿真回放系统利用HLA/RTI提供的交互机制来收集和发送各种与仿真有关的数据。为实现最大限度的通用性,针对在各个盟员之间传递的交互制定了统一的数据格式,如图5所示,其中P0至P9共十个参数作为交互内部保留参数,用于描述交互本身的属性。P-VAR为一组长度不固定的可变参数,其内容为交互实际携带的有效参数,具体定义如下:
P0表示可变参数P-VAR部分的长度;
P1表示发送此交互的盟员编号;
P2表示接受此交互的盟员编号;
P3-P7为描述P-VAR部分属性的参数;
P8-P9为描述P-VAR结构的参数。
例如,联盟中的1号盟员向2号盟员发送一个交互,向其更新自己两组三维坐标,则在仿真系统内传递的交互如图6所示。
如图3所示,仿真1和仿真2之间存在数据循环,相互之间经过若干次数据通信,共同完成一个仿真任务后,将结果数据发送到仿真3,再由仿真3和仿真4类似去完成下一个阶段的仿真任务,最后将结果数据发送到仿真5。
(3)仿真流程设计
在一次仿真开始前,各盟员都需要对本地盟员进行配置。这些配置信息包含声明本地仿真软件的仿真功能,以及对可能的交互做出应答的仿真流程控制。根据实际可能出现的信息流程进行分类,包括:顺序,循环,分支等常用节点。
其配置界面如图3所示,过程如下:
选择交互的来源:分别对顺序、循环、分支这三种交互信息进行处理,在每一个处理过程中,通过调用本盟员封装的仿真软件进行仿真。
设定仿真条件:该模块通过时间对仿真过程进行控制。在指定的仿真时间内,仿真结果将被以交互的形式发送给N值所代表的盟员;超过了指定的仿真时间,则认为仿真循环结束,仿真结果被送往编号为Y的盟员,从而实现仿真的分支及循环结构。如果时间值为零则表示仿真为顺序结构,直接执行。
设定交互目的:根据仿真条件判断仿真是否结束,仿真未结束N处应设置循环仿真相关的盟员编号,以实现内部循环;仿真循环结束Y处应设置循环仿真结果处理的盟员。
当各盟员完成了本地盟员的配置以为仿真软件的初始化之后,整个仿真系统就可以开始一次仿真。图4描述了一次仿真以及仿真数据在盟员1和盟员2之间完成一次循环的过程:
首先,由盟员1完成本地程序的初始化,并开始专业软件1的仿真过程。当仿真结束,盟员1的通用模块负责将结果数据收集起来,经过数据格式的转化以及对各参数位的赋值,将所有信息封装为一个交互,发送到RTI。当盟员2收到这个交互的时,它的通用模块负责对该交互进行处理,提取出内部的信息,将仿真数据还原,传递给仿真软件2,由此开始盟员2的本地仿真过程。盟员2的仿真过程结束之后,如果盟员2是一个循环分支节点,那么就需要做一个条件判断,然后依照判断结果将仿真结果封装为交互发出。本图中假定盟员2的仿真结果是发送回盟员1。
这样就完成了一次仿真交互的循环过程,由这样的过程经过组合形成如图2一般的指定仿真流程。
Claims (1)
1、一种基于HLA的仿真软件交互方法,其特征在于包括以下步骤:
步骤一、进行专业仿真通用模块的标准化设计
首先将专业软件按照接口形式分成不同的类型,再根据这些类型要求,设计出统一的调用命令,实现标准模块的设计;
步骤二、进行仿真交互设计
以FED文件的形式,定义用于通用交互的参数数据结构;在这样一个通用交互的结构中,除了用于传递给其他盟员的有效参数以外,有一部分参数被赋予特殊定义,这部分参数用于记录该交互本身的属性信息;这些被特殊定义的参数,包括该交互所携带有效参数的个数、交互发送方的盟员编号、交互接收方的编号以及所传递参数的维度信息;
步骤三、当步骤一和步骤二完成之后,进行仿真流程设计
首先,根据实际可能出现的信息流程进行分类,包括:顺序,循环,分支常用节点;然后,在仿真开始前,对仿真中各盟员进行合理配置,这些配置信息包括信息来源以及接收所有通用交互,根据交互中携带的数据来源盟员编号,选择相应的处理方式,或者直接放弃;各盟员配置完成后,每一个盟员按照设定参数封装一种仿真软件,在接到需要的交互后,实现本地的单步或规定时间的仿真,然后将仿真结果按照规定的格式,生成交互信息发送给HLA平台。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009100808582A CN101504688B (zh) | 2009-03-24 | 2009-03-24 | 一种基于hla的仿真软件交互方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009100808582A CN101504688B (zh) | 2009-03-24 | 2009-03-24 | 一种基于hla的仿真软件交互方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101504688A true CN101504688A (zh) | 2009-08-12 |
CN101504688B CN101504688B (zh) | 2010-09-22 |
Family
ID=40976933
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009100808582A Expired - Fee Related CN101504688B (zh) | 2009-03-24 | 2009-03-24 | 一种基于hla的仿真软件交互方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101504688B (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102682214A (zh) * | 2012-05-14 | 2012-09-19 | 于永利 | 基于保守机制的小步长时间推进算法 |
CN102750183A (zh) * | 2012-07-03 | 2012-10-24 | 山东大学 | 电力系统数值仿真开放式应用程序接口 |
CN103399731A (zh) * | 2013-05-07 | 2013-11-20 | 中国兵器科学研究院 | 基于hla分布式交互系统的fed文件的应用方法 |
CN103617310A (zh) * | 2013-11-05 | 2014-03-05 | 南阳理工学院 | 一种并行交换系统仿真平台 |
CN103699737A (zh) * | 2013-12-20 | 2014-04-02 | 北京瑞风协同科技股份有限公司 | 一种多专业仿真软件数据交换方法 |
CN104698861A (zh) * | 2015-02-10 | 2015-06-10 | 上海创景计算机系统有限公司 | 仿真软件交互控制系统 |
CN104915242A (zh) * | 2015-06-11 | 2015-09-16 | 北京航天发射技术研究所 | 多学科协同仿真架构方法 |
CN108549760A (zh) * | 2018-03-30 | 2018-09-18 | 佛山市诺威科技有限公司 | 一种定制化多学科集成仿真系统及方法 |
CN109379233A (zh) * | 2018-11-30 | 2019-02-22 | 北京仿真中心 | 一种云仿真平台模型安全保障系统、方法、服务器及终端 |
WO2022261927A1 (zh) * | 2021-06-18 | 2022-12-22 | 华为技术有限公司 | 协同仿真的方法及装置 |
-
2009
- 2009-03-24 CN CN2009100808582A patent/CN101504688B/zh not_active Expired - Fee Related
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102682214B (zh) * | 2012-05-14 | 2015-01-21 | 于永利 | 基于保守机制的小步长时间推进方法 |
CN102682214A (zh) * | 2012-05-14 | 2012-09-19 | 于永利 | 基于保守机制的小步长时间推进算法 |
CN102750183A (zh) * | 2012-07-03 | 2012-10-24 | 山东大学 | 电力系统数值仿真开放式应用程序接口 |
CN102750183B (zh) * | 2012-07-03 | 2015-02-25 | 山东大学 | 电力系统数值仿真开放式应用程序接口 |
CN103399731B (zh) * | 2013-05-07 | 2016-08-31 | 中国兵器科学研究院 | 基于hla分布式交互系统的fed文件的应用方法 |
CN103399731A (zh) * | 2013-05-07 | 2013-11-20 | 中国兵器科学研究院 | 基于hla分布式交互系统的fed文件的应用方法 |
CN103617310A (zh) * | 2013-11-05 | 2014-03-05 | 南阳理工学院 | 一种并行交换系统仿真平台 |
CN103699737A (zh) * | 2013-12-20 | 2014-04-02 | 北京瑞风协同科技股份有限公司 | 一种多专业仿真软件数据交换方法 |
CN104698861A (zh) * | 2015-02-10 | 2015-06-10 | 上海创景计算机系统有限公司 | 仿真软件交互控制系统 |
CN104698861B (zh) * | 2015-02-10 | 2017-10-24 | 上海创景计算机系统有限公司 | 仿真软件交互控制系统 |
CN104915242A (zh) * | 2015-06-11 | 2015-09-16 | 北京航天发射技术研究所 | 多学科协同仿真架构方法 |
CN104915242B (zh) * | 2015-06-11 | 2018-07-24 | 北京航天发射技术研究所 | 多学科协同仿真架构方法 |
CN108549760A (zh) * | 2018-03-30 | 2018-09-18 | 佛山市诺威科技有限公司 | 一种定制化多学科集成仿真系统及方法 |
CN109379233A (zh) * | 2018-11-30 | 2019-02-22 | 北京仿真中心 | 一种云仿真平台模型安全保障系统、方法、服务器及终端 |
WO2022261927A1 (zh) * | 2021-06-18 | 2022-12-22 | 华为技术有限公司 | 协同仿真的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN101504688B (zh) | 2010-09-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101504688B (zh) | 一种基于hla的仿真软件交互方法 | |
CN110278249B (zh) | 一种分布式群体智能系统 | |
CN110266771B (zh) | 分布式智能节点及分布式群体智能统部署方法 | |
CN103440376B (zh) | 基于组件的分布集中一体化仿真系统运行支撑平台 | |
CN102880517B (zh) | 一种基于超级计算机的hla仿真程序的对象调度方法 | |
CN102622262B (zh) | 基于modelica建模语言的分布式实时交互仿真系统 | |
CN111507020A (zh) | 面向多电飞机机电系统分布式仿真结果的图形化显示方法 | |
Neema et al. | Simulation integration platforms for cyber-physical systems | |
CN108932588A (zh) | 一种前后端分离的水电站群优化调度系统及方法 | |
CN106648658A (zh) | 面向实况/虚拟/构造混合系统的仿真方法 | |
CN105608247A (zh) | 面向ima资源安全性分析的aadl到ecpn模型转换方法 | |
Fard et al. | Coupling weap and leap models using interaction modeling | |
CN105843991A (zh) | 模型级hla仿真成员组合系统及方法 | |
CN113609633A (zh) | 一种基于模型的复杂体系协同仿真与验证评估系统和方法 | |
CN104615815B (zh) | 一种并行模型的消息传输方法及系统 | |
CN105093964B (zh) | 工业电子嵌入式系统仿真用设备模型的构建方法 | |
CN102110151A (zh) | 出帐系统的Petri网模型的分析方法 | |
Perry et al. | An extensible code generation framework for heterogeneous architectures based on IP-XACT | |
CN102479268B (zh) | Fortran的飞行器联邦成员异构协同互操作方法 | |
Kostin et al. | Winsim: a tool for performance evaluation of parallel and distributed systems | |
CN105893111A (zh) | 一种多Agent作战仿真通用控制框架分析设计方法 | |
KR101358075B1 (ko) | 모바일 기기를 위한 분산 이산사건시스템 명세 시뮬레이션 아키텍처 | |
Hao et al. | Research on Simulation Model System Integration and Interconnection Methods | |
Sanders | A Call for a New Army Modeling Framework | |
Kobayashi | Computer, communications and man: the integration of computer and communications with man as an axis |
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: 20100922 Termination date: 20110324 |