一种基于框架及插件的机载仿真运行方法与流程

文档序号:25355129发布日期:2021-06-08 14:34阅读:112来源:国知局
一种基于框架及插件的机载仿真运行方法与流程

1.本申请属于仿真模型设计技术领域,特别涉及一种基于框架及插件的机载仿真运行方法。


背景技术:

2.随着空战仿真技术的作用越发重要,作为空战对抗实验的仿真运行框架平台,需要针对各种空战仿真模型进行调用执行。
3.空战仿真系统技术经历多年发展已经日渐成熟,但面对着不同的仿真模型的应用需求。空战仿真系统构建还存在仿真模型重用率低、开发周期长、可靠性差等问题。


技术实现要素:

4.为了解决上述问题,本申请提供了一种基于框架及插件的机载仿真运行方法,主要包括:
5.步骤s1、通过系统定时器产生步长推进命令;
6.步骤s2、通知插件管理模块进行模型解算,多个模型插件通过接口与模型框架相连;
7.步骤s3、插件管理模块通过插件控制线程调用对应的模型插件,并分配相应线程进行模型解算,同时对选择的各模型插件进行初始化配置;
8.步骤s4、收到模型解算通知后,不同插件线程调用每个已经加载到内存中的模型进行功能处理,包括读取数据信息、模型解算和写入数据信息;
9.步骤s5、所有插件线程本步解算动作完成后通知插件控制线程;
10.步骤s6、插件控制线程判断所有插件线程执行完成后,发送模型本步解算完成通知;
11.步骤s7、更新框架内部状态机,等待下一次步长推进命令。
12.优选的是,步骤s2中,所述模型框架事先定义了标准扩展接口,且独立于模型插件,所述模型插件开发时依照所述标准扩展接口进行设计。
13.优选的是,步骤s2中,所述模型框架内设置有插件管理模块,用于对模型插件进行管理,所述插件管理模块采用单例模式设计实现,通过基类接口来控制各个模型插件。
14.优选的是,步骤s1中,所述系统定时器每隔40毫秒产生一个步长推进命令。
15.优选的是,所述插件管理模块进行模型解算之前,进一步包括:
16.创建通信管理对象并在创建之后接收步长推进指令。
17.优选的是,所述插件管理模块进行模型解算之前,进一步包括:
18.由运行控制模块自动调用本地已经加载的插件,并根据插件调用时序连续调用每个模型插件的解算接口。
19.本申请能够提高软件开发的并行性和开发效率、降低设计开发难度、缩短开发周期,增强应用程序的可运行性、可测试性和可维护。
附图说明
20.图1是本申请基于框架及插件的机载仿真运行方法的一优选实施例的仿真运行框架体系结构图。
21.图2是本申请图1所示实施例的仿真运行框架运行时序图。
22.图3是模型插件基本结构图。
具体实施方式
23.为使本申请实施的目的、技术方案和优点更加清楚,下面将结合本申请实施方式中的附图,对本申请实施方式中的技术方案进行更加详细的描述。在附图中,自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。所描述的实施方式是本申请一部分实施方式,而不是全部的实施方式。下面通过参考附图描述的实施方式是示例性的,旨在用于解释本申请,而不能理解为对本申请的限制。基于本申请中的实施方式,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施方式,都属于本申请保护的范围。下面结合附图对本申请的实施方式进行详细说明。
24.空战仿真运行框架采用插件式设计思想,利用“即插即用”的仿真模型插件来进行系统设计和开发。仿真运行框架是针对空战仿真领域插件式软件开发和集成设计的基础平台。它能够动态集成按照插件开发规范开发的插件,支持以插件为单元的系统动态组装。基于框架开发的仿真运行框架平台由若干功能插件组成,在进行仿真应用系统集成时只需在该框架下将模型插件按信息关系进行逐步组装即可完成。
25.本申请提供了一种基于框架及插件的机载仿真运行方法,主要包括:
26.步骤s1、通过系统定时器产生步长推进命令;
27.步骤s2、通知插件管理模块进行模型解算,多个模型插件通过接口与模型框架相连;
28.步骤s3、插件管理模块通过插件控制线程调用对应的模型插件,并分配相应线程进行模型解算,同时对选择的各模型插件进行初始化配置;
29.步骤s4、收到模型解算通知后,不同插件线程调用每个已经加载到内存中的模型进行功能处理,包括读取数据信息、模型解算和写入数据信息;
30.步骤s5、所有插件线程本步解算动作完成后通知插件控制线程;
31.步骤s6、插件控制线程判断所有插件线程执行完成后,发送模型本步解算完成通知;
32.步骤s7、更新框架内部状态机,等待下一次步长推进命令。
33.以下详细说明。
[0034]“框架+插件”架构是一种基于插件技术的软件体系结构,是通过在系统开发中将仿真运行平台框架的需求和功能进行合理的划分,使整个运行框架分为两个主要部分:一部分为系统的主体,定义为框架,它提供基础性的功能要求以及与插件交互的接口:另一部分为一些相对独立的插件。插件是一种结构化的,提供特定功能的仿真模型,是仿真功能的实现和扩展,同时也实现了若干标准接口供框架与其交互时调用。模型插件可以单独设计与实现,使用者通过增加、删除或者修改插件的内部功能来调整整个仿真实验的功能,实现仿真模型的即插即用。
[0035]
为实现框架“高聚合,低耦合”的目标,仿真运行框架在设计上遵循软件三层架构的设计原则,如图1所示。即在整个软件层次上分为表现层、业务逻辑层和数据访问层。表现层主要用于显示数据和接收用户输入。业务逻辑层是整个系统架构中核心部分,它包括仿真实体模型及对于整个实体模型算法的控制调度。数据访问层主要负责对于仿真系统共用数据的管理和维护。该仿真运行框架是一个通用的可独立运行的程序,它定义了仿真运行框架的接口规范,可自动加载符合仿真运行框架接口规范的插件,是整个仿真实验平台的基础和主干。框架的运行独立于任何插件,在框架设计过程中,已经预先定义好系统的标准扩展接口,开发插件时只需按照接口来进行。框架通过一个模型插件管理器来进行管理。插件管理器是用单例模式设计实现的,其不关心插件的具体功能,仅仅通过插件提供的基类接口来控制各个插件,降低了系统的耦合度。框架作为插件注册和管理的容器,可以根据配置文件,动态地把插件插入框架或从框架中移除,实现仿真软件开发的灵活性和高可复用性。
[0036]
仿真运行框架提供了仿真软件开发人员与平台交互的界面,并建立了一套完整的通信机制,包括框架与插件间的通信机制,插件与插件间的通信机制,以及功能组件间的通信机制。插件管理模块是整个系统的仿真功能核心,负责支撑各个仿真模型的功能调度与运转,规定了模型插件接口,封装后的各仿真模型对外拥有统一的控制接口,使各模型以相同的方式被系统调控,具体包括模型加载,模型运行顺序,模型调度策略,模型显示输出,模型运行状态/耗时监控等功能。仿真运行框架平台在模型解算时,会首先创建通信管理对象并在创建之后接收步长推进指令,在指令接收到后,由运行控制模块,自动调用本地已经加载的插件,并根据插件调用时序连续调用每个模型插件的解算接口。其运行时序如图2所示。
[0037]
仿真运行框架步骤描述:
[0038]
1、时间管理模块通过系统定时器产生步长推进命令;
[0039]
2、通信管理模块将步长推进命令推送给运行控制模块;
[0040]
3、运行控制模块接收到步长推进通知后,通知插件管理模块进行模型解算。
[0041]
4、插件管理模块分为插件控制、插件线程和插件选择构成,插件控制协同控制插件线程进行具体的模型调用;插件线程负责具体模型接口功能调用;插件选择在框架启动时候通过初始化配置进行插件的载入;
[0042]
5、收到模型解算通知后,不同插件线程调用每个已经加载到内存中的模型进行功能处理,包括读取数据信息、模型解算和写入数据信息;
[0043]
6、所有插件线程本步解算动作完成后通知插件控制线程进行判断;
[0044]
7、插件控制线程判断所有插件线程执行完成后,发送模型本步解算完成通知
[0045]
8、运行控制模块接收到本步解算完成通知后,更新框架内部状态机。
[0046]
9、以上步骤完成后,等待时间管理模块中定时器(40毫秒)下一次产生步长推进命令。
[0047]
采用基于框架的插件式开发方法最大的特点是实现软件的“即插即用”和“组装”,提高插件的复用性,然而增强插件的复用性不仅需要插件内部良好的设计,更需要对仿真业务功能进行合理的划分,对插件粒度进行合理的掌握。
[0048]
仿真运行框架平台中的插件是一个个符合仿真平台接口规范和完成特定功能的
动态链接库。插件通过规范的接口注册到仿真平台中,向平台提供其包含的插件功能和信息。平台中的插件分为基础逻辑插件和模型功能插件。基础逻辑插件在仿真运行框架启动时由框架自动加载且仅实例化一次;而功能插件则实现仿真软件中的具体功能,它们不会被框架自动实例化,而是在通过仿真实验配置在具体需要时将其实例化。每个插件包含“工厂类组件”和“功能组件”两大部分,其中工厂类组件定义了一组与平台框架相衔接的接口函数,实现插件与框架的连接或脱离,并负责创建、删除、初始化、运行功能组件;而功能组件负责实现特定的仿真功能。平台框架通过调用工厂类组件实例化指定的功能组件以实现特定的功能。插件基本结构如图3所示。
[0049]
至此,已经结合附图所示的优选实施方式描述了本申请的技术方案,领域内技术人员应该理解的是,本申请的保护范围显然不局限于这些具体实施方式,在不偏离本申请的原理的前提下,本领域技术人员可以对相关技术特征作出等同的更改或替换,这些更改或替换之后的技术方案都将落入本申请的保护范围之内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1