基于预编译指令的多种飞行器仿真模型并行开发维护方法技术

技术编号:30534346 阅读:42 留言:0更新日期:2021-10-30 13:09
本发明专利技术实施例公开了基于预编译指令的多种飞行器仿真模型并行开发维护方法。方法包括:创建通用飞行器仿真平台的项目;对平台的应用程序头文件中引入名称信息;构建飞行仿真模型的C++类体系;在非头文件中,使用预编译指令编写只适用于特定飞行器种类的代码;使用预编译指令编写只适用于特定飞行器型号的代码;使用预编译指令进行平台界面的转换;平台中创建全部的仿真模型;把通用飞行器仿真平台转化为飞行器仿真平台、特定的飞行器种类或者型号仿真平台;并行仿真全部飞行器;通过通用飞行器仿真平台进行单独飞行器仿真模型的处理。通过实施本发明专利技术实施例的方法可实现能够显著降低飞行器仿真模型的开发、维护和升级成本。维护和升级成本。维护和升级成本。

【技术实现步骤摘要】
基于预编译指令的多种飞行器仿真模型并行开发维护方法


[0001]本专利技术涉及飞行器仿真模型,更具体地说是指基于预编译指令的多种飞行器仿真模型并行开发维护方法。

技术介绍

[0002]在构建复杂的仿真系统时,往往需要开发和维护多种飞行器的仿真模型。例如“空天防御仿真系统”,通常需要弹道导弹仿真模型、拦截弹仿真模型、卫星仿真模型、轨道转移飞行器仿真模型、飞机仿真模型等。在开发飞行器仿真模型时,不仅需要构建飞行器本身模型,同时也要进行飞行器的动力学仿真计算,为其他复杂仿真系统提供飞行弹道、姿态角等数据。因此,开发仿真模型时,通常都需要建立一个仿真平台,该仿真平台中能够设置飞行器的各种参数,能够进行动力学仿真计算,甚至为了提高开发效率,能够自动测试飞行器仿真模型,以验证飞行器参数的合理性以及仿真建模的正确性。
[0003]当同时开发和维护这些仿真模型时,这些飞行器的仿真模型具有很多的通用代码,例如动力学仿真代码、推力仿真代码、发动机仿真代码、结构仿真代码、导引律仿真代码等,这些代码没有必要针对每个飞行器单独开发,可以重复使用,但是怎样实现这些代码的重复使用,极大影响了飞行器仿真模型开发和维护的工作效率。
[0004]目前有四种飞行器仿真模型开发方法,一种是针对每种飞行器仿真模型都单独开发的一个仿真平台进行开发和测试。代码复用采用在每个平台中都直接复制使用;这种方案是在开发初期,能够快速开发多种飞行器的仿真模型。其缺点是难以保持通用代码的唯一性,即当通用性代码进行纠错或者升级时,需要启动全部的仿真平台,逐个进行修改和测试,同样的工作重复多遍,并且可能由于各仿真平台之间的差异性,更改的方式还可能不完全一样,随着开发的仿真模型的种类增加,各种飞行器仿真平台难以同时实现升级和维护,导致通用性代码在不同的平台上不能同步更新和升级,通用性代码没有最新的版本,而是分散于各种飞行器的仿真平台中,最终放弃维护通用代码,仿真模型的开发效率最差;第二种方法是、针对每种飞行器仿真模型都单独开发的一个仿真平台进行开发和测试,代码复用使用C语言的链接库技术,即把通用代码以函数的形式放在链接库中,同时提供链接库的头文件,然后各种飞行器仿真模型的仿真平台都通过静态或者动态链接库的方式共用通用代码;但是这种方法存在以下缺点:一是需要单独开发和维护链接库程序,如果对链接库中的函数进行修改,则需要启动全部的飞行器仿真平台进行测试,以验证链接库修改的正确性,并且在飞行器仿真模型的开发过程中如果库函数出现错误,定位和调试都比较困难;二是使用C语言的链接库技术,只能实现全局C函数的复用,很难实现C++类的复用,在复杂的飞行器仿真建模中,为了提高建模的工作效率,通常采用面向对象设计技术,函数绝大多数是类成员函数,为了应用C语言的链接库技术,需要把类成员函数转换成全局C函数,或者采用其他特殊手段实现C++类的库函数,无论哪种方法都增加了编程工作量和复杂性,同时将导致仿真系统的面向对象设计逻辑混乱,显著降低了系统的可维护性;第三种方法是针对全部的飞行器仿真模型开发一个通用的飞行器仿真平台进行开发和测试,全部飞行器仿真
模型通过面向对象设计技术使用通用代码,即在仿真平台里构建了一个C++类库,通过C++类的派生技术,不同种类的飞行器仿真模型从适当的C++类中派生出来,这种方式的通用代码是以C++类的形式进行重复使用,因此开发新的飞行器仿真模型的效率高,代码修改和升级维护也非常简单,极大限度地实现了代码复用,符合敏捷软件开发的原则,但是这种方法是全部飞行器仿真模型都在一个仿真平台内,随着飞行器仿真模型种类的增加,仿真平台在编译时,会编译全部飞行器仿真模型代码,导致编译速度随着飞行器种类增加而逐渐降低,导致逐渐降低仿真模型开发工作的效率;且仿真平台的显示和操作界面会随着飞行器数量逐渐增多而逐渐复杂,导致操作不方便,甚至没有足够的平台界面显示全部飞行器的操作界面;第四种方法是开发若干个通用仿真平台,每个仿真平台能够开发特定种类的飞行器,具有一定的通用性。例如分别开发通用高超声速飞行器仿真平台、通用卫星仿真平台、通用拦截弹仿真平台等,在每个仿真平台内都通过面向对象设计技术使用通用代码,开发新的仿真模型的效率高,但是没有实现仿真平台之间通用代码的重复使用,一是不同种类的飞行器的仿真代码仍有一些是通用的,例如动力学仿真代码、发动机仿真代码等;二是各个仿真平台的框架代码有一些是通用的,例如平台的显示界面代码、仿真建模过程中的通用工具程序等,若要重复使用上述这些代码,可以采用直接复制,或者使用链接库技术,因此将分别具有第一种方法的缺点或者第二种方法的缺点。
[0005]因此,有必要设计一种新的方法,实现从根本上保证同时开发各种飞行器仿真模型的高效性,能够显著降低飞行器仿真模型的开发、维护和升级成本。

技术实现思路

[0006]本专利技术的目的在于克服现有技术的缺陷,提供基于预编译指令的多种飞行器仿真模型并行开发维护方法。
[0007]为实现上述目的,本专利技术采用以下技术方案:基于预编译指令的多种飞行器仿真模型并行开发维护方法,包括:
[0008]创建通用飞行器仿真平台的项目;
[0009]对平台的应用程序头文件中引入需要仿真的飞行器的名称信息;
[0010]构建飞行仿真模型的C++类体系;
[0011]在所述项目的非头文件的文件中,使用预编译指令编写只适用于特定飞行器种类的代码;
[0012]使用预编译指令编写只适用于特定飞行器型号的代码;
[0013]使用预编译指令进行平台界面的转换;
[0014]使用预编译指令在平台中创建全部的仿真模型;
[0015]通过预编译指令把通用飞行器仿真平台转化为飞行器仿真平台、特定的飞行器种类或者型号仿真平台;
[0016]通过预编译指令并行仿真全部飞行器;
[0017]通过通用飞行器仿真平台进行单独飞行器仿真模型的处理。
[0018]其进一步技术方案为:所述对平台的应用程序头文件中引入需要仿真的飞行器的名称信息,包括:
[0019]在所述项目中,构建一个头文件;
[0020]在所述头文件中定义需要仿真的全部飞行器种类的专有名称;
[0021]在所述头文件中定义属于同种飞行器但不同型号的多种飞行器的专有名称;
[0022]在平台的应用程序头文件中引入定义后的所述头文件。
[0023]其进一步技术方案为:所述使用预编译指令进行平台界面的转换,包括:
[0024]在平台中调用平台标题名称的资源文件ID;
[0025]使用预编译指令进行平台界面工具栏的转换。
[0026]其进一步技术方案为:所述通过预编译指令把通用飞行器仿真平台转化为飞行器仿真平台、特定的飞行器种类或者型号仿真平台,包括:
[0027]在定义后的所述头文件中,注释不需要仿真的飞行器仿真模型的专有名称,以将通用飞行器仿真平台转化为飞行器仿真平台、特定的飞行器种类或者型号仿真平台。
[0028]其进一步技术方案为:所述通本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.基于预编译指令的多种飞行器仿真模型并行开发维护方法,其特征在于,包括:创建通用飞行器仿真平台的项目;对平台的应用程序头文件中引入需要仿真的飞行器的名称信息;构建飞行仿真模型的C++类体系;在所述项目的非头文件的文件中,使用预编译指令编写只适用于特定飞行器种类的代码;使用预编译指令编写只适用于特定飞行器型号的代码;使用预编译指令进行平台界面的转换;使用预编译指令在平台中创建全部的仿真模型;通过预编译指令把通用飞行器仿真平台转化为飞行器仿真平台、特定的飞行器种类或者型号仿真平台;通过预编译指令并行仿真全部飞行器;通过通用飞行器仿真平台进行单独飞行器仿真模型的处理。2.根据权利要求1所述的基于预编译指令的多种飞行器仿真模型并行开发维护方法,其特征在于,所述对平台的应用程序头文件中引入需要仿真的飞行器的名称信息,包括:在所述项目中,构建一个头文件;在所述头文件中定义需要仿真的全部飞行器种类的专有名称;在所述头文件中定义属于同种飞行器但不同型号的多种飞行器的专有名称;在平台的应用程序头文件中引入定义后的所述头文件。3.根据权利要求1所述的基于预编译指令的多种飞行器仿真模型并行开发维护方法,其特征在于,所述使用预编译指令进行平台界面的转换,包括:在平台中调用平台标题名称的资源文件ID;使用预编译指令进行平台界面工具栏的转换。4.根据权利要求1所述的基于预编译指令的多种飞行器仿真模型并行开发维护方法,其特征在于,所述通过预编译指令把通用飞行器仿真平台转化为飞行器仿真平台、特定的飞行器种类或者型号仿真平台,包括:在定义后的所述头文件中,注释不需要仿真的飞行器仿真模型的专有名称,以将通用飞行器仿真平台转化为飞行器仿真平台、特定的飞行器种类或者型号仿真平台。5.根据权利要求1所述的基于预编译指令的多种飞行器仿真模型并行开发维护方法,其特征在于,所述通过预编译指令并行仿真全部...

【专利技术属性】
技术研发人员:郑丹
申请(专利权)人:中国人民解放军六三六二零部队
类型:发明
国别省市:

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

1