CN113569333A - 基于预编译指令的多种飞行器仿真模型并行开发维护方法 - Google Patents
基于预编译指令的多种飞行器仿真模型并行开发维护方法 Download PDFInfo
- Publication number
- CN113569333A CN113569333A CN202110704993.0A CN202110704993A CN113569333A CN 113569333 A CN113569333 A CN 113569333A CN 202110704993 A CN202110704993 A CN 202110704993A CN 113569333 A CN113569333 A CN 113569333A
- Authority
- CN
- China
- Prior art keywords
- aircraft
- platform
- simulation
- instructions
- precompiled
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/10—Geometric CAD
- G06F30/15—Vehicle, aircraft or watercraft design
-
- 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
- G06F8/315—Object-oriented languages
-
- 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/37—Compiler construction; Parser generation
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Geometry (AREA)
- Aviation & Aerospace Engineering (AREA)
- Automation & Control Theory (AREA)
- Computing Systems (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明实施例公开了基于预编译指令的多种飞行器仿真模型并行开发维护方法。方法包括:创建通用飞行器仿真平台的项目;对平台的应用程序头文件中引入名称信息;构建飞行仿真模型的C++类体系;在非头文件中,使用预编译指令编写只适用于特定飞行器种类的代码;使用预编译指令编写只适用于特定飞行器型号的代码;使用预编译指令进行平台界面的转换;平台中创建全部的仿真模型;把通用飞行器仿真平台转化为飞行器仿真平台、特定的飞行器种类或者型号仿真平台;并行仿真全部飞行器;通过通用飞行器仿真平台进行单独飞行器仿真模型的处理。通过实施本发明实施例的方法可实现能够显著降低飞行器仿真模型的开发、维护和升级成本。
Description
技术领域
本发明涉及飞行器仿真模型,更具体地说是指基于预编译指令的多种飞行器仿真模型并行开发维护方法。
背景技术
在构建复杂的仿真系统时,往往需要开发和维护多种飞行器的仿真模型。例如“空天防御仿真系统”,通常需要弹道导弹仿真模型、拦截弹仿真模型、卫星仿真模型、轨道转移飞行器仿真模型、飞机仿真模型等。在开发飞行器仿真模型时,不仅需要构建飞行器本身模型,同时也要进行飞行器的动力学仿真计算,为其他复杂仿真系统提供飞行弹道、姿态角等数据。因此,开发仿真模型时,通常都需要建立一个仿真平台,该仿真平台中能够设置飞行器的各种参数,能够进行动力学仿真计算,甚至为了提高开发效率,能够自动测试飞行器仿真模型,以验证飞行器参数的合理性以及仿真建模的正确性。
当同时开发和维护这些仿真模型时,这些飞行器的仿真模型具有很多的通用代码,例如动力学仿真代码、推力仿真代码、发动机仿真代码、结构仿真代码、导引律仿真代码等,这些代码没有必要针对每个飞行器单独开发,可以重复使用,但是怎样实现这些代码的重复使用,极大影响了飞行器仿真模型开发和维护的工作效率。
目前有四种飞行器仿真模型开发方法,一种是针对每种飞行器仿真模型都单独开发的一个仿真平台进行开发和测试。代码复用采用在每个平台中都直接复制使用;这种方案是在开发初期,能够快速开发多种飞行器的仿真模型。其缺点是难以保持通用代码的唯一性,即当通用性代码进行纠错或者升级时,需要启动全部的仿真平台,逐个进行修改和测试,同样的工作重复多遍,并且可能由于各仿真平台之间的差异性,更改的方式还可能不完全一样,随着开发的仿真模型的种类增加,各种飞行器仿真平台难以同时实现升级和维护,导致通用性代码在不同的平台上不能同步更新和升级,通用性代码没有最新的版本,而是分散于各种飞行器的仿真平台中,最终放弃维护通用代码,仿真模型的开发效率最差;第二种方法是、针对每种飞行器仿真模型都单独开发的一个仿真平台进行开发和测试,代码复用使用C语言的链接库技术,即把通用代码以函数的形式放在链接库中,同时提供链接库的头文件,然后各种飞行器仿真模型的仿真平台都通过静态或者动态链接库的方式共用通用代码;但是这种方法存在以下缺点:一是需要单独开发和维护链接库程序,如果对链接库中的函数进行修改,则需要启动全部的飞行器仿真平台进行测试,以验证链接库修改的正确性,并且在飞行器仿真模型的开发过程中如果库函数出现错误,定位和调试都比较困难;二是使用C语言的链接库技术,只能实现全局C函数的复用,很难实现C++类的复用,在复杂的飞行器仿真建模中,为了提高建模的工作效率,通常采用面向对象设计技术,函数绝大多数是类成员函数,为了应用C语言的链接库技术,需要把类成员函数转换成全局C函数,或者采用其他特殊手段实现C++类的库函数,无论哪种方法都增加了编程工作量和复杂性,同时将导致仿真系统的面向对象设计逻辑混乱,显著降低了系统的可维护性;第三种方法是针对全部的飞行器仿真模型开发一个通用的飞行器仿真平台进行开发和测试,全部飞行器仿真模型通过面向对象设计技术使用通用代码,即在仿真平台里构建了一个C++类库,通过C++类的派生技术,不同种类的飞行器仿真模型从适当的C++类中派生出来,这种方式的通用代码是以C++类的形式进行重复使用,因此开发新的飞行器仿真模型的效率高,代码修改和升级维护也非常简单,极大限度地实现了代码复用,符合敏捷软件开发的原则,但是这种方法是全部飞行器仿真模型都在一个仿真平台内,随着飞行器仿真模型种类的增加,仿真平台在编译时,会编译全部飞行器仿真模型代码,导致编译速度随着飞行器种类增加而逐渐降低,导致逐渐降低仿真模型开发工作的效率;且仿真平台的显示和操作界面会随着飞行器数量逐渐增多而逐渐复杂,导致操作不方便,甚至没有足够的平台界面显示全部飞行器的操作界面;第四种方法是开发若干个通用仿真平台,每个仿真平台能够开发特定种类的飞行器,具有一定的通用性。例如分别开发通用高超声速飞行器仿真平台、通用卫星仿真平台、通用拦截弹仿真平台等,在每个仿真平台内都通过面向对象设计技术使用通用代码,开发新的仿真模型的效率高,但是没有实现仿真平台之间通用代码的重复使用,一是不同种类的飞行器的仿真代码仍有一些是通用的,例如动力学仿真代码、发动机仿真代码等;二是各个仿真平台的框架代码有一些是通用的,例如平台的显示界面代码、仿真建模过程中的通用工具程序等,若要重复使用上述这些代码,可以采用直接复制,或者使用链接库技术,因此将分别具有第一种方法的缺点或者第二种方法的缺点。
因此,有必要设计一种新的方法,实现从根本上保证同时开发各种飞行器仿真模型的高效性,能够显著降低飞行器仿真模型的开发、维护和升级成本。
发明内容
本发明的目的在于克服现有技术的缺陷,提供基于预编译指令的多种飞行器仿真模型并行开发维护方法。
为实现上述目的,本发明采用以下技术方案:基于预编译指令的多种飞行器仿真模型并行开发维护方法,包括:
创建通用飞行器仿真平台的项目;
对平台的应用程序头文件中引入需要仿真的飞行器的名称信息;
构建飞行仿真模型的C++类体系;
在所述项目的非头文件的文件中,使用预编译指令编写只适用于特定飞行器种类的代码;
使用预编译指令编写只适用于特定飞行器型号的代码;
使用预编译指令进行平台界面的转换;
使用预编译指令在平台中创建全部的仿真模型;
通过预编译指令把通用飞行器仿真平台转化为飞行器仿真平台、特定的飞行器种类或者型号仿真平台;
通过预编译指令并行仿真全部飞行器;
通过通用飞行器仿真平台进行单独飞行器仿真模型的处理。
其进一步技术方案为:所述对平台的应用程序头文件中引入需要仿真的飞行器的名称信息,包括:
在所述项目中,构建一个头文件;
在所述头文件中定义需要仿真的全部飞行器种类的专有名称;
在所述头文件中定义属于同种飞行器但不同型号的多种飞行器的专有名称;
在平台的应用程序头文件中引入定义后的所述头文件。
其进一步技术方案为:所述使用预编译指令进行平台界面的转换,包括:
在平台中调用平台标题名称的资源文件ID;
使用预编译指令进行平台界面工具栏的转换。
其进一步技术方案为:所述通过预编译指令把通用飞行器仿真平台转化为飞行器仿真平台、特定的飞行器种类或者型号仿真平台,包括:
在定义后的所述头文件中,注释不需要仿真的飞行器仿真模型的专有名称,以将通用飞行器仿真平台转化为飞行器仿真平台、特定的飞行器种类或者型号仿真平台。
其进一步技术方案为:所述通过预编译指令并行仿真全部飞行器,包括:
在定义后的所述头文件中,定义需要仿真的飞行器仿真模型的专有名称。
其进一步技术方案为:所述通过通用飞行器仿真平台进行单独飞行器仿真模型的处理,包括:
采用WM_COPYDATA消息机制对通用飞行器仿真平台进行处理,以进行单独飞行器仿真模型的处理。
其进一步技术方案为:所述通过通用飞行器仿真平台进行单独飞行器仿真模型的处理之后,还包括:
使用预编译指令进行一键测试全部飞行器仿真模型。
本发明还提供了基于预编译指令的多种飞行器仿真模型并行开发装置,包括:
项目创建单元,用于创建通用飞行器仿真平台的项目;
信息引入单元,用于对平台的应用程序头文件中引入需要仿真的飞行器的名称信息;
体系构建单元,用于构建飞行仿真模型的C++类体系;
第一编写单元,用于在所述项目的非头文件的文件中,使用预编译指令编写只适用于特定飞行器种类的代码;
第二编写单元,用于使用预编译指令编写只适用于特定飞行器型号的代码;
转换单元,用于使用预编译指令进行平台界面的转换;
模型创建单元,用于使用预编译指令在平台中创建全部的仿真模型;
转化单元,用于通过预编译指令把通用飞行器仿真平台转化为飞行器仿真平台、特定的飞行器种类或者型号仿真平台;
并行仿真单元,用于通过预编译指令并行仿真全部飞行器;
处理单元,用于通过通用飞行器仿真平台进行单独飞行器仿真模型的处理。
本发明还提供了一种计算机设备,所述计算机设备包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现上述的方法。
本发明还提供了一种存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时可实现上述的方法。
本发明与现有技术相比的有益效果是:本发明通过构建通用飞行器仿真平台的项目,并依据该项目进行名称信息的定义和引入,设定类体系,使用预编译指令编写对应的代码后,转换成不同飞行器的仿真模型,实现从根本上保证同时开发各种飞行器仿真模型的高效性,能够显著降低飞行器仿真模型的开发、维护和升级成本。
下面结合附图和具体实施例对本发明作进一步描述。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的基于预编译指令的多种飞行器仿真模型并行开发维护方法的流程示意图;
图2为本发明实施例提供的基于预编译指令的多种飞行器仿真模型并行开发维护方法的子流程示意图;
图3为本发明实施例提供的基于预编译指令的多种飞行器仿真模型并行开发维护方法的子流程示意图;
图4为本发明实施例提供的推进剂的面向对象设计结果的示意图;
图5为本发明实施例提供的导引律的面向对象设计结果的示意图;
图6为本发明实施例提供的仿真一种动能拦截器型号的仿真平台界面的示意图;
图7为本发明实施例提供的上面级仿真平台界面的示意图;
图8为本发明实施例提供的仿真一种动能拦截器型号、二种上面级型号、一种重复使用运载器型号的仿真平台界面;
图9为本发明实施例提供的工具栏在伸缩前后的对比示意图
图10为本发明另一实施例提供的基于预编译指令的多种飞行器仿真模型并行开发维护方法的流程示意图;
图11为本发明实施例提供的基于预编译指令的多种飞行器仿真模型并行开发装置的示意性框图;
图12为本发明实施例提供的基于预编译指令的多种飞行器仿真模型并行开发装置的信息引入单元的示意性框图;
图13为本发明实施例提供的基于预编译指令的多种飞行器仿真模型并行开发装置的转换单元的示意性框图;
图14为本发明另一实施例提供的基于预编译指令的多种飞行器仿真模型并行开发装置的示意性框图;
图15为本发明实施例提供的计算机设备的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
请参阅图1,图1为本发明实施例提供的基于预编译指令的多种飞行器仿真模型并行开发维护方法的示意性流程图。该基于预编译指令的多种飞行器仿真模型并行开发维护方法应用于终端中。
图1是本发明实施例提供的基于预编译指令的多种飞行器仿真模型并行开发维护方法的流程示意图。如图1所示,该方法包括以下步骤S110至S200。
S110、创建通用飞行器仿真平台的项目。
在本实施例中,通用飞行器仿真平台的项目是指使用预编译指令开发一个通用飞行器仿真平台。
通用飞行器仿真平台能够同时开发多种类、多型号的飞行器仿真模型,这些飞行器仿真模型通过面向对象技术共同使用通用代码,不仅包括飞行器的仿真代码,也包括仿真平台的框架代码,最大程度地重复使用了通用代码。该平台能够通过预编译指令方便地转换为单独飞行器的仿真平台,该转换的工作量非常小,即注释掉源文件中某处的若干行代码,代码修改时间小于30秒,能够通过预编译指令方便地转换为指定种类或者型号的若干飞行器的仿真平台,该转换的工作量非常小,即注释掉源文件中某处的若干行代码,代码修改时间小于30秒,能够一键测试开发的全部飞行器仿真模型,因此能够方便地修改任何源代码,能够以进程间通信的方式为其他仿真系统提供飞行器仿真模块,代码重复使用效率高、开发新的飞行器仿真模型方便快捷,显著降低了飞行器仿真模型开发、维护和升级成本。
在本实施例中,在VC++6.0中,即创建基于MFC(微软基础类库,MicrosoftFoundation Classes)单文档框架的exe程序;由此形成通用飞行器仿真平台的项目。
S120、对平台的应用程序头文件中引入需要仿真的飞行器的名称信息。
在本实施例中,名称信息包括需要仿真的全部飞行器种类的专有名称以及属于同种飞行器但不同型号的多种飞行器的专有名称。
在一实施例中,请参阅图2,上述的步骤S120可包括步骤S121~S124。
S121、在所述项目中,构建一个头文件。
在通用飞行器仿真平台的项目中,构建头文件Player.h。
S122、在所述头文件中定义需要仿真的全部飞行器种类的专有名称。
在本实施例中,在头文件“Player.h”中,为需要仿真的全部飞行器仿真模型种类都定义一个专有名称,比如:#define Vehicle1 1;#define Vehicle2 1;#defineVehicle3 1;Vehicle1就是飞行器仿真模型种类1的专有名称,Vehicle2就是飞行器仿真模型种类2的专有名称,Vehicle3就是飞行器仿真模型种类3的专有名称。
S123、在所述头文件中定义属于同种飞行器但不同型号的多种飞行器的专有名称。
在本实施例中,在头文件Player.h中,为属于同种飞行器但是不同型号的多种飞行器定义专有名称。例如,如果飞行器Vehicle2种类具有3种不同的型号飞行器,则在头文件Player.h为每个飞行器定义如下:#define Vehicle2_1 1;#define Vehicle2_2 1;#define Vehicle2_3 1;#ifdef Vehicle2_1;#define Vehicle2;#endif;#ifdefVehicle2_2;#define Vehicle2;#endif;#ifdef Vehicle2_3;#define Vehicle2;#endif。
S124、在平台的应用程序头文件中引入定义后的所述头文件。
在本实施例中,在平台的App头文件中引用该头文件Player.h,即#include"Player.h"。
于其他实施例中,不单独定义头文件Player.h,而是在平台的APP头文件中,直接定义全部的飞行器仿真模型的专有名称。不在平台的App头文件中引用头文件Player.h,而是手动在几乎全部的源文件都引用到Player.h,即#include"Player.h"。
S130、构建飞行仿真模型的C++类体系。
在本实施例中,C++类体系是指由不同飞行器类型构成的模型的体系。
应用面向对象程序设计思想,构建各种飞行器仿真模型的C++类体系,最大程度地实现代码复用。例如推进剂的类体系可以设计如图4所示;不仅对实体类建立C++体系,对抽象的导引控制类也建立相应的C++类体系。例如,导引律的类体系可以设计如图5所示。
S140、在所述项目的非头文件的文件中,使用预编译指令编写只适用于特定飞行器种类的代码。
在本实施例中,在项目的其他文件中,使用预编译指令编写只适用于特定飞行器种类的代码。例如,对飞行器Vehicle2的特殊处理代码为:#ifdef Vehicle2;XXXXX(针对Vehicle2的特殊处理代码);#else XXXX(不针对Vehicle2的处理代码);#end。
S150、使用预编译指令编写只适用于特定飞行器型号的代码。
在本实施例中,使用预编译指令编写只适用于特定飞行器型号的代码。例如,飞行器Vehicle2种类具有3种不同的型号飞行器Vehicle2_1、Vehicle2_2、Vehicle2_3,对飞行器Vehicle2_2的特殊处理代码如下所示:#ifdef Vehicle2_2;XXXXX(针对Vehicle2_2的特殊处理代码);#else XXXX(不针对Vehicle2_2的处理代码);#endif。
在开发动能拦截器的多种型号的仿真模型时,其中每一种型号的飞行器的参数(质量、导引律、发动机推力、姿控发动机布局)都可能不同。在编写飞行器的参数代码时,如下所示::#ifdef Vehicle2_1;M_dMass=1000;#endif;#ifdef Vehicle2_2;M_dMass=800;#ifdef Vehicle2_3;M_dMass=1200;#endif。
S160、使用预编译指令进行平台界面的转换。
请参阅图6至图8,该仿真平台可以通过预编译指令转换为单独一种飞行器型号的仿真平台,也可以转换为一类飞行器的仿真平台,也可以转换为指定的若干种类或者型号的飞行器仿真平台。相应的,平台的界面也要具有相应的多种样式。
在一实施例中,请参阅图3,上述的步骤S160可包括步骤S161~S162。
S161、在平台中调用平台标题名称的资源文件ID。
在平台中需要调用平台标题名称的资源文件ID,如果平台只仿真Vehicle2种类的飞行器,则具体代码为:INT CMainFrame::GetIDTitle()conset{#ifdef Vehicle2;#ifdef Vehicle1;#ifdef Vehicle3;return IDB_TITLE_VEHCILE_2;#endif;#endif;#endif}。
S162、使用预编译指令进行平台界面工具栏的转换。
当同时仿真全部飞行器时,随着飞行器数量增多,工具栏的按钮将越来越多,占用的工具栏界面也将越来越大,但是平台界面的总空间是有限的,如果工具栏的行数增多,则会影响其他飞行器参数的显示界面,因此需要工具栏具有缩放功能。具体实现方法为,采用MFC的CRebar类来实现用户操作界面中的工具栏,CRebar类可以承载多种类型的子窗口控件,例如工具栏、编辑框、列表框、按钮等。采用CRebar类的优势在于每一个工具栏都可以通过左侧的伸缩钳进行伸缩,可以把暂时不需要的工具栏隐藏起来,达到节省操作界面的问题,伸缩的效果如图9所示。图9包括收缩前的工具栏以及收缩后的工具栏,对应每个飞行器的工具按钮在收缩后只剩下其参数设置的按钮,点击其左侧的伸缩钳后会展开其他的工具按钮。
S170、使用预编译指令在平台中创建全部的仿真模型。
在本实施例中,使用预编译指令在平台中创建全部的仿真模型,例如,如果通用仿真平台总共开发了Vehicle1、Vehicle2、Vehicle3飞行器仿真模型,那么使用预编译指令创建全部的仿真模型的代码为:#ifdef Vehicle1;m_pVehice1=new CVehicle1;#endif;#ifdef Vehicle2;m_pVehice1=new CVehicle2;#endif;#ifdef Vehicle3;m_pVehice1=new CVehicle3;#endif。其中,CVehicle1、CVehicle2、CVehicle3分别为飞行器Vehicle1、Vehicle2、Vehicle3对应的飞行器仿真C++类。
S180、通过预编译指令把通用飞行器仿真平台转化为飞行器仿真平台、特定的飞行器种类或者型号仿真平台。
在本实施例中,在定义后的所述头文件中,注释不需要仿真的飞行器仿真模型的专有名称,以将通用飞行器仿真平台转化为飞行器仿真平台、特定的飞行器种类或者型号仿真平台。
在头文件Player.h中,注释掉不需要仿真的飞行器仿真模型的专有名称。例如,如果通用仿真平台总共开发了Vehicle1、Vehicle2、Vehicle3飞行器仿真模型,那么把通用仿真平台转化为飞行器Vehicle2的仿真平台的实现方法,//#define Vehicle1 1;#defineVehicle2 1;//#define Vehicle3 1。该方法把除了Vehicle2的其他的飞行器仿真模型的专有定义都通过“//”注释掉,那么程序在编译时,将仅编译Vehicle2相关的代码。因此,平台的编译和运行速度不会因为通用仿真平台开发的模型数量的增加而减慢。
S190、通过预编译指令并行仿真全部飞行器;
在本实施例中,在定义后的所述头文件中,定义需要仿真的飞行器仿真模型的专有名称。
在头文件Player.h中,注释掉不需要仿真的飞行器仿真模型的专有名称。例如,如果通用仿真平台总共开发了Vehicle1、Vehicle2、Vehicle3飞行器仿真模型,那么把通用仿真平台转化为飞行器Vehicle1和Vehicle3的仿真平台,则使头文件Player.h中的代码为#define Vehicle1 1;//#define Vehicle2 1;//#define Vehicle3 1。
S200、通过通用飞行器仿真平台进行单独飞行器仿真模型的处理。
在本实施例中,采用WM_COPYDATA消息机制对通用飞行器仿真平台进行处理,以进行单独飞行器仿真模型的处理。
通用仿真平台开发的飞行器仿真模型往往需要整合到其他的复杂仿真系统中,不仅需要接收复杂仿真系统提供的一些信息,而且需要为复杂仿真系统提供飞行器仿真模型的飞行弹道和姿态等数据。
如果把仿真模型的代码提取出来与其他的仿真系统进行融合,由于在仿真模型开发过程中,开发了数百个C++类,代码数量通常数万行,模型复杂度越高,代码量越大,因此不适合在代码层次面上进行整合。因此,通用仿真平台应该作为1个整体模块,与其他复杂仿真系统进行数据通信。即能够实时接收其他仿真系统提供的数据,又可以实时传输出自己的仿真运行结果。
在Windows操作系统下,通用仿真平台可以作为1个进程,采用进程间通信技术,实现与其他复杂仿真系统的实时通信,该方法可以保持仿真模型代码的独立性,对外部复杂仿真系统的耦合度最小,具体实现方法为,建立相应飞行器的仿真模型接口类,在该接口类中生成飞行器仿真模型子进程即由通用仿真平台转化的单独的飞行器仿真平台,并通过进程间通信实现数据交换的接口功能。进程间的通信方式有很多种,例如使用自定义消息、使用内存读写函数和内存映射文件,使用动态链接库、使用Windows剪帖板,使用动态数据交换、消息管道等。在本实施例中,由于进程间实时传输的数据量通常是时间、位置、速度和姿态等信息较小,因此采用了Win32提供的WM_COPYDATA消息机制,具体实现方法参照相关编程技术书籍即可。
本实施例的方法能够自动验证仿真平台的通用代码的正确性、合理性和有效性。在平台上开发了多种飞行器模型仿真模型后,平台的通用代码被多种类和型号的飞行器的仿真过程验证有效,因此本方案自动保证了平台的各种通用代码的正确性、合理性和有效性,且通用代码的验证是自动保证的;编译运行速度快。通过预编译指令注释掉不需要仿真的飞行器的专有名称,在程序编译之前时,就自动剔除掉不需要仿真的飞行器的全部源代码,仿真平台中仿真模型数量的增加不会影响程序编译和运行速度。调用通用代码方便、程序开发工作效率高;平台能够通过预编译指令转化为一个飞行器或者指定的几个飞行器的仿真平台,此时平台的操作界面和编译运行速度是与单独开发一个或者指定几个飞行器的仿真平台是一样的,但是编程过程中却可以调用全部飞行器仿真模型的通用代码,调用的方式是直接引用源文件中的函数即可。通用代码数量越来越多、仿真平台越来越可靠,随着飞行器仿真数量的增加,平台的通用代码将越来越多,仿真平台将越来越可靠,新飞行器仿真模型可以方便重用现有代码,新飞行器仿真模型的开发速度将越来越快。代码重复使用的粒度大、程序开发效率高。开发新的飞行器仿真模型时,从现有的C++类直接派生所需的C++类,代码的重复使用粒度是C++类,1个C++类通常包含若干函数,能够在更高级别的C++类层次上实现代码复用,因此程序开发效率更高。极大限度地实现了代码复用,不仅实现了飞行器仿真代码的重复使用,也实现了平台的显示界面代码、通用工具程序代码的重复使用。能够自动保证了飞行器仿真模型版本的最新性,任何时刻,飞行器仿真模型的最新版本都是存在于当前最新的通用仿真平台中,因此,自动保证了飞行器仿真模型版本的最新性。
本实施例同时开发和维护多种飞行器仿真模型,能够最大程度地重复使用通用代码,不仅包括飞行器的仿真代码,也包括仿真平台的框架代码,能够方便地修改任何源代码,能够快捷创建新的飞行器仿真模型,能够为其他复杂仿真系统提供飞行器仿真模块,实现提高仿真模型开发和维护工作效率的目的。通过使用预编译指令技术开发一个通用飞行器仿真平台,该平台能够同时开发和维护多种飞行器仿真模型,能够通过预编译指令编译成单独飞行器的仿真平台,或者指定若干个飞行器仿真平台,能够通过进程间通信方式为其他仿真系统提供飞行器仿真模块,能够一键测试全部的飞行器仿真模型,极大限度地实现了代码重复使用,能够在飞行器仿真模型种类增加的情况下不增加程序编译时间,显著降低了各仿真模型开发和升级维护的成本。
上述的基于预编译指令的多种飞行器仿真模型并行开发维护方法,通过构建通用飞行器仿真平台的项目,并依据该项目进行名称信息的定义和引入,设定类体系,使用预编译指令编写对应的代码后,转换成不同飞行器的仿真模型,实现从根本上保证同时开发各种飞行器仿真模型的高效性,能够显著降低飞行器仿真模型的开发、维护和升级成本。
图10是本发明另一实施例提供的一种基于预编译指令的多种飞行器仿真模型并行开发维护方法的流程示意图。如图10所示,本实施例的基于预编译指令的多种飞行器仿真模型并行开发维护方法包括步骤S310-S410。其中步骤S310-S400与上述实施例中的步骤S110-S200类似,在此不再赘述。下面详细说明本实施例中所增加的步骤S410。
S410、使用预编译指令进行一键测试全部飞行器仿真模型。
为每个飞行器仿真模型实现测试函数Test(),该函数能够测试飞行器仿真模型的各种参数设置的合理性,计算和存储飞行弹道、姿态角、推力等各种飞行参数;在通用仿真平台上建立“测试”按钮,按钮对应的函数包括代码:#ifdef Vehicle1;m_pVehicle1->Test();#endif;#ifdef Vehicle2;m_pVehicle2->Test();#endif;#ifdef Vehicle3;m_pVehicle3->Test();#endif。把通用仿真平台转换成并行仿真全部飞行器的仿真平台,此时运行平台的“测试”功能,即可同时测试全部飞行器仿真模型
能够自动实现已开发全部飞行器仿真模型的持续性维护和升级,在平台的持续开发过程中,任何对代码的修改、维护和升级,都可以通过平台的“一键测试”功能,自动测试已有的全部飞行器仿真模型,可以自动保证全部飞行器仿真模型的持续性维护和升级。代码修改方便,实现“一键测试”全部飞行器仿真模型的功能后,每当进行任何代码修改时,可以一键测试全部飞行器仿真模型,能够立刻知道该修改对全部仿真模型的影响程度,如果没有任何异常,则说明此次代码修改正确,代码修改工作完成,否则需要进一步修改,由于所有的源代码都在平台所在的项目中,可以直接故障定位并修改源代码。
图11是本发明实施例提供的一种基于预编译指令的多种飞行器仿真模型并行开发装置300的示意性框图。如图11所示,对应于以上基于预编译指令的多种飞行器仿真模型并行开发维护方法,本发明还提供一种基于预编译指令的多种飞行器仿真模型并行开发装置300。该基于预编译指令的多种飞行器仿真模型并行开发装置300包括用于执行上述基于预编译指令的多种飞行器仿真模型并行开发维护方法的单元,该装置可以被配置于台式电脑、平板电脑、手提电脑、等终端中。具体地,请参阅图11,该基于预编译指令的多种飞行器仿真模型并行开发装置300包括项目创建单元301、信息引入单元302、体系构建单元303、第一编写单元304、第二编写单元305、转换单元306、模型创建单元307、转化单元308、并行仿真单元309以及处理单元310。
项目创建单元301,用于创建通用飞行器仿真平台的项目;信息引入单元302,用于对平台的应用程序头文件中引入需要仿真的飞行器的名称信息;体系构建单元303,用于构建飞行仿真模型的C++类体系;第一编写单元304,用于在所述项目的非头文件的文件中,使用预编译指令编写只适用于特定飞行器种类的代码;第二编写单元305,用于使用预编译指令编写只适用于特定飞行器型号的代码;转换单元306,用于使用预编译指令进行平台界面的转换;模型创建单元307,用于使用预编译指令在平台中创建全部的仿真模型;转化单元308,用于通过预编译指令把通用飞行器仿真平台转化为飞行器仿真平台、特定的飞行器种类或者型号仿真平台;并行仿真单元309,用于通过预编译指令并行仿真全部飞行器;处理单元310,用于通过通用飞行器仿真平台进行单独飞行器仿真模型的处理。
在一实施例中,如图12所示,所述信息引入单元302包括头文件构建子单元3021、第一定义子单元3022、第二定义子单元3023以及引入子单元3024。
头文件构建子单元3021,用于在所述项目中,构建一个头文件;第一定义子单元3022,用于在所述头文件中定义需要仿真的全部飞行器种类的专有名称;第二定义子单元3023,用于在所述头文件中定义属于同种飞行器但不同型号的多种飞行器的专有名称;引入子单元3024,用于在平台的应用程序头文件中引入定义后的所述头文件。
在一实施例中,如图13所示,所述转换单元306包括调用子单元3061以及工具栏转换子单元3062。
调用子单元3061,用于在平台中调用平台标题名称的资源文件ID;工具栏转换子单元3062,用于使用预编译指令进行平台界面工具栏的转换。
在一实施例中,所述转化单元308,用于在定义后的所述头文件中,注释不需要仿真的飞行器仿真模型的专有名称,以将通用飞行器仿真平台转化为飞行器仿真平台、特定的飞行器种类或者型号仿真平台。
在一实施例中,所述并行仿真单元309,用于在定义后的所述头文件中,定义需要仿真的飞行器仿真模型的专有名称。
在一实施例中,所述处理单元310,用于采用WM_COPYDATA消息机制对通用飞行器仿真平台进行处理,以进行单独飞行器仿真模型的处理。
图14是本发明另一实施例提供的一种基于预编译指令的多种飞行器仿真模型并行开发装置300的示意性框图。如图14所示,本实施例的基于预编译指令的多种飞行器仿真模型并行开发装置300是上述实施例的基础上增加了一键测试单元311。
一键测试单元311,用于使用预编译指令进行一键测试全部飞行器仿真模型。
需要说明的是,所属领域的技术人员可以清楚地了解到,上述基于预编译指令的多种飞行器仿真模型并行开发装置300和各单元的具体实现过程,可以参考前述方法实施例中的相应描述,为了描述的方便和简洁,在此不再赘述。
上述基于预编译指令的多种飞行器仿真模型并行开发装置300可以实现为一种计算机程序的形式,该计算机程序可以在如图15所示的计算机设备上运行。
请参阅图15,图15是本申请实施例提供的一种计算机设备的示意性框图。该计算机设备500可以是终端,也可以是服务器,其中,终端可以是智能手机、平板电脑、笔记本电脑、台式电脑、个人数字助理和穿戴式设备等具有通信功能的电子设备。
参阅图15,该计算机设备500包括通过系统总线501连接的处理器502、存储器和网络接口505,其中,存储器可以包括非易失性存储介质503和内存储器504。
该非易失性存储介质503可存储操作系统5031和计算机程序5032。该计算机程序5032包括程序指令,该程序指令被执行时,可使得处理器502执行一种基于预编译指令的多种飞行器仿真模型并行开发维护方法。
该处理器502用于提供计算和控制能力,以支撑整个计算机设备500的运行。
该内存储器504为非易失性存储介质503中的计算机程序5032的运行提供环境,该计算机程序5032被处理器502执行时,可使得处理器502执行一种基于预编译指令的多种飞行器仿真模型并行开发维护方法。
该网络接口505用于与其它设备进行网络通信。本领域技术人员可以理解,图15中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备500的限定,具体的计算机设备500可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
其中,所述处理器502用于运行存储在存储器中的计算机程序5032,以实现如下步骤:
创建通用飞行器仿真平台的项目;对平台的应用程序头文件中引入需要仿真的飞行器的名称信息;构建飞行仿真模型的C++类体系;在所述项目的非头文件的文件中,使用预编译指令编写只适用于特定飞行器种类的代码;使用预编译指令编写只适用于特定飞行器型号的代码;使用预编译指令进行平台界面的转换;使用预编译指令在平台中创建全部的仿真模型;通过预编译指令把通用飞行器仿真平台转化为飞行器仿真平台、特定的飞行器种类或者型号仿真平台;通过预编译指令并行仿真全部飞行器;通过通用飞行器仿真平台进行单独飞行器仿真模型的处理。
在一实施例中,处理器502在实现所述对平台的应用程序头文件中引入需要仿真的飞行器的名称信息步骤时,具体实现如下步骤:
在所述项目中,构建一个头文件;在所述头文件中定义需要仿真的全部飞行器种类的专有名称;在所述头文件中定义属于同种飞行器但不同型号的多种飞行器的专有名称;在平台的应用程序头文件中引入定义后的所述头文件。
在一实施例中,处理器502在实现所述使用预编译指令进行平台界面的转换步骤时,具体实现如下步骤:
在平台中调用平台标题名称的资源文件ID;使用预编译指令进行平台界面工具栏的转换。
在一实施例中,处理器502在实现所述通过预编译指令把通用飞行器仿真平台转化为飞行器仿真平台、特定的飞行器种类或者型号仿真平台步骤时,具体实现如下步骤:
在定义后的所述头文件中,注释不需要仿真的飞行器仿真模型的专有名称,以将通用飞行器仿真平台转化为飞行器仿真平台、特定的飞行器种类或者型号仿真平台。
在一实施例中,处理器502在实现所述通过预编译指令并行仿真全部飞行器步骤时,具体实现如下步骤:
在定义后的所述头文件中,定义需要仿真的飞行器仿真模型的专有名称。
在一实施例中,处理器502在实现所述通过通用飞行器仿真平台进行单独飞行器仿真模型的处理步骤时,具体实现如下步骤:
采用WM_COPYDATA消息机制对通用飞行器仿真平台进行处理,以进行单独飞行器仿真模型的处理。
在一实施例中,处理器502在实现所述通过通用飞行器仿真平台进行单独飞行器仿真模型的处理步骤之后,还实现如下步骤:
使用预编译指令进行一键测试全部飞行器仿真模型。
应当理解,在本申请实施例中,处理器502可以是中央处理单元310(CentralProcessing Unit,CPU),该处理器502还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
本领域普通技术人员可以理解的是实现上述实施例的方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成。该计算机程序包括程序指令,计算机程序可存储于一存储介质中,该存储介质为计算机可读存储介质。该程序指令被该计算机系统中的至少一个处理器执行,以实现上述方法的实施例的流程步骤。
因此,本发明还提供一种存储介质。该存储介质可以为计算机可读存储介质。该存储介质存储有计算机程序,其中该计算机程序被处理器执行时使处理器执行如下步骤:
创建通用飞行器仿真平台的项目;对平台的应用程序头文件中引入需要仿真的飞行器的名称信息;构建飞行仿真模型的C++类体系;在所述项目的非头文件的文件中,使用预编译指令编写只适用于特定飞行器种类的代码;使用预编译指令编写只适用于特定飞行器型号的代码;使用预编译指令进行平台界面的转换;使用预编译指令在平台中创建全部的仿真模型;通过预编译指令把通用飞行器仿真平台转化为飞行器仿真平台、特定的飞行器种类或者型号仿真平台;通过预编译指令并行仿真全部飞行器;通过通用飞行器仿真平台进行单独飞行器仿真模型的处理。
在一实施例中,所述处理器在执行所述计算机程序而实现所述对平台的应用程序头文件中引入需要仿真的飞行器的名称信息步骤时,具体实现如下步骤:
在所述项目中,构建一个头文件;在所述头文件中定义需要仿真的全部飞行器种类的专有名称;在所述头文件中定义属于同种飞行器但不同型号的多种飞行器的专有名称;在平台的应用程序头文件中引入定义后的所述头文件。
在一实施例中,所述处理器在执行所述计算机程序而实现所述使用预编译指令进行平台界面的转换步骤时,具体实现如下步骤:
在平台中调用平台标题名称的资源文件ID;使用预编译指令进行平台界面工具栏的转换。
在一实施例中,所述处理器在执行所述计算机程序而实现所述通过预编译指令把通用飞行器仿真平台转化为飞行器仿真平台、特定的飞行器种类或者型号仿真平台步骤时,具体实现如下步骤:
在定义后的所述头文件中,注释不需要仿真的飞行器仿真模型的专有名称,以将通用飞行器仿真平台转化为飞行器仿真平台、特定的飞行器种类或者型号仿真平台。
在一实施例中,所述处理器在执行所述计算机程序而实现所述通过预编译指令并行仿真全部飞行器步骤时,具体实现如下步骤:
在定义后的所述头文件中,定义需要仿真的飞行器仿真模型的专有名称。
在一实施例中,所述处理器在执行所述计算机程序而实现所述通过通用飞行器仿真平台进行单独飞行器仿真模型的处理步骤时,具体实现如下步骤:
采用WM_COPYDATA消息机制对通用飞行器仿真平台进行处理,以进行单独飞行器仿真模型的处理。
在一实施例中,所述处理器在执行所述计算机程序而实现所述通过通用飞行器仿真平台进行单独飞行器仿真模型的处理步骤之后,还实现如下步骤:
使用预编译指令进行一键测试全部飞行器仿真模型。
所述存储介质可以是U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的计算机可读存储介质。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的。例如,各个单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。本发明实施例装置中的单元可以根据实际需要进行合并、划分和删减。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元310中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。
该集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,终端,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (10)
1.基于预编译指令的多种飞行器仿真模型并行开发维护方法,其特征在于,包括:
创建通用飞行器仿真平台的项目;
对平台的应用程序头文件中引入需要仿真的飞行器的名称信息;
构建飞行仿真模型的C++类体系;
在所述项目的非头文件的文件中,使用预编译指令编写只适用于特定飞行器种类的代码;
使用预编译指令编写只适用于特定飞行器型号的代码;
使用预编译指令进行平台界面的转换;
使用预编译指令在平台中创建全部的仿真模型;
通过预编译指令把通用飞行器仿真平台转化为飞行器仿真平台、特定的飞行器种类或者型号仿真平台;
通过预编译指令并行仿真全部飞行器;
通过通用飞行器仿真平台进行单独飞行器仿真模型的处理。
2.根据权利要求1所述的基于预编译指令的多种飞行器仿真模型并行开发维护方法,其特征在于,所述对平台的应用程序头文件中引入需要仿真的飞行器的名称信息,包括:
在所述项目中,构建一个头文件;
在所述头文件中定义需要仿真的全部飞行器种类的专有名称;
在所述头文件中定义属于同种飞行器但不同型号的多种飞行器的专有名称;
在平台的应用程序头文件中引入定义后的所述头文件。
3.根据权利要求1所述的基于预编译指令的多种飞行器仿真模型并行开发维护方法,其特征在于,所述使用预编译指令进行平台界面的转换,包括:
在平台中调用平台标题名称的资源文件ID;
使用预编译指令进行平台界面工具栏的转换。
4.根据权利要求1所述的基于预编译指令的多种飞行器仿真模型并行开发维护方法,其特征在于,所述通过预编译指令把通用飞行器仿真平台转化为飞行器仿真平台、特定的飞行器种类或者型号仿真平台,包括:
在定义后的所述头文件中,注释不需要仿真的飞行器仿真模型的专有名称,以将通用飞行器仿真平台转化为飞行器仿真平台、特定的飞行器种类或者型号仿真平台。
5.根据权利要求1所述的基于预编译指令的多种飞行器仿真模型并行开发维护方法,其特征在于,所述通过预编译指令并行仿真全部飞行器,包括:
在定义后的所述头文件中,定义需要仿真的飞行器仿真模型的专有名称。
6.根据权利要求1所述的基于预编译指令的多种飞行器仿真模型并行开发维护方法,其特征在于,所述通过通用飞行器仿真平台进行单独飞行器仿真模型的处理,包括:
采用WM_COPYDATA消息机制对通用飞行器仿真平台进行处理,以进行单独飞行器仿真模型的处理。
7.根据权利要求1所述的基于预编译指令的多种飞行器仿真模型并行开发维护方法,其特征在于,所述通过通用飞行器仿真平台进行单独飞行器仿真模型的处理之后,还包括:
使用预编译指令进行一键测试全部飞行器仿真模型。
8.基于预编译指令的多种飞行器仿真模型并行开发装置,其特征在于,包括:
项目创建单元,用于创建通用飞行器仿真平台的项目;
信息引入单元,用于对平台的应用程序头文件中引入需要仿真的飞行器的名称信息;
体系构建单元,用于构建飞行仿真模型的C++类体系;
第一编写单元,用于在所述项目的非头文件的文件中,使用预编译指令编写只适用于特定飞行器种类的代码;
第二编写单元,用于使用预编译指令编写只适用于特定飞行器型号的代码;
转换单元,用于使用预编译指令进行平台界面的转换;
模型创建单元,用于使用预编译指令在平台中创建全部的仿真模型;
转化单元,用于通过预编译指令把通用飞行器仿真平台转化为飞行器仿真平台、特定的飞行器种类或者型号仿真平台;
并行仿真单元,用于通过预编译指令并行仿真全部飞行器;
处理单元,用于通过通用飞行器仿真平台进行单独飞行器仿真模型的处理。
9.一种计算机设备,其特征在于,所述计算机设备包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至7中任一项所述的方法。
10.一种存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时可实现如权利要求1至7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110704993.0A CN113569333B (zh) | 2021-06-24 | 2021-06-24 | 基于预编译指令的多种飞行器仿真模型并行开发维护方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110704993.0A CN113569333B (zh) | 2021-06-24 | 2021-06-24 | 基于预编译指令的多种飞行器仿真模型并行开发维护方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113569333A true CN113569333A (zh) | 2021-10-29 |
CN113569333B CN113569333B (zh) | 2023-02-17 |
Family
ID=78162596
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110704993.0A Active CN113569333B (zh) | 2021-06-24 | 2021-06-24 | 基于预编译指令的多种飞行器仿真模型并行开发维护方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113569333B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003345849A (ja) * | 2002-05-28 | 2003-12-05 | Nec Micro Systems Ltd | 論理シミュレーション方法および装置 |
JP2010033130A (ja) * | 2008-07-25 | 2010-02-12 | Internatl Business Mach Corp <Ibm> | シミュレーション方法、システム及びプログラム |
US20100169072A1 (en) * | 2008-12-29 | 2010-07-01 | Verizon Data Services India Private Limited | Multi-platform software application simulation systems and methods |
CN102567122A (zh) * | 2010-12-27 | 2012-07-11 | 北京国睿中数科技股份有限公司 | 多仿真验证平台下的处理器参考模型的通信接口方法 |
US20130125092A1 (en) * | 2011-11-11 | 2013-05-16 | General Electric Company | Generating deployable code from simulation models |
CN108228467A (zh) * | 2018-01-30 | 2018-06-29 | 北京航天长征飞行器研究所 | 一种嵌入式飞控软件算法快速验证方法及系统 |
CN109032577A (zh) * | 2018-06-27 | 2018-12-18 | 中国直升机设计研究所 | 一种数据仿真方法 |
CN109117125A (zh) * | 2018-07-20 | 2019-01-01 | 北京航空航天大学 | 数字飞行器多平台多运行模式源代码的人工智能书写方法 |
CN110674590A (zh) * | 2019-10-07 | 2020-01-10 | 中国人民解放军陆军装甲兵学院 | 一种基于仿真软件Simulink实时扩展RTX的飞行器实时仿真程序的编程方法 |
CN113010227A (zh) * | 2021-03-18 | 2021-06-22 | 南京仁谷系统集成有限公司 | 一种基于模型驱动的仿真平台实现方法 |
-
2021
- 2021-06-24 CN CN202110704993.0A patent/CN113569333B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003345849A (ja) * | 2002-05-28 | 2003-12-05 | Nec Micro Systems Ltd | 論理シミュレーション方法および装置 |
JP2010033130A (ja) * | 2008-07-25 | 2010-02-12 | Internatl Business Mach Corp <Ibm> | シミュレーション方法、システム及びプログラム |
US20100169072A1 (en) * | 2008-12-29 | 2010-07-01 | Verizon Data Services India Private Limited | Multi-platform software application simulation systems and methods |
CN102567122A (zh) * | 2010-12-27 | 2012-07-11 | 北京国睿中数科技股份有限公司 | 多仿真验证平台下的处理器参考模型的通信接口方法 |
US20130125092A1 (en) * | 2011-11-11 | 2013-05-16 | General Electric Company | Generating deployable code from simulation models |
CN108228467A (zh) * | 2018-01-30 | 2018-06-29 | 北京航天长征飞行器研究所 | 一种嵌入式飞控软件算法快速验证方法及系统 |
CN109032577A (zh) * | 2018-06-27 | 2018-12-18 | 中国直升机设计研究所 | 一种数据仿真方法 |
CN109117125A (zh) * | 2018-07-20 | 2019-01-01 | 北京航空航天大学 | 数字飞行器多平台多运行模式源代码的人工智能书写方法 |
CN110674590A (zh) * | 2019-10-07 | 2020-01-10 | 中国人民解放军陆军装甲兵学院 | 一种基于仿真软件Simulink实时扩展RTX的飞行器实时仿真程序的编程方法 |
CN113010227A (zh) * | 2021-03-18 | 2021-06-22 | 南京仁谷系统集成有限公司 | 一种基于模型驱动的仿真平台实现方法 |
Non-Patent Citations (4)
Title |
---|
元凯等: "基于Genesis的飞行模拟视景仿真系统开发", 《指挥控制与仿真》 * |
刘宸闻: "航空发动机气路健康诊断的快速原型验证平台研究", 《中国优秀硕士学位论文全文数据库工程科技II辑(月刊)》 * |
沈楷等: "基于Simulink/RTW的RTX系统仿真建模方法", 《计算机测量与控制》 * |
陈琳: "嵌入式软件自动化测试平台的研究与实现", 《中国优秀硕士学位论文全文数据库信息科技辑(月刊)》 * |
Also Published As
Publication number | Publication date |
---|---|
CN113569333B (zh) | 2023-02-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5404496A (en) | Computer-based system and method for debugging a computer system implementation | |
US20040111248A1 (en) | Polymorphic computational system and method | |
Alford | Software Requirements Engineering Methodology (SREM) at the age of two | |
JPH11513512A (ja) | ディジタル信号プロセッサの製造方法 | |
US6067415A (en) | System for assisting a programmer find errors in concurrent programs | |
CN111930398A (zh) | 应用程序更新方法、装置、系统、介质及设备 | |
US7490032B1 (en) | Framework for hardware co-simulation by on-demand invocations from a block model diagram design environment | |
CN113902112A (zh) | 硬件计算模拟方法、系统及计算机可读存储介质 | |
CN113569333B (zh) | 基于预编译指令的多种飞行器仿真模型并行开发维护方法 | |
May et al. | Designing chips that work | |
JPH08314760A (ja) | プログラム開発支援装置 | |
George et al. | Multidisciplinary integrated design assistant for spacecraft (MIDAS) | |
Wiśniewski et al. | Benefits of hardware accelerated simulation | |
WO2001035283A2 (en) | System for performing parallel circuit simulation in a high level description language | |
Inverardi et al. | Relating CHAM descriptions of software architectures | |
Mora et al. | Hardware device simulation framework in the ALMA Control subsystem | |
Reggestad et al. | Simulator Development: the flexible approach applied to Operational Spacecraft Simulators | |
Plastow | How Do You Model a System? | |
Hall et al. | Formal methods in a real air traffic control project | |
JPH0683900A (ja) | 系のシミュレーション方法およびシミュレーションシステム | |
JP2882876B2 (ja) | プログラム試験方法 | |
Pidgeon et al. | Software emulators: a virtual processor to support training simulations | |
CN117396877A (zh) | 使用逻辑复制从io焊盘去除非功能性环回路径 | |
Abbott | A symbolic simulator for microprogram development | |
CN115270485A (zh) | 一种仿真产品敏捷开发方法及系统 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |