CN110874508A - 一种仿真场景构建方法和装置 - Google Patents
一种仿真场景构建方法和装置 Download PDFInfo
- Publication number
- CN110874508A CN110874508A CN201911100267.7A CN201911100267A CN110874508A CN 110874508 A CN110874508 A CN 110874508A CN 201911100267 A CN201911100267 A CN 201911100267A CN 110874508 A CN110874508 A CN 110874508A
- Authority
- CN
- China
- Prior art keywords
- component
- programming language
- components
- standard
- standard components
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/31—Programming languages or programming paradigms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种仿真场景构建方法和装置,涉及仿真技术领域。其中,该方法包括:对基于不同编程语言构建的多个功能组件进行封装,以得到多个标准组件;其中,所述多个标准组件具有统一的组件调用接口规范;将所述多个标准组件集成至组件工具箱,以对所述多个标准组件进行可视化管理;基于用户从所述组件工具箱中选取的标准组件生成仿真场景。通过以上步骤,能够使得开发人员无需耗费大量的精力在数据转换和调试工作上,提高仿真场景的构建效率和通用性。
Description
技术领域
本发明涉及仿真技术领域,尤其涉及一种仿真场景构建方法和装置。
背景技术
目前,在对作战对抗场景进行仿真模拟时,由于开发人员掌握的开发语言存在差异等原因,导致开发的功能模块(或者说功能组件)存在编程语言不同、各个功能模块缺乏一致的接口、功能和数据类型不统一等问题,造成功能模块之间互操作性较差,在复杂场景构建过程中需要进行比较繁重的数据转换与调试工作,这大大影响了场景构建的效率和通用性。
因此,针对以上不足,需要提供一种新的仿真场景构建方案,以使开发人员无需耗费大量的精力在数据转换和调试工作上,提高仿真场景的构建效率和通用性。
发明内容
(一)要解决的技术问题
本发明要解决的技术问题是解决现有仿真场景构建效率低、通用性差的问题。
(二)技术方案
为了解决上述技术问题,一方面,本发明提供了一种仿真场景构建方法。
本发明的仿真场景构建方法包括:对基于不同编程语言构建的多个功能组件进行封装,以得到多个标准组件;其中,所述多个标准组件具有统一的组件调用接口规范;将所述多个标准组件集成至组件工具箱,以对所述多个标准组件进行可视化管理;基于用户从所述组件工具箱中选取的标准组件生成仿真场景。
可选地,所述标准组件为采用第一编程语言的组件动态库。
可选地,所述对所述多个功能组件进行封装,以得到多个标准组件的步骤包括:对于基于第一编程语言构建的功能组件,直接将所述功能组件封装成所述标准组件;对于基于第二编程语言构建的功能组件,先将所述功能组件封装成采用第二编程语言的组件动态库,然后将所述采用第二编程语言的组件动态库转换成所述标准组件;其中,所述第二编程语言与所述第一编程语言为不同的编程语言。
可选地,所述第一编程语言为C++语言。
可选地,所述方法还包括:对生成的所述仿真场景进行展示,和/或,对生成所述仿真场景所用的标准组件的输入输出数据进行展示。
为了解决上述技术问题,另一方面,本发明提供了一种仿真场景构建装置。
本发明的仿真场景构建装置包括:封装模块,用于对基于不同编程语言构建的多个功能组件进行封装,以得到多个标准组件;其中,所述多个标准组件具有统一的组件调用接口规范;集成模块,用于将所述多个标准组件集成至组件工具箱,以对所述多个标准组件进行可视化管理;生成模块,用于基于用户从所述组件工具箱中选取的标准组件生成仿真场景。
可选地,所述标准组件为采用第一编程语言的组件动态库。
可选地,所述封装模块对所述多个功能组件进行封装,以得到多个标准组件包括:对于基于第一编程语言构建的功能组件,所述封装模块直接将所述功能组件封装成所述标准组件;对于基于第二编程语言构建的功能组件,所述封装模块先将所述功能组件封装成采用第二编程语言的组件动态库,然后将所述采用第二编程语言的组件动态库转换成所述标准组件;其中,所述第二编程语言与所述第一编程语言为不同的编程语言。
可选地,所述第一编程语言为C++语言。
可选地,所述装置还包括:展示模块,用于对生成的所述仿真场景进行展示,和/或,对生成所述仿真场景所用的标准组件的输入输出数据进行展示。
(三)有益效果
本发明的上述技术方案具有如下优点:通过对基于不同编程语言构建的多个功能组件进行封装,以得到多个标准组件,将所述多个标准组件集成至组件工具箱,以对所述多个标准组件进行可视化管理,基于用户从所述组件工具箱中选取的标准组件生成仿真场景这些步骤,能够使得开发人员无需耗费大量的精力在数据转换和调试工作上,提高仿真场景的构建效率和通用性,
附图说明
图1是本发明实施例一中的仿真场景构建方法的主要流程示意图;
图2是本发明实施例二中的仿真场景构建方法的主要流程示意图;
图3是本发明实施例三中的仿真场景构建装置的主要模块示意图;
图4是本发明实施例四中的仿真场景构建装置的主要模块示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
图1是本发明实施例一中的仿真场景构建方法的主要流程示意图。如图1所示,本发明实施例提供的仿真场景构建方法包括:
步骤S101、对基于不同编程语言构建的多个功能组件进行封装,以得到多个标准组件。
示例性地,所述功能组件可包括数据源组件、特性模拟组件、预处理组件、特征提取器组件、分类器组件、多特征融合识别组件、后处理组件等。具体实施时,不同的开发人员在开发各个功能组件示可采用自己熟悉的编程语言实现。例如,可采用C++、Fortran、Matlab等编程语言。
在步骤S101中,对各个功能组件进行了二次封装,进而得到了多个标准组件。其中,所述多个标准组件具有统一的组件调用接口规范。通过该步骤,能够屏蔽各个功能组件在编程语言上的差异,从而可基于统一的方式调用各个功能组件并进行通用的数据交互。由于对各个功能组件进行了封装,因此可实现不同语言编写的功能组件的基本数据、自定义数据进行通用的数据转换传递。
步骤S102、将所述多个标准组件集成至组件工具箱,以对所述多个标准组件进行可视化管理。
在该步骤中,可基于可视化技术将各个标准组件集成至组件工具箱,以便通过组件工具箱对各个标准组件进行拖拽、安装、卸载、检索等可视化管理。
步骤S103、基于用户从所述组件工具箱中选取的标准组件生成仿真场景。
具体实施时,用户可根据具体的仿真场景需求从组件工具箱中拖拽出相应的标准组件、并在各个标准组件之间进行连线即可构建仿真场景。另外,在仿真过程中还可对运行流程状态、以及故障信息等进行监测和报告。
在本发明实施例中,通过步骤S101至步骤S103实现了仿真场景的构建。与现有技术相比,本发明实施例通过步骤S101至步骤S103能够使得开发人员无需耗费大量的精力在数据转换和调试工作上,提高仿真场景的构建效率和通用性。
实施例二
图2是本发明实施例二中的仿真场景构建方法的主要流程示意图。如图2所示,本发明实施例的仿真场景构建方法包括:
步骤S201、基于不同编程语言构建多个功能组件。
在该步骤中,不同的开发人员在开发各个功能组件示可采用自己熟悉的编程语言实现。例如,可采用C++、Fortran、Matlab等编程语言开发多个功能组件。
具体实施时,在步骤S201之前,可先划分出场景仿真模拟过程中的最小功能模块,即功能组件。例如,所述功能组件可包括数据源组件、特性模拟组件、预处理组件、特征提取器组件、分类器组件、多特征融合识别组件、后处理组件等。
步骤S202、对所述多个功能组件进行封装,以得到多个采用第一编程语言的组件动态库。
在本发明实施例中,封装得到的标准组件具体为采用第一编程语言的组件动态库,例如采用C++语言的组件动态库。
具体来说,步骤S202包括:对于基于第一编程语言构建的功能组件,直接将所述功能组件封装成所述标准组件;对于基于第二编程语言构建的功能组件,先将所述功能组件封装成采用第二编程语言的组件动态库,然后将所述采用第二编程语言的组件动态库转换成所述标准组件;其中,所述第二编程语言与所述第一编程语言为不同的编程语言。
在一个示例中,采用二次封装的方式将功能组件统一转换成采用C++编程语言的组件动态库,对于由C++编程语言开发的功能组件,由于其与C++的组件动态库不存在编程语言的差异,因此可直接将其封装成C++的组件动态库(可简称为“C++的动态库”);对于由Fortran编程语言开发的功能组件,可先在Fortran编程环境下生成动态库,再将其转换为C++的组件动态库;对于由Matlab编程语言开发的功能组件,可先在Matlab编程环境下生成动态库,再将其转换为C++的组件动态库。
步骤S203、将所述多个标准组件集成至组件工具箱,以对所述多个标准组件进行可视化管理。
在该步骤中,可基于可视化技术将各个标准组件集成至组件工具箱,以便通过组件工具箱对各个标准组件进行拖拽、安装、卸载、检索等可视化管理。
步骤S204、基于用户从所述组件工具箱中选取的标准组件生成仿真场景。
具体实施时,用户可根据具体的仿真场景需求(比如对战场景仿真需求)从组件工具箱中拖拽出相应的标准组件、并在各个标准组件之间进行连线即可构建仿真场景。另外,在仿真过程中还可对运行流程状态、以及故障信息等进行监测和报告。
步骤S205、对生成的所述仿真场景进行展示,和/或,对生成所述仿真场景所用的标准组件的输入输出数据进行展示。
在该步骤中,可通过可视化技术直观了解仿真场景态势和数据流,并对各个标准组件的输入输出数据进行统计分析和显示,从而提高了仿真场景构建过程中的用户体验。具体来说,可对仿真场景生成模型的输入输出数据、统计分析结果、仿真场景态势进行可视化展示,等等。
在本发明实施例中,通过以上步骤实现了仿真场景的构建。与现有技术相比,本发明实施例通过以上步骤能够使得开发人员无需耗费大量的精力在数据转换和调试工作上,提高仿真场景的构建效率和通用性。
实施例三
图3是本发明实施例三中的仿真场景构建装置的主要模块示意图。如图3所示,本发明实施例的仿真场景构建装置300包括:封装模块301、集成模块302、生成模块303。
封装模块301,用于对基于不同编程语言构建的多个功能组件进行封装,以得到多个标准组件。
示例性地,所述功能组件可包括数据源组件、特性模拟组件、预处理组件、特征提取器组件、分类器组件、多特征融合识别组件、后处理组件等。具体实施时,不同的开发人员在开发各个功能组件示可采用自己熟悉的编程语言实现。例如,可采用C++、Fortran、Matlab等编程语言。
集成模块302,用于将所述多个标准组件集成至组件工具箱,以对所述多个标准组件进行可视化管理。
示例性地,集成模块302可基于可视化技术将各个标准组件集成至组件工具箱,以便通过组件工具箱对各个标准组件进行拖拽、安装、卸载、检索等可视化管理。
生成模块303,用于基于用户从所述组件工具箱中选取的标准组件生成仿真场景。
具体实施时,用户可根据具体的仿真场景需求从组件工具箱中拖拽出相应的标准组件、并在各个标准组件之间进行连线即可构建仿真场景。另外,在仿真过程中还可对运行流程状态、以及故障信息等进行监测和报告。
在本发明实施例中,通过封装模块、集成模块、生成模块实现了仿真场景的构建。与现有技术相比,本发明实施例提供的仿真场景构建装置能够使得开发人员无需耗费大量的精力在数据转换和调试工作上,提高仿真场景的构建效率和通用性。
实施例四
图4是本发明实施例四中的仿真场景构建装置的主要模块示意图。如图4所示,本发明实施例的仿真场景构建装置400包括:封装模块401、集成模块402、生成模块403、展示模块404。
封装模块401,用于对基于不同编程语言构建的多个功能组件进行封装,以得到多个标准组件。
示例性地,所述功能组件可包括数据源组件、特性模拟组件、预处理组件、特征提取器组件、分类器组件、多特征融合识别组件、后处理组件等。具体实施时,不同的开发人员在开发各个功能组件示可采用自己熟悉的编程语言实现。例如,可采用C++、Fortran、Matlab等编程语言。
在本发明实施例中,封装得到的标准组件具体为采用第一编程语言的组件动态库,例如采用C++语言的组件动态库。
具体来说,封装模块401对基于不同编程语言构建的多个功能组件进行封装包括:对于基于第一编程语言构建的功能组件,封装模块401直接将所述功能组件封装成所述标准组件;对于基于第二编程语言构建的功能组件,封装模块401先将所述功能组件封装成采用第二编程语言的组件动态库,然后将所述采用第二编程语言的组件动态库转换成所述标准组件;其中,所述第二编程语言与所述第一编程语言为不同的编程语言。
在一个示例中,采用二次封装的方式将功能组件统一转换成采用C++编程语言的组件动态库,对于由C++编程语言开发的功能组件,由于其与C++的组件动态库不存在编程语言的差异,因此封装模块401可直接将其封装成C++的组件动态库(可简称为“C++的动态库”);对于由Fortran编程语言开发的功能组件,封装模块401可先在Fortran编程环境下生成动态库,再将其转换为C++的组件动态库;对于由Matlab编程语言开发的功能组件,封装模块401可先在Matlab编程环境下生成动态库,再将其转换为C++的组件动态库。
集成模块402,用于将所述多个标准组件集成至组件工具箱,以对所述多个标准组件进行可视化管理。
具体来说,可基于可视化技术将各个标准组件集成至组件工具箱,以便通过组件工具箱对各个标准组件进行拖拽、安装、卸载、检索等可视化管理。
生成模块403,用于基于用户从所述组件工具箱中选取的标准组件生成仿真场景。
具体实施时,用户可根据具体的仿真场景需求从组件工具箱中拖拽出相应的标准组件、并在各个标准组件之间进行连线即可构建仿真场景。另外,在仿真过程中还可对运行流程状态、以及故障信息等进行监测和报告。
展示模块404,用于对生成的所述仿真场景进行展示,和/或,对生成所述仿真场景所用的标准组件的输入输出数据进行展示。
具体来说,可通过可视化技术直观了解仿真场景态势和数据流,并对各个标准组件的输入输出数据进行统计分析和显示,从而提高了仿真场景构建过程中的用户体验。具体来说,可对仿真场景生成模型的输入输出数据、统计分析结果、仿真场景态势进行可视化展示,等等。
在本发明实施例中,通过以上装置实现了仿真场景的构建。与现有技术相比,本发明实施例通过以上装置能够使得开发人员无需耗费大量的精力在数据转换和调试工作上,提高仿真场景的构建效率和通用性。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种仿真场景构建方法,其特征在于,所述方法包括:
对基于不同编程语言构建的多个功能组件进行封装,以得到多个标准组件;其中,所述多个标准组件具有统一的组件调用接口规范;
将所述多个标准组件集成至组件工具箱,以对所述多个标准组件进行可视化管理;
基于用户从所述组件工具箱中选取的标准组件生成仿真场景。
2.根据权利要求1所述的方法,其特征在于,所述标准组件为采用第一编程语言的组件动态库。
3.根据权利要求2所述的方法,其特征在于,所述对所述多个功能组件进行封装,以得到多个标准组件的步骤包括:
对于基于第一编程语言构建的功能组件,直接将所述功能组件封装成所述标准组件;对于基于第二编程语言构建的功能组件,先将所述功能组件封装成采用第二编程语言的组件动态库,然后将所述采用第二编程语言的组件动态库转换成所述标准组件;其中,所述第二编程语言与所述第一编程语言为不同的编程语言。
4.根据权利要求3所述的方法,其特征在于,所述第一编程语言为C++语言。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
对生成的所述仿真场景进行展示,和/或,对生成所述仿真场景所用的标准组件的输入输出数据进行展示。
6.一种仿真场景构建装置,其特征在于,所述装置包括:
封装模块,用于对基于不同编程语言构建的多个功能组件进行封装,以得到多个标准组件;其中,所述多个标准组件具有统一的组件调用接口规范;
集成模块,用于将所述多个标准组件集成至组件工具箱,以对所述多个标准组件进行可视化管理;
生成模块,用于基于用户从所述组件工具箱中选取的标准组件生成仿真场景。
7.根据权利要求6所述的装置,其特征在于,所述标准组件为采用第一编程语言的组件动态库。
8.根据权利要求7所述的装置,其特征在于,所述封装模块对所述多个功能组件进行封装,以得到多个标准组件包括:
对于基于第一编程语言构建的功能组件,所述封装模块直接将所述功能组件封装成所述标准组件;对于基于第二编程语言构建的功能组件,所述封装模块先将所述功能组件封装成采用第二编程语言的组件动态库,然后将所述采用第二编程语言的组件动态库转换成所述标准组件;其中,所述第二编程语言与所述第一编程语言为不同的编程语言。
9.根据权利要求8所述的装置,其特征在于,所述第一编程语言为C++语言。
10.根据权利要求6所述的装置,其特征在于,所述装置还包括:
展示模块,用于对生成的所述仿真场景进行展示,和/或,对生成所述仿真场景所用的标准组件的输入输出数据进行展示。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911100267.7A CN110874508A (zh) | 2019-11-12 | 2019-11-12 | 一种仿真场景构建方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911100267.7A CN110874508A (zh) | 2019-11-12 | 2019-11-12 | 一种仿真场景构建方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110874508A true CN110874508A (zh) | 2020-03-10 |
Family
ID=69717920
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911100267.7A Pending CN110874508A (zh) | 2019-11-12 | 2019-11-12 | 一种仿真场景构建方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110874508A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113867714A (zh) * | 2021-09-24 | 2021-12-31 | 安徽杰予信息科技有限公司 | 一种适配多语言的自动代码生成方法 |
CN113867714B (zh) * | 2021-09-24 | 2024-06-04 | 安徽杰予信息科技有限公司 | 一种适配多语言的自动代码生成方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102663203A (zh) * | 2012-04-25 | 2012-09-12 | 清华大学 | 基于HLA的Fortran仿真模型中间件 |
CN107908830A (zh) * | 2017-10-26 | 2018-04-13 | 北京动力机械研究所 | 基于fmi标准的模型转换方法和模型转换系统 |
CN109948228A (zh) * | 2019-02-27 | 2019-06-28 | 中国舰船研究设计中心 | 一种基于装备参数化的对抗仿真及效能评估系统 |
-
2019
- 2019-11-12 CN CN201911100267.7A patent/CN110874508A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102663203A (zh) * | 2012-04-25 | 2012-09-12 | 清华大学 | 基于HLA的Fortran仿真模型中间件 |
CN107908830A (zh) * | 2017-10-26 | 2018-04-13 | 北京动力机械研究所 | 基于fmi标准的模型转换方法和模型转换系统 |
CN109948228A (zh) * | 2019-02-27 | 2019-06-28 | 中国舰船研究设计中心 | 一种基于装备参数化的对抗仿真及效能评估系统 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113867714A (zh) * | 2021-09-24 | 2021-12-31 | 安徽杰予信息科技有限公司 | 一种适配多语言的自动代码生成方法 |
CN113867714B (zh) * | 2021-09-24 | 2024-06-04 | 安徽杰予信息科技有限公司 | 一种适配多语言的自动代码生成方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110096338B (zh) | 智能合约执行方法、装置、设备及介质 | |
EP3745256B1 (en) | External code integrations within a computing environment | |
CN109710215B (zh) | 分布式流计算的可视化流程处理引擎及其使用方法 | |
EP3971706B1 (en) | Method, apparatus and electronic device for deploying operator in deep learning frame work | |
CN103885782A (zh) | 一种可视化编程页面程序库函数封装重用方法 | |
Marques et al. | Integrating UML, MARTE and SysML to improve requirements specification and traceability in the embedded domain | |
CN109558117B (zh) | 面向航天应用的aadl模型求精及其支持的c代码自动生成方法 | |
CN106886411A (zh) | 一种基于qt的继电保护装置逻辑图形化配置方法 | |
CN104461528A (zh) | 一种可视化生成面向信号应用程序代码的方法及装置 | |
CN103718159B (zh) | 图像处理软件开发方法、图像处理软件开发装置 | |
JP2021182421A (ja) | ラベル付けツールの生成方法と装置、ラベル付け方法と装置、電子デバイス、記憶媒体及びプログラム | |
CN103744647A (zh) | 一种基于工作流GPD的Java工作流开发系统及其方法 | |
CN105630563A (zh) | 基于xml的继电保护装置规约的动态模型配置方法 | |
CN114077430A (zh) | 界面生成方法、装置、电子设备及存储介质 | |
CN110717268B (zh) | 一种基于face架构的可移植组件单元封装方法 | |
Zhang et al. | A black-box strategy to migrate gui-based legacy systems to web services | |
CN104317580A (zh) | 虚拟试验应用集成开发环境 | |
CN104063231A (zh) | 一种基于hit-tena的试验资源快速接入方法 | |
CN112926109A (zh) | 一种复杂嵌入式系统虚拟运行环境可视化建模方法 | |
CN115964185A (zh) | 面向技术资源共享的微服务管理系统 | |
CN103150445B (zh) | 一种matlab模型变量的剖析方法及装置 | |
Brun et al. | Code generation from aadl to a real-time operating system: An experimentation feedback on the use of model transformation | |
CN110874508A (zh) | 一种仿真场景构建方法和装置 | |
CN111596905A (zh) | 生成java对象的方法、装置、存储介质及终端 | |
KR101687970B1 (ko) | 3d모델 뷰어에서 조선용 캐드의 접속/통신 장치 및 그 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |