一种并行仿真方法及存储介质技术

技术编号:28622354 阅读:14 留言:0更新日期:2021-05-28 16:18
本发明专利技术公开了一种并行仿真方法及存储介质,属于并行仿真领域。一种并行仿真方法,包括以下步骤:定义支持并行plug‑in‑play仿真的仿真对象接口,封装于基类中;所述接口包括:描述所述基类的子类处理过程的描述接口与辅助所述子类进行仿真处理的辅助接口;仿真对象类分别实现所述仿真对象接口,编译形成动态链接库,供仿真引擎加载;通过上述仿真对象接口定义仿真对象的描述文件格式;将所述仿真对象集成为仿真应用,完成仿真对象名称、公布订购的匹配,形成仿真应用的描述文件;所述仿真引擎根据所述描述文件加载仿真对象库与实例化仿真对象,初始化参数,启动仿真运行。

【技术实现步骤摘要】
一种并行仿真方法及存储介质
本专利技术涉及并行仿真领域,具体涉及一种并行仿真方法及存储介质。
技术介绍
并行仿真一般需要由仿真引擎和仿真模型支撑运行,其中仿真引擎主要完成仿真中一些共性功能,如仿真对象管理、事件驱动、时间管理、线程管理、名字服务等,这些功能与计算机仿真、并行程序设计等专业密切相关,因此一般由计算机仿真领域人员设计和开发,形成一定的库;仿真模型主要关注物理世界中被研究对象的运行机理、变化规律等,一般由相关专业领域人员提供支持,并形成库文件。在实际开发中,两部分工作分开进行,最终由仿真开发人员编写主程序加载上述的库,编译形成可执行文件,在开始仿真运行上述模式仍然存在不足,例如。现有的并行仿真的运行模式中,对于每一个具体的仿真应用都需要进行主程序的开发,造成了大量的重复劳动。并且这种一事一办的仿真灵活性极差,单个仿真开发完成后,很难对其进行更改,维护和改造的难度和代价很高。因此,实际中急需支持plug-in-play的并行仿真方法,即并行仿真通过加载(plug-in)不同的模型库并进行一定的配置即可灵活组装仿真应用,此后仿真引擎加载模型库和读取配置即可开始仿真运行(play),同时上述过程无需对模型库和仿真引擎作任何更改和二次编译。
技术实现思路
针对现有技术的不足,本专利技术提出了一种并行仿真方法及存储介质。本专利技术的目的可以通过以下技术方案实现:一种并行仿真方法,包括以下步骤:定义支持并行仿真的plug-in-play仿真对象接口,封装于基类中;所述接口包括:描述所述基类的子类处理过程的描述接口与辅助所述子类进行仿真处理的辅助接口;仿真对象类分别实现所述仿真对象接口,编译形成动态链接库,供仿真引擎加载;通过上述仿真对象接口定义仿真对象的描述文件格式;将所述仿真对象集成为仿真应用,完成仿真对象名称、公布订购的匹配,形成仿真应用的描述文件;所述仿真引擎根据所述描述文件加载仿真对象库与实例化仿真对象,初始化参数,启动仿真运行。可选地,所述描述接口为:初始化模型接口、事件处理接口、处理订购接口、兴趣表达接口、退出仿真接口、保存或恢复逻辑进程状态的接口、反计算接口中的一种或多种。可选地,所述辅助接口为获取全局或类内编号的接口、获取局部虚拟时间的接口、调度事件接口、发布订购接口、日志接口中的一种或多种。可选地,所述事件处理接口用于向仿真对象发出完成动作的指令,使所述仿真对象表达其可响应的事件。可选地,所述处理订购接口用于驱使所述仿真对象通过所述仿真引擎转发数据至另一个或多个仿真对象。可选地,所述兴趣表达接口用于表达所述仿真对象是否需要接收所述数据。可选地,用于所述仿真对象对已处理的所述事件进行更改以完成逆运算,从而撤销对所述事件的更改。可选地,所述初始化参数包括以下步骤:采用中间配置文件,根据参数的属性依次读取文件、数值转化与变量赋值,完成所述仿真对象的初始化。可选地,所述的集成仿真应用包括以下步骤:仿真引擎加载仿真应用描述文件,读取仿真控制参数;依次加载动态链接库,生成仿真对象实例;调度初始化模型的事件至仿真对象,仿真对象处理对应事件,产生的新事件,直至仿真结束。一种计算机可读的存储介质,存储有指令,所述计算机执行所述指令时,实现上述的并行仿真方法。附图说明下面结合附图对本专利技术作进一步的说明。图1为本专利技术的一个示例中的飞机与雷达的仿真模型示意图;图2为本专利技术的一个示例中的并行仿真方法的步骤示意图;图3为本专利技术的一个示例中的运行仿真的步骤示意图;图4为本专利技术的一个示例中的飞机处理事件的过程示意图;具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本专利技术保护的范围。如图2所示,本专利技术的一个示例中,公开了一种并行仿真方法,可以包括以下步骤:定义支持并行仿真的plug-in-play仿真对象接口,封装于基类中。所述接口包括:描述所述基类的子类处理过程的描述接口与辅助所述子类进行描述仿真的辅助接口;通过上述仿真对象接口定义仿真对象的描述文件格式。本专利技术中的描述文件可以是计算机可读的,且具体的描述文件例如为.xml格式;仿真对象类分别实现所述仿真对象接口,编译形成动态链接库,供仿真引擎加载;将所述仿真对象集成为仿真应用,完成仿真对象名称、公布订购的匹配,形成仿真应用的描述文件;所述仿真引擎根据所述描述文件加载仿真对象库与实例化仿真对象,初始化参数,启动仿真运行。可选地,所述描述接口为:初始化模型接口、事件处理接口、处理订购接口、兴趣表达接口、退出仿真接口、保存或恢复逻辑进程状态的接口、反计算接口中的一种或多种。可选地,所述辅助接口为获取全局或类内编号的接口、获取局部虚拟时间的接口、调度事件接口、发布订购接口、日志接口中的一种或多种。其中,所述事件处理接口用于向仿真对象发出完成动作的指令,使所述仿真对象表达其可相应的事件。所述处理订购接口用于驱使所述仿真对象通过所述仿真引擎转发数据至另一个或多个仿真对象。所述兴趣表达接口用于表达所述仿真对象是否接收所述数据。反计算接口可以用于所述仿真对象对已处理的所述事件进行更改以完成逆运算,从而撤销对所述事件的更改。更具体地说,所述初始化参数包括以下步骤:采用中间配置文件,根据参数的属性依次读取文件、数值转化与变量赋值,完成所述仿真对象的初始化。所述的集成仿真应用包括以下步骤:仿真引擎加载仿真应用描述文件,读取仿真控制参数;依次加载动态链接库,生成仿真对象实例;调度初始化模型的事件至仿真对象,仿真对象处理对应事件,应对可能产生的新事件,直至仿真结束。针对上述示例中的并行仿真方法,提供一个具体仿真模型构建的实施例。该实施例涉及飞机雷达的仿真模拟,如图1所示,在1000×1000单位面积的平面区域内部署两个搜索半径分别为R1和R2雷达,两架飞机A1和A2从初始时刻分别以v1和v2的速度沿对角线飞行并将位置报告给雷达,雷达根据搜索半径判断是否在自身侦察范围内。下面具体阐述针对于该模型的开发、集成和运行三个阶段的过程和工作。在仿真模型的开发阶段,按照所述规范实现接口来定义雷达、飞机模型的处理逻辑。本例包含两类仿真对象,飞机和雷达。在本示例中,如图4所示,飞机模型通过调度事件接口,周期性地给自己调度一个计算位置的事件。在完成事件调度接口的任务同时,还可以通过发布订购的接口,更新其位置并公布自身位置。雷达通过调度事件接口,周期性给自己调度扫描事件,在处理该事件时处理本周期内收到的目标信息。更具体地说,还可以在执行之前定义具体的存储目标信息的位置以及雷达扫描的周期。本文档来自技高网...

【技术保护点】
1.一种并行仿真方法,其特征在于,包括以下步骤:/n定义支持并行仿真的plug-in-play仿真对象接口,封装于基类中;所述接口包括:描述所述基类的子类处理过程的描述接口与辅助所述子类进行仿真处理的辅助接口;仿真对象类分别实现所述仿真对象接口,编译形成动态链接库,供仿真引擎加载;/n通过上述仿真对象接口定义仿真对象的描述文件格式;/n将所述仿真对象集成为仿真应用,完成仿真对象名称、公布订购的匹配,形成仿真应用的描述文件;/n所述仿真引擎根据所述描述文件加载仿真对象库与实例化仿真对象,初始化参数,启动仿真运行。/n

【技术特征摘要】
1.一种并行仿真方法,其特征在于,包括以下步骤:
定义支持并行仿真的plug-in-play仿真对象接口,封装于基类中;所述接口包括:描述所述基类的子类处理过程的描述接口与辅助所述子类进行仿真处理的辅助接口;仿真对象类分别实现所述仿真对象接口,编译形成动态链接库,供仿真引擎加载;
通过上述仿真对象接口定义仿真对象的描述文件格式;
将所述仿真对象集成为仿真应用,完成仿真对象名称、公布订购的匹配,形成仿真应用的描述文件;
所述仿真引擎根据所述描述文件加载仿真对象库与实例化仿真对象,初始化参数,启动仿真运行。


2.根据权利要求1所述的并行仿真方法,其特征在于,所述描述接口为:初始化模型接口、事件处理接口、处理订购接口、兴趣表达接口、退出仿真接口、保存或恢复逻辑进程状态的接口、反计算接口中的一种或多种。


3.根据权利要求1所述的并行仿真方法,其特征在于,所述辅助接口为获取全局或类内编号的接口、获取局部虚拟时间的接口、调度事件接口、发布订购接口、日志接口中的一种或多种。


4.根据权利要求2所述的并行仿真方法,其特征在于,所述事件处理接口用于向仿真对象发出完成动作的指令,使所述仿真对象表...

【专利技术属性】
技术研发人员:林忠伟李修和沈阳王成孙国庆戴少奇石倩倩
申请(专利权)人:中国人民解放军国防科技大学
类型:发明
国别省市:安徽;34

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

1