一种通用仿真组件的执行方法
【专利摘要】本发明是一种通用仿真组件的执行方法,应用于系统仿真领域。仿真应用构建者能够利用这种执行方法,执行已经开发和积累的可重用的仿真组件。这种通用仿真组件的执行方法能使可重用的仿真组件运行在同仿真组件运行引擎上,对仿真组件的加载、仿真组件之间的数据交互、运行调度进行统一管理。用户根据不同的应用需求在不编写代码的情况下组装这些仿真组件,使用此种执行方法对组件进行执行,能够快速搭建满足需求的仿真应用系统。因为使用统一的数据与调度方式,仿真应用系统开发者不必关心不同类型底层技术,仅把精力放在开发可重用的组件上。
【专利说明】一种通用仿真组件的执行方法
[0001]术语:
[0002]仿真组件:建立仿真系统的基本单元。
[0003]原子组件:需要编码实现的带有可执行库的仿真组件。
[0004]复合组件:有其他组件复合而成的组件,不需要编码实现,本身没有可执行库。
[0005]仿真实体:仿真中作为一个单独的仿真单元,参与仿真环境中的交互,并被仿真环境感知。组件运行引擎:管理并运行仿真组件的程序
1.【技术领域】
[0006]应用于系统仿真领域的通用组件执行方法。
2.【背景技术】
[0007]现阶段使用广泛的仿真系统应用执行方式是直接使用基于特定协议的应用程序,程序无法一旦绑定了某种协议执行,就无法方便的切换到另一种协议,即仿真应用无法重用或重用程度很低。
[0008]使用本技术方案介绍的仿真组件执行方法开发的组件运行引擎,能够加载并运行与通信协议无关的仿真组件,组件运行引擎负责管理运行时仿真组件之间的数据通信、仿真成员间的特定协议的数据交互和仿真时间推进。这样,就将仿真应用组件与协议分离,最终达到组件可重用的目标。
3.
【发明内容】
[0009]3.1总体方案
[0010]本发明技术方案使用的仿真组件执行方法能够使仿真成员驱动各组件化的仿真应用,根据组件之间数据关系的描述,组织各仿真组件的运行与数据交互,各并根据用户指定的仿真协议分布式执行,各仿真成员间依照用户定义的仿真成员间数据交换协议进行数据交互。
[0011]仿真运行引擎负责加载和执行仿真组件,并传递仿真组件间的数据,通过使用不同的底层插件,是组件能够在不同通信协议的平台上运行。仿真组件以及仿真组件运行引擎的架构图见附图-1仿真组件运行引擎层次框架图
[0012]3.2仿真组件的执行方法
[0013]仿真组件的执行有三个功能点:仿真组件在初始化时的加载、仿真组件在运行过程中的数据交互和仿真组件运行的仿真时间推进方式。
[0014]下面对每个功能点的原理做详细描述:
[0015]仿真组件的加载
[0016]组件运行引擎在初始化时首先读取仿真组件包中的仿真组件描述文件,将仿真组件动态链接库动态加载,并调用组件库中的组件实例化接口将组件实例化为组件对象。对于复合组件,同级组件之间、父子组件之间都存在数据交互,组件运行引擎解析仿真组件描述文件中的组件数据交互关系,将数据交互关系作为数据连线对象存储在对应的数据结构中。
[0017]仿真组件间的数据交互
[0018]在仿真运行时,仿真组件每个仿真周期运行一次,组件接口的调用顺序依次为:执行、发送事件、输出接口。执行一个仿真周期的逻辑是这样的,由组件运行引擎调用仿真组件执行函数,完成一个周期内部的仿真逻辑解算,仿真组件将运行过程中产生的事件和数据存入内部的变量中,通过组件发送事件和输出接口的返回参数将发送的事件和数据交给组件运行引擎。组件运行引擎通过调用组件的发送事件和输出接口取得组件向外发送的事件和数据,通过事先保存的数据连线关系,找到对应的组件,将发送方的事件和数据打包传递给接收组件,然后运行下一个组件。
[0019]仿真组件之间的数据交互流程见附图2-仿真组件加载流程图。
[0020]仿真组件的时间推进
[0021]组件运行引擎的仿真运行步长是根据仿真实体运行时设置的仿真步长自动计算的。组件运行引擎在初始化时根据取得加载所有仿真实体的步长值,并计算这些步长值的最大公约数,组件运行引擎以此作为仿真运行步长对仿真组件进时间推进,组件运行引擎在推进过程中遍历并判断仿真实体是否应该到运行时间,如果已经到运行时间,则将该仿真实体下的所有组件运行一遍。
[0022]仿真组件的时间推进流程见图1-仿真时间推进流程图
4.【专利附图】
【附图说明】
[0023]图1-仿真组件运行引擎层次框架图
[0024]图2-仿真组件加载流程图
[0025]图3-仿真组件数据交互流程图
[0026]图4-仿真时间推进流程图
5.【具体实施方式】
[0027]本发明技术方案使用动态加载组件技术,面向对象工厂的模式创建并管理组件实例;使用读取组件描述文件,实例化组件之间的数据关系,在运行时根据这些数据关系组织组件间数据交互;使用所有仿真实体步长最大公约数推进仿真时间,组件运行引擎对不到仿真运行时间的仿真组件不进行运行调用。
[0028]本发明技术方案介绍的通用仿真组件执行方法使仿真应用构建者能够利用它执行可重用的仿真组件,从而快速搭建满足需求的仿真应用系统。
【权利要求】
1.一种通用仿真组件的执行方法,其特征在于: 具有:用于加载并执行通用仿真组件的执行引擎,能够读取通用组件的描述信息,将组件按照描述信息中配置的结构和组件交互方式,将组件实例化为内存中的组件运行实例、信息交互关系实例、仿真实体实例。仿真组件运行引擎加载完毕组件后,能够根据用户对仿真实体设定的仿真步长对所有仿真组件进行仿真推进。在仿真推进过程中,仿真组件运行引擎对各个仿真组件按照运行、取得输出数据和发送事件、根据数据交互关系直接推送数据和事件到指定组件的过程进行执行。
【文档编号】G06F9/445GK103455339SQ201210169670
【公开日】2013年12月18日 申请日期:2012年5月29日 优先权日:2012年5月29日
【发明者】耿新阶, 张海兵, 陈洪博, 刘思伟 申请人:北京神州普惠科技股份有限公司