首页> 中国专利> 一种基于模型驱动的仿真平台实现方法

一种基于模型驱动的仿真平台实现方法

摘要

本发明提供一种基于模型驱动的仿真平台实现方法,涉及仿真技术,通过接收用户基于仿真平台输入的插件数据,根据所述插件数据生成插件;对所述插件进行编译处理,获取编译数据,并将所述编译数据存储在内存中;基于对所述内存中编译数据的读取加载,生成一个或多个仿真模型;响应用户将所述仿真模型拖动到预设场景中的操作,显示所述仿真模型对应的自定义参数设置界面;接收用户基于所述自定义参数设置界面输入的参数,生成一个或多个仿真实例,其中,多个所述仿真实例之间通过通信层交互的技术方案,提高了平台验证仿真模型的有效性的速度,加强了平台对不同仿真场景的兼容程度。

著录项

  • 公开/公告号CN113010227A

    专利类型发明专利

  • 公开/公告日2021-06-22

    原文格式PDF

  • 申请/专利权人 南京仁谷系统集成有限公司;

    申请/专利号CN202110289833.4

  • 发明设计人 高暠;吴恩洋;

    申请日2021-03-18

  • 分类号G06F9/445(20180101);G06F9/455(20060101);G06F8/34(20180101);G06F30/20(20200101);

  • 代理机构32478 江苏长德知识产权代理有限公司;

  • 代理人刘传玉

  • 地址 210000 江苏省南京市高新区南京软件园(西区)团结路100号220室

  • 入库时间 2023-06-19 11:32:36

说明书

技术领域

本发明涉及仿真技术,尤其涉及一种基于模型驱动的仿真平台实现方法。

背景技术

随着计算机科学与信息科学研究的深入,系统建模与仿真技术和高性能计算一起成为继理论研究和实验研究之后的第三种认识世界和改造世界的重要手段。

在日常业务中,我们常常需要对现实中的物理模型进行抽象仿真,目前的仿真过程需要建立系统架构,在特定的想定规则下,协同完成仿真,验证仿真模型的有效性的速度较慢,效率低下。

发明内容

本发明实施例提供一种基于模型驱动的仿真平台实现方法,提高了平台验证仿真模型的有效性的速度,加强了平台对不同仿真场景的兼容程度。

本发明实施例提供一种基于模型驱动的仿真平台实现方法,包括:

接收用户基于仿真平台输入的插件数据,根据所述插件数据生成插件;

对所述插件进行编译处理,获取编译数据,并将所述编译数据存储在内存中;

基于对所述内存中编译数据的读取加载,生成一个或多个仿真模型;

响应用户将所述仿真模型拖动到预设场景中的操作,显示所述仿真模型对应的自定义参数设置界面;

接收用户基于所述自定义参数设置界面输入的参数,生成一个或多个仿真实例,其中,多个所述仿真实例之间相互交互。

可选地,在一种可能实现方式中,所述插件数据包括:

用于与所述仿真平台交互信息的仿真模型插件调度类数据;

用于封装仿真模型的细节和实现的仿真模型类数据;以及,

用于自定义设计和实现工作参数设置的仿真模型参数展示类数据。

可选地,在一种可能实现方式中,在所述接收用户基于仿真平台输入的插件数据,根据所述插件数据生成插件之后,还包括:

接收用户输入的插件名称,将所述仿真平台中代码模块的模型名称替换为所述插件名称。

可选地,在一种可能实现方式中,在所述基于对所述内存中编译数据的读取加载之前,还包括:

将所述编译数据拷贝到所述仿真平台指定的目录下。

可选地,在一种可能实现方式中,所述将所述编译数据拷贝到所述仿真平台指定的目录下,包括:

获取到所述编译数据对应的插件名称;

以所述插件名称将所述编译数据拷贝到所述仿真平台指定的目录下。

可选地,在一种可能实现方式中,在所述对所述插件进行编译处理,获取编译数据之前,还包括:

识别所述仿真平台的版本,根据所述版本来设置编译环境。

可选地,在一种可能实现方式中,多个所述仿真实例之间通过通信层相互交互。

可选地,在一种可能实现方式中,所述通信层包括redis中间件;

多个所述仿真实例之间通过通信层交互,包括:

多个所述仿真实例之间通过通信层的redis中间件进行交互。

可选地,在一种可能实现方式中,所述多个所述仿真实例之间通过通信层的redis中间件进行交互,包括:

将待交互内容打包为JSON格式字符串信息,通过所述通信层的redis中间件进行明文收发。

本发明提供的一种基于模型驱动的仿真平台实现方法,通过接收用户基于仿真平台输入的插件数据,根据所述插件数据生成插件;对所述插件进行编译处理,获取编译数据,并将所述编译数据存储在内存中;基于对所述内存中编译数据的读取加载,生成一个或多个仿真模型;响应用户将所述仿真模型拖动到预设场景中的操作,显示所述仿真模型对应的自定义参数设置界面;接收用户基于所述自定义参数设置界面输入的参数,生成一个或多个仿真实例,其中,多个所述仿真实例之间通过通信层交互的技术方案,将待验证仿真模型的功能和细节进行封装和插件化,在软件启动时动态读取模型插件信息,用户对实例化的仿真模型进行参数配置和部署,实现对不同的仿真模型组合成的复杂场景情景进行交互仿真,实现类似于matlab这种直接拖动模型的图标和简单的参数配置就可以直接仿真的效果,可以实现仿真模型的插件化、基于海图场景的图标联动、基于仿真模型的活动编辑功能,抽象了平台层和模型层,从模型驱动的视角设计和实现平台,提高了平台验证仿真模型的有效性的速度,加强了平台对不同仿真场景的兼容程度。

附图说明

图1是本发明实施例提供的设置插件数据的流程示意图;

图2是本发明实施例提供的生成仿真实例的流程示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。

应当理解,在本发明的各种实施例中,各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。

应当理解,在本发明中,“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

应当理解,在本发明中,“多个”是指两个或两个以上。“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。“包含A、B和C”、“包含A、B、C”是指A、B、C三者都包含,“包含A、B或C”是指包含A、B、C三者之一,“包含A、B和/或C”是指包含A、B、C三者中任1个或任2个或3个。

应当理解,在本发明中,“与A对应的B”、“与A相对应的B”、“A与B相对应”或者“B与A相对应”,表示B与A相关联,根据A可以确定B。根据A确定B并不意味着仅仅根据A确定B,还可以根据A和/或其他信息确定B。A与B的匹配,是A与B的相似度大于或等于预设的阈值。

取决于语境,如在此所使用的“若”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。

下面以具体地实施例对本发明的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。

参见图1,是本发明实施例提供的一种基于模型驱动的仿真平台实现方法的流程示意图,图1所示方法的执行主体可以是软件和/或硬件装置。本申请的执行主体可以包括但不限于以下中的至少一个:用户设备、网络设备等。其中,用户设备可以包括但不限于计算机、智能手机、个人数字助理(Personal Digital Assistant,简称:PDA)及上述提及的电子设备等。网络设备可以包括但不限于单个网络服务器、多个网络服务器组成的服务器组或基于云计算的由大量计算机或网络服务器构成的云,其中,云计算是分布式计算的一种,由一群松散耦合的计算机组成的一个超级虚拟计算机。本实施例对此不做限制。包括步骤S101至步骤S102,以及步骤S201至步骤S203,具体如下:

S101,接收用户基于仿真平台输入的插件数据,根据所述插件数据生成插件。

具体地,在用插件之前,需要先新建插件,后续进行调用,用户可以利用仿真平台输入相应的插件数据,形成插件工程文件,仿真平台会根据用户输入的插件数据生成相应的插件。

在实际应用中,用户输入插件数据形成插件工程文件时,可以输入插件名称,即可以接收用户输入的插件名称,将仿真平台中代码模块的模型名称,即下方具体内容中的$(ModelName),替换为用户输入的插件名称,例如,用户输入的插件名称为“XX1”,则可以将仿真平台中代码模块的$(ModelName)替换为“XX1”。

示例性地,插件数据(插件工程文件)的内容具体可以如下:

文件夹:$(ModelName)

1)simu$(ModelName)Dispatch.h

2)simu$(ModelName)Dispatch.cpp

3)simu$(ModelName).h

4)simu$(ModelName).cpp

5)simu$(ModelName)_global.h

6)simu$(ModelName)maindialog.h

7)simu$(ModelName)maindialog.cpp

8)simu$(ModelName)maindialog.ui

其中,插件数据一共包括3个类:

a.simu$(ModelName)Dispatch类,即仿真模型插件调度类,用于和平台交互信息时使用;b.simu$(ModelName)类,即仿真模型类,用于封装仿真模型的细节和实现;c.simu$(ModelName)maindialog类,即仿真模型参数展示类,用于自定义设计和实现自身的工作参数设置界面和内容展示窗口。

S102,对所述插件进行编译处理,获取编译数据,并将所述编译数据存储在内存中。

可以理解的是,为了后续对插件的调用,需要对插件进行编译后存储,例如,在后续进行调用时,可以将编译数据拷贝到仿真平台指定的目录下。

在实际应用中,在所述对所述插件进行编译处理,获取编译数据之前,还包括识别所述仿真平台的版本,根据所述版本来设置编译环境。即,需要根据仿真平台的版本来设置自身的编译环境,例如,仿真平台的版本可以是VS2013+Qt5.7.0X86,那么就要根据VS2013+Qt5.7.0X86的版本来设置编译环境进行编译操作。

需要说明的是,步骤S101和步骤S102是作为后续实现仿真的基础,即需要先设置好插件数据,并进行编译后存储到内存中,后续的步骤可以根据用户的操作从内存中读取编译数据,生成仿真模型,然后根据用户的一系列操作生成仿真实例,参见图2,具体见步骤S201-S203。

S201,基于对所述内存中编译数据的读取加载,生成一个或多个仿真模型。

具体地,在所述基于对所述内存中编译数据的读取加载之前,将编译数据拷贝到所述仿真平台指定的目录下,即将编译好的数据加载到仿真平台中。其中,本实施例可以在SimuInterfaseInfo.h中定义仿真模型的接口,在将编译数据拷贝到仿真平台指定的目录下后,仿真平台可以获取到编译数据的版本信息和模型名称等模型描述信息,仿真平台将模型描述信息记录在内存中,用于部署实例时使用。

可以理解的是,仿真平台读取加载了编译数据后,可以基于编译数据生成对应的仿真模型,供用户后续使用。

S202,响应用户将所述仿真模型拖动到预设场景中的操作,显示所述仿真模型对应的自定义参数设置界面。

具体地,通过步骤S101到步骤S102以及步骤S201加载好用户设置的仿真模型后,用户可以在仿真平台上看到一个或多个仿真模型,此时,可以基于用户的需求,直接将仿真模型拖动到预设场景中来,实现类似于matlab这种直接拖动模型的图标和简单的参数配置就可以直接仿真的效果,可以实现仿真模型的插件化、基于海图场景的图标联动、基于仿真模型的活动编辑功能。

S203,接收用户基于所述自定义参数设置界面输入的参数,生成一个或多个仿真实例,其中,多个所述仿真实例之间通过通信层交互。

可以理解的是,当仿真模型被拖到场景中后,会显示自定义参数设置界面,用户可以根据想要布局的实例在自定义参数设置界面内输入参数,通过简单的参数配置即可直接进行仿真。

另外,当有多个仿真实例之间需要交互数据时,多个所述仿真实例之间可以通过通信层进行交互。

示例性地,通信层包括redis中间件,则多个仿真实例之间可以将待交互内容打包为JSON格式字符串信息,通过通信层的redis中间件进行明文收发来实现交互。

在实际应用中,每个仿真模型在开发的过程可以自定义需要订阅和发布的主题号。

本发明可以基于仿真平台将待验证仿真模型的功能和细节进行封装和插件化,在软件启动时动态读取模型插件信息,用户对实例化的仿真模型进行参数配置和部署,实现对不同的仿真模型组合成的复杂场景情景进行交互仿真,抽象了平台层和模型层,从模型驱动的视角设计和实现平台,提高了平台验证仿真模型的有效性的速度,加强了平台对不同仿真场景的兼容程度。

本发明还提供一种可读存储介质,所述可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时用于实现上述的各种实施方式提供的方法。

其中,可读存储介质可以是计算机存储介质,也可以是通信介质。通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。计算机存储介质可以是通用或专用计算机能够存取的任何可用介质。例如,可读存储介质耦合至处理器,从而使处理器能够从该可读存储介质读取信息,且可向该可读存储介质写入信息。当然,可读存储介质也可以是处理器的组成部分。处理器和可读存储介质可以位于专用集成电路(ApplicationSpecific Integrated Circuits,简称:ASIC)中。另外,该ASIC可以位于用户设备中。当然,处理器和可读存储介质也可以作为分立组件存在于通信设备中。可读存储介质可以是只读存储器(ROM)、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。

本发明还提供一种程序产品,该程序产品包括执行指令,该执行指令存储在可读存储介质中。设备的至少一个处理器可以从可读存储介质读取该执行指令,至少一个处理器执行该执行指令使得设备实施上述的各种实施方式提供的方法。

在上述的实施例中,应理解,处理器可以是中央处理单元(英文:CentralProcessing Unit,简称:CPU),还可以是其他通用处理器、数字信号处理器(英文:DigitalSignal Processor,简称:DSP)、专用集成电路(英文:Application Specific IntegratedCircuit,简称:ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号