数字飞行器动力学环境信息传输源代码人工智能书写方法与流程

文档序号:16629579发布日期:2019-01-16 06:26阅读:257来源:国知局
本发明涉及人工智能程序员书写数字飞行器源代码
技术领域
:,更具体的说是涉及一种数字飞行器动力学环境信息传输源代码人工智能书写方法。
背景技术
::飞行器包括但不限于飞机、导弹、卫星、航天飞船。数字飞行器是与真实飞行器的功能、组成、结构、模式、程序、操作完全一致的且运行在软件模拟的空间环境中的动态模拟仿真系统。目前工程设计、研发、测试过程中利用数字世界进行仿真验证的比例大大提升,飞行器实物测试成本高,数字飞行器的作用更加明显。数字飞行器代码开发量大,源代码智能书写技术减少人重复的工作量,其中关键的技术是人工智能程序员。人工智能程序员是将人写程序的决策过程分解,根据每部分的特点将多种不同的人工智能方法组合起来。人工智能程序源的书写对象为数字飞行器源代码,数字飞行器源代码可分为静态、动态两部分,其中静态源代码部分可分解为信息包传输、遥测、遥控等。而信息包传输是数字飞行器源代码中通用性强、应用范围广的重要部分,数字飞行器单机部件与动力学环境信息传输是其中的关键一环,数字飞行器数字包传输存在格式多变、通道多变、协议多变等问题,造成了信息包传输源代码书写的困难。因此,如何提供更加简便的信息包传输源代码书写方法是本领域技术人员亟需解决的问题。技术实现要素:有鉴于此,本发明提供了一种数字飞行器动力学环境信息传输源代码人工智能书写方法,利用人工智能程序员技术书写源代码,减少了源代码书写过程中人的工作量,减少了数字飞行器源代码中人的主观因素,便于管理和交流。为了实现上述目的,本发明采用如下技术方案:一种数字飞行器动力学环境信息传输源代码人工智能书写方法,包括:预先将动力学环境信息传输源代码、敏感器探测信息传输源代码、执行机构作用信息传输源代码按照依赖的部件类型进行分解,并作为代码片段模板存储至代码库中,并根据部件类型建立相应的模板路径;获取数字飞行器流设计xml文件和包设计数据库;根据所述xml文件和所述包设计数据库中所携带的信息,以及所述模板路径读取所述模板并对所述模板进行书写操作,得到动力学环境环境信息传输源代码文件、敏感器探测信息传输源代码文件、执行机构作用信息传输源代码文件;根据所述xml文件和所述包设计数据库中携带的信息,书写辅助源代码文件;根据所述包设计数据库中携带的信息,将所述动力学环境信息传输源代码文件、敏感器探测信息传输源代码文件、执行机构作用信息传输源代码文件与辅助源代码文件进行组合,得到数字飞行器动力学环境信息传输源代码。优选的,所述xml文件中保存的信息包括但不限于:实体类型、飞行器包含的子系统、每个子系统下包含的部件类型、每种部件类型包含的部件型号、每种部件信号的部件个数、每个部件的安装信息和生成的每个飞行器源代码的粒度。优选的,所述包设计数据库中包含的表组包括但不限于:实体定义表、单机组配置表、总线配置表和联邦配置表;其中,实体定义表中保存的信息包括数字飞行器的代号、名称以及实体类型,其中实体类型包括卫星、导弹、飞机、舰艇和地面站;单机组配置表中保存实体中的包含的部件信息,包括但不限于卫星中包含的陀螺、推力器、动量轮、导弹中包含的舵机、发动机以及飞行器动力学环境虚拟部件;总线配置表中定义了飞行器部件间的真实总线,飞行器之间的无线链路,以及飞行器单机部件与动力学环境间的虚拟总线;联邦配置表中的保存的信息包括联邦的名称、生成处理的工程文件夹名称和联邦中包含的部件。优选的,所述辅助源代码包括动力学环境虚拟通道初始化头文件和敏感器执行机构通道初始化头文件。优选的,根据联邦配置表中包含的部件,将所述动力学环境信息传输源代码文件、敏感器探测信息传输源代码文件、执行机构作用信息传输源代码文件与辅助源代码文件进行组合;其中,辅助源代码包括动力学环境虚拟通道初始化头文件和敏感器执行机构通道初始化头文件。具体的,若联邦配置表中包含动力学环境虚拟部件,则将动力学与环境信息传输源代码文件和动力学环境虚拟通道初始化头文件组合到一个工程目录下;若联邦配置表中包含敏感器部件,则将敏感器探测信息传输源代码文件和敏感器执行机构虚拟通道初始化头文件组合到一个工程目录下;若联邦配置表中包含执行机构部件,则将执行机构作用信息传输源代码文件和敏感器执行机构虚拟通道初始化头文件组合到一个工程目录下。优选的,动力学环境虚拟通道初始化文件的书写过程包括:根据数字飞行器实体类型创建虚拟通道初始化头文件,并将动力学环境虚拟通道定义为一个一维数组;根据数组的维度查询实体定义中的实体编号得到的实体的动力学环境虚拟通道宏定义作为数组在该维度上的取值。优选的,敏感器执行机构通道初始化头文件的书写过程包括:根据联邦配置表创建敏感器执行机构通道初始化头文件,遍历实体定义表;根据实体定义表、单机组定义表、总线定义表得到飞行器实体对应的虚拟部件连接的动力学环境虚拟总线,以及总线上敏感器虚拟部件、执行机构虚拟部件和动力学环境虚拟部件的总线编号,完成该实体的通道初始化代码。由此依次完成实体定义表中所有实体代码的书写,得到敏感器执行机构通道初始化头文件。经由上述的技术方案可知,与现有技术相比,本发明公开提供了一种数字飞行器动力学环境信息传输源代码人工智能书写方法,利用人工智能程序员技术书写源代码,减少了源代码书写过程中人的工作量,减少了数字飞行器源代码中人的主观因素,便于管理和交流。附图说明为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。图1附图为本发明提供的数字飞行器动力学环境信息传输源代码人工智能书写方法的流程图。具体实施方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。参见附图1,本发明实施例公开了一种数字飞行器动力学环境信息传输源代码人工智能书写方法,包括:s1:预先将动力学环境信息传输源代码、敏感器探测信息传输源代码、执行机构作用信息传输源代码按照依赖的部件类型进行分解,并作为代码片段模板存储至代码库中,并根据部件类型建立相应的模板路径;s2:获取数字飞行器流设计xml文件和包设计数据库;s3:根据xml文件和包设计数据库中所携带的信息,以及模板路径读取模板并对模板进行书写操作,得到动力学环境环境信息传输源代码文件、敏感器探测信息传输源代码文件、执行机构作用信息传输源代码文件;s4:根据xml文件和包设计数据库中携带的信息,书写辅助源代码文件;s5:根据包设计数据库中携带的信息,将动力学环境信息传输源代码文件、敏感器探测信息传输源代码文件、执行机构作用信息传输源代码文件与辅助源代码文件进行组合,得到数字飞行器动力学环境信息传输源代码。为了进一步优化上述技术方案,xml文件中保存的信息包括但不限于:实体类型、飞行器包含的子系统、每个子系统下包含的部件类型、每种部件类型包含的部件型号、每种部件信号的部件个数、每个部件的安装信息,生成的每个飞行器源代码的粒度。为了进一步优化上述技术方案,包设计数据库中包含的表组包括但不限于:实体定义表、单机组配置表、总线配置表和联邦配置表;其中,实体定义表中保存的信息包括数字飞行器的代号、名称以及实体类型,其中实体类型包括卫星、导弹、飞机、舰艇和地面站;单机组配置表中保存实体中的包含的部件信息,包括但不限于卫星中包含的陀螺、推力器、动量轮、导弹中包含的舵机、发动机以及飞行器动力学环境虚拟部件;总线配置表中定义了飞行器部件间的真实总线,飞行器之间的无线链路,以及飞行器单机部件与动力学环境间的虚拟总线;联邦配置表中的保存的信息包括联邦的名称、生成处理的工程文件夹名称和联邦中包含的部件。为了进一步优化上述技术方案,辅助源代码包括动力学环境虚拟通道初始化头文件和敏感器执行机构通道初始化头文件。为了进一步优化上述技术方案,根据联邦配置表中包含的部件,将动力学环境信息传输源代码文件、敏感器探测信息传输源代码文件、执行机构作用信息传输源代码文件与辅助源代码文件进行组合;其中,辅助源代码包括动力学环境虚拟通道初始化头文件和敏感器执行机构通道初始化头文件。具体的,若联邦配置表中包含动力学环境虚拟部件,则将动力学与环境信息传输源代码文件和动力学环境虚拟通道初始化头文件组合到一个工程目录下;若联邦配置表中包含敏感器部件,则将敏感器探测信息传输源代码文件和敏感器执行机构虚拟通道初始化头文件组合到一个工程目录下;若联邦配置表中包含执行机构部件,则将执行机构作用信息传输源代码文件和敏感器执行机构虚拟通道初始化头文件组合到一个工程目录下。为了进一步优化上述技术方案,动力学环境虚拟通道初始化文件的书写过程包括:根据数字飞行器实体类型创建虚拟通道初始化头文件,并将动力学环境虚拟通道定义为一个一维数组;根据数组的维度查询实体定义中的实体编号得到的实体的动力学环境虚拟通道宏定义作为数组在该维度上的取值。为了进一步优化上述技术方案,敏感器执行机构通道初始化头文件的书写过程包括:根据联邦配置表创建敏感器执行机构通道初始化头文件,遍历实体定义表,根据实体定义表、单机组定义表、总线定义表得到飞行器实体对应的虚拟部件连接的动力学环境虚拟总线,以及总线上敏感器虚拟部件、执行机构虚拟部件和动力学环境虚拟部件的总线编号,完成该实体的通道初始化代码。由此依次完成实体定义表中所有实体代码的书写,得到敏感器执行机构通道初始化头文件。下面具体介绍数字飞行器动力学环境信息传输源代码人工智能书写方法。首先,预先根据系统维分解建立信息传输源代码片段库从文件层次分解包括以下内容:动力学环境信息传输源代码、敏感器探测信息传输源代码和执行机构作用信息传输源代码。(1)动力学环境信息传输源代码按照实体类型分为不同实体的源代码,包括卫星、导弹、飞机、舰艇等,在代码库中建立实体文件夹。从函数层次分解包括敏感器探测信息传输通道初始化函数、敏感器探测信息组包发包函数、执行机构作用信息收包解包函数、执行机构作用效果初始化函数。将敏感器探测信息组包发包函数、执行机构作用信息收包解包函数进行拆分,分别放入输出(output)与输入(input)实体文件夹的子文件夹中,包括解包或组包代码片段与局部变量定义代码片段,其中解包或组包代码片段命名方式为“实体类型canio_标识符.c”,局部变量定义代码片段命名为“variabledefination.c”。将执行机构作用效果初始化函数直接作为一个代码片段模板储存在实体文件夹下,代码片段命名方式为“实体类型canio_reset.c”。另外头文件引用、宏定义、变量定义、函数声明作为一个代码片段储存在实体文件夹下,代码片段命名方式为“实体类型canio_head.c”。将信息显示代码片段也作为一个代码片段储存在实体文件夹下,代码片段命名方式为“实体类型canio_printf.c”。(2)敏感器探测信息传输源代码按照子系统分为动力学与控制子系统、电源子系统、热控子系统、测控子系统敏感器探测信息接收源代码,在代码库中建立敏感器子系统部件文件夹。从函数层分解包括敏感器探测收包解包函数、敏感器探测原理模拟函数、敏感器探测信息发送函数、敏感器作用组包发包函数。将敏感器探测收包解包函数、敏感器作用组包发包函数进行拆分,分别放入输入(input)与输出(output)敏感器子系统部件文件夹的子文件夹中,包括解包代码片段与组包代码片段,代码片段命名方式为“sensor子系统canio_标识符_部件型号.c”。另外头文件引用、宏定义、变量定义作为一个代码片段储存在敏感器子系统部件文件夹下,代码片段命名方式为“sensor子系统canio_head.c”。将输入与输出函数中的变量定义也分别作为一个代码片段储存在敏感器子系统部件文件夹下,代码片段命名方式分别为“sensor子系统canio_idefine.c”和“sensor子系统canio_odefine.c”。(3)执行机构作用信息传输源代码按照子系统分为动力学与控制子系统、电源子系统、热控子系统、测控子系统执行机构作用信息发送源代码,在代码库中建立执行机构子系统部件文件夹。从函数层分解包括执行机构收包解包函数、执行机构原理模拟函数、执行机构组包发包函数。将执行机构收包解包函数、执行机构组包发包函数进行拆分,分别放入输入(input)与输出(output)执行机构子系统部件文件夹的子文件夹中,包括解包代码片段与组包代码片段,代码片段命名方式为“actuator子系统canio_标识符_部件型号.c”。另外头文件引用、宏定义、变量定义作为一个代码片段储存在执行机构子系统部件文件夹下,代码片段命名方式为“actuator子系统canio_head.c”。将输入与输出函数中的变量定义也分别作为一个代码片段储存在执行机构子系统部件文件夹下,代码片段命名方式分别为“sensor子系统canio_idefine.c”和“actuator子系统canio_odefine.c”。将执行机构作用效果初始化代码直接作为一个代码片段模板储存在执行机构子系统部件文件夹下,代码片段命名方式为“actuator子系统canio_reset.c”。下面介绍获取数字卫星流设计xml文件和包设计数据库的具体内容。先进行数据库连接、数据库读取,得到有多少实体,每个实体对应的流设计xml,再循环遍历实体读取各自的xml信息存入实体对应的hashtable中。数字卫星流设计xml文件中保存的信息包括实体类型,飞行器包含的子系统,每个子系统下包含的部件类型,每种类型所包含的部件型号,每种型号的部件个数,每个部件的安装信息,生成的每个飞行器源代码的粒度等。数字卫星包设计数据库中相关的表组主要包括实体定义、单机组配置、总线配置、联邦配置。上述数据库中实体定义中保存的信息包括数字飞行器的代号、名称以及实体类型,在这里实体类型包括卫星、导弹、飞机、舰艇、地面站等。单机组配置中保存实体中的包含的部件信息,比如卫星中包含的陀螺、推力器、动量轮,导弹中包含的舵机、发动机等,以及飞行器动力学环境虚拟部件。总线配置定义了飞行器部件间的真实总线,飞行器之间的无线链路,以及飞行器单机部件与动力学环境间的虚拟总线。联邦配置表中的保存的信息包括联邦的名称(及生成处理的工程文件夹名称)、联邦中包含的部件等。接下来重点介绍根据所述xml文件和所述包设计数据库中携带的信息,以及所述模板路径读取所述模板并对所述模板进行书写操作的过程。(1)动力学与环境信息传输c文件书写代码书写的主要过程如下所述。首先根据实体类型确定代码片段的输入路径以及书写出的c文件的路径。其次根据模板“实体类型canio_head.c”书写出头文件引用、宏定义、变量定义、函数声明代码。然后书写敏感器探测信息组包发包函数,根据实体类型确定输出函数的名称,根据代码片段模板“variabledefination.c”局部变量定义代码片段书写出输出函数中的局部变量定义代码,遍历输出代码片段子文件夹,根据模板书写出组包代码,根据联邦中包含的飞行器实体书写多条发包语句,根据实体名称书写发送语句中的发送通道。再书写执行机构作用效果初始化函数,根据实体类型确定函数的名称,根据模板完成书写。最后完成执行机构作用信息收包解包函数的书写,根据实体类型确定输出函数的名称,根据代码片段模板“variabledefination.c”书写出输入函数中的局部变量定义代码,遍历输入代码片段子文件夹,根据模板书写出解包代码,根据代码片段模板“实体类型canio_printf.c”书写出输入函数中的信息显示代码。(2)敏感器探测信息传输c文件书写代码书写的主要过程如下所述。首先根据实体类型确定代码片段的输入路径以及书写出的c文件的路径。其次逐行读取模板“sensor子系统canio_head.c”,将其中包含的特殊的标记符替换为实体名称,写出头文件引用、宏定义、变量定义代码。然后书写敏感器探测函数声明,遍历实体中的所有部件,找出其中是敏感器的部件,根据实体名称查询对应的流设计xml得到飞行器源代码的粒度排除不生成的部件,查询总线定义表统计当前联邦所包含的连接在动力学环境虚拟通道上的部件,根据部件类型找到函数声明的代码片段,将其中包含的特殊的标记符“$$$$”替换为实体名称,将包含的特殊的标记符“@@@@”替换为部件型号,完成敏感器探测函数声明书写。接着书写敏感器发包函数声明,遍历实体中所有部件,找出其中是敏感器的部件,根据实体名称,单机组名称书写出敏感器发包函数声明,形式为“unsignedcharcls+实体名称+单机组名称+senddata(void);”。然后书写虚拟通道初始化函数,根据实体名称进行书写,形式为“opencandevice(实体名称+sensorchannelno);”。然后书写敏感器探测收包解包函数,函数名称为“sensorscollectrtcdata”,根据部件所属子系统读取代码片段模板“sensor子系统canio_idefine.c”书写出输出函数中的局部变量定义代码,遍历输出代码片段子文件夹,从其中的代码片段文件名中提取出部件型号与标识符信息,解包代码为分支选择语句,根据标识符写出分支,根据实体名称查询联邦配置表中是否包含该部件型号,确定是否书写该代码片段,完成解包片段的书写。读取敏感器探测原理模拟函数调用语句代码片段,替换usdeviceno为单机组中该单机的序号,替换usno为单机组中该单机的单机编号,替换“@@@@”为单机组名称,替换“$$$$”为实体名称。根据实体名称与单机组名称书写敏感器的发包函数,形式为“ucsenddataflag|=cls"+实体名称+单机组名称+"senddata();”。最后完成敏感器作用组包发包函数的书写,函数名称为“sensorssendrtcdata”,根据部件所属子系统读取代码片段模板“sensor子系统canio_odefine.c”书写出输出函数中的局部变量定义代码。遍历输出代码片段子文件夹,从其中的代码片段文件名中提取出部件型号与标识符信息,根据实体名称查询联邦配置表中是否包含该部件型号,确定是否书写该代码片段。读取敏感器作用原理模拟函数调用语句代码片段,替换usdeviceno为单机组中该单机的序号,替换usno为单机组中该单机的单机编号,替换“@@@@”为单机组名称,替换“$$$$”为实体名称。根据实体名称,书写各子系统的敏感器给动力学环境的发包函数调用代码。(3)执行机构作用信息传输c文件书写代码书写的主要过程如下所述。首先根据实体类型确定代码片段的输入路径以及书写出的c文件的路径。其次逐行读取模板“actuator子系统canio_head.c”,将其中包含的特殊的标记符替换为实体名称,写出头文件引用、宏定义、变量定义代码。然后书写将执行机构收包解包函数声明,遍历实体中的所有部件,找出其中是执行机构的部件,根据实体名称查询对应的流设计xml得到飞行器源代码的粒度排除不生成的部件,查询总线定义表统计当前联邦所包含的连接在动力学环境虚拟通道上的部件,根据部件类型找到函数声明的代码片段,将其中包含的特殊的标记符“$$$$”替换为实体名称,将包含的特殊的标记符“@@@@”替换为部件型号,完成将执行机构收包解包函数声明书写。接着书写执行机构发包函数声明,遍历实体中所有部件,找出其中是执行机构的部件,根据实体名称,单机组名称书写出执行机构发包函数声明,形式为“unsignedcharcls+实体名称+单机组名称+senddata(void);”。然后书写虚拟通道初始化函数,根据实体名称进行书写,形式为“opencandevice(实体名称+actuatorchannelno);”。然后书写执行机构收包解包函数,函数名称为“actuatorscollectrtcdata”,根据部件所属子系统读取代码片段模板“actuator子系统canio_idefine.c”书写出输出函数中的局部变量定义代码,遍历输出代码片段子文件夹,从其中的代码片段文件名中提取出部件型号与标识符信息,解包代码为分支选择语句,根据标识符写出分支,根据实体名称查询联邦配置表中是否包含该部件型号,确定是否书写该代码片段,完成解包片段的书写。读取执行机构原理模拟函数调用语句代码片段,替换usdeviceno为单机组中该单机的序号,替换usno为单机组中该单机的单机编号,替换“@@@@”为单机组名称,替换“$$$$”为实体名称。根据实体名称与单机组名称书写执行机构的发包函数,形式为“ucsenddataflag|=cls"+实体名称+单机组名称+"senddata();”。最后完成执行机构组包发包函数的书写,函数名称为“actuatorssendrtcdata”,根据部件所属子系统读取代码片段模板“actuator子系统canio_odefine.c”书写出输出函数中的局部变量定义代码。读取“actuator子系统canio_reset.c”代码片段,书写出执行机构作用效果初始化代码。遍历输出代码片段子文件夹,从其中的代码片段文件名中提取出部件型号与标识符信息,根据实体名称查询联邦配置表中是否包含该部件型号,确定是否书写该代码片段。读取执行机构作用原理模拟函数调用语句代码片段,替换usdeviceno为单机组中该单机的序号,替换usno为单机组中该单机的单机编号,替换“@@@@”为单机组名称,替换“$$$$”为实体名称。根据实体名称,书写各子系统的执行机构给动力学环境的发包函数调用代码。下面介绍根据所述xml文件和所述包设计数据库中携带的信息,完成其他辅助代码书写的步骤。其他辅助源代码主要包括动力学环境虚拟通道初始化头文件以及敏感器执行机构通道初始化头文件。(1)动力学环境虚拟通道初始化头文件根据飞行器实体类型创建虚拟通道初始化头文件,将动力学环境虚拟通道定义为一个一维数组,数组维度为这类飞行器的总个数,数组形式为“constunsignedlongulrtctodevicecanchannelnofor实体类型[dim实体类型]”。根据数组的维度查询实体定义中的实体编号得到的实体的动力学环境虚拟通道宏定义作为数组在该维度上的取值。(2)敏感器执行机构通道初始化头文件创建敏感器执行机构通道初始化头文件,遍历实体定义表对所有飞行器的敏感器执行机构通道初始化代码依次列写。根据实体定义表、单机组定义表、总线定义表,查询得到飞行器实体对应的虚拟部件连接的动力学环境虚拟总线,以及总线上敏感器虚拟部件、执行机构虚拟部件、动力学环境虚拟部件的canid。得到敏感器执行机构通道初始化头文件,包括敏感器执行机构设备通道号定义以及敏感器执行机构can设备编号定义两部分代码。根据所述包设计数据库中携带的信息,将书写出来的源代码进行组合根据联邦中包含的部件,进行代码的组合。若联邦中包含动力学环境虚拟部件,则将动力学与环境信息传输c文件和动力学环境虚拟通道初始化头文件组合到一个工程目录下;若联邦中包含敏感器部件,则将敏感器探测信息传输c文件和敏感器执行机构虚拟通道初始化头文件组合到一个工程目录下;若联邦中包含执行机构部件,则将执行机构作用信息传输c文件和敏感器执行机构虚拟通道初始化头文件组合到一个工程目录下。(1)动力学与环境信息传输源代码主要功能包括将动力学环境参数信息(比如:飞行器的位置、速度,太阳矢量、地球矢量等)组包通过动力学环境虚拟总线发送到飞行器对应的敏感器部件;以及从动力学环境虚拟总线接收部件对环境的作用(比如作用力、温度、功率等),并且根据标识符选择解包的分支代码执行。包括动力学与环境信息传输c文件和动力学环境虚拟通道初始化头文件。动力学与环境信息传输c文件通过引用头文件形成完整的动力学与环境信息传输源代码。(2)敏感器探测信息传输源代码主要功能是从动力学环境虚拟总线接收动力学环境参数信息组包,通过包中的标识符调用相应敏感器部件探测函数(比如:根据标识符0,确定收到的信息中有太阳矢量的包,于是调用太阳敏感器的探测函数),之后再调用敏感器的发包函数,将敏感器的测量信息传输出去。包括敏感器探测信息传输c文件和敏感器执行机构虚拟通道初始化头文件。敏感器探测信息传输c文件通过引用头文件形成完整的敏感器探测信息传输源代码。(3)执行机构作用信息传输源代码书写主要功能是将调用部件对环境的作用函数,将得到的参数打包,通过动力学环境虚拟总线发送到动力学环境虚拟部件。包括执行机构作用信息传输c文件和敏感器执行机构虚拟通道初始化头文件。执行机构作用信息传输c文件通过引用头文件形成完整的执行机构作用信息传输源代码。在书写的过程中,用到智能书写方法包括:源代码书写有限选择决策方法、源代码书写规范执行方法。利用有限选择决策方法决定条件、循环、变量、语句等内容的书写,例如在其他辅助源代码书写中通道初始化定义方式的决策。利用源代码书写规范执行方法完成规范源代码书写,例如在函数定义、变量命名、变量赋值、分支选择等语句的书写。源代码书写有限选择决策方法包括如下步骤:步骤一,根据决策目标获取执行对象和决策树;决策目标包括通用性选择决策和应用层选择决策;其中,所述通用性选择决策包括:仿真平台与工程选择、变量类型选择、变量定义位置和方式选择、数组和列表的选择、循环方式选择;所述应用层选择决策为在指定的飞行器结构和参数的基础上决策仿真执行对象。步骤二,根据输入对象和所述决策树对所述执行对象进行筛选,获取可行执行对象集;构建有限选择评估体系,包括仿真粒度和仿真平台;根据有限选择评估体系获取可行执行对象集,具体包括,根据平台仿真时间和占用资源情况对仿真粒度进行决策;根据平台仿真时间和占用资源情况判断是否有真实部件接入的需求,对仿真平台进行决策;选择符合仿真粒度要求和仿真平台要求的执行对象,构成可执行执行对象集。步骤三,根据决策目标找到该目标下描述执行对象的特征参数及相应计算方法,针对步骤二中的可行执行对象集,计算每个执行对象的特征参数;步骤三中的特征参数包括仿真精度、仿真时间和资源占用;仿真精度的衡量标准包括仿真粒度、仿真误差、计算结果精度;其中仿真粒度包括航天器整体级别、子系统级别、部件级别以及部件组件级别;仿真误差包括针对各仿真粒度的原理模型和误差模型;计算结果精度是指结果参数的最小分辨率;仿真时间是指完成单个仿真周期计算所实际花费的时间;资源占用的衡量标准包括仿真平台资源、存储资源和计算资源;其中仿真平台资源指占用仿真计算机或仿真板卡的个数;存储资源指全局变量占用的固定内存空间、临时变量占用的堆空间和栈空间;计算资源指算法的复杂程度,即算法的占用空间。步骤四,对所述决策目标下的执行对象的特征参数进行评分;评分方法为归一化方法,将所述特征参数映射到区间[0,1]上。步骤五,计算综合评分,得到最优执行对象;采用加权平均的方式,将每个特征参数对应的归一化评分乘以权重,最终得到加权评分,通过对比各执行对象的评分找出评分最高的执行对象,即得最优执行对象。步骤六,根据选择的所述最优执行对象书写源代码。源代码书写规范执行方法,即源代码规范决策执行方法具体包括以下步骤:步骤一,利用多种维分解方法对数字飞行器源代码进行多层次分解,得到最小分解结果;分解方法主要包括代码层次、飞行器类型、系统维、仿真粒度,以及多种分解方法之间的交叉组合;步骤二,对所述最小分解结果进行聚类,并建立数字飞行器源代码书写决策树;该步骤可细分为以下两个小步骤:(1)对最小分解结果进行聚类,给出聚类后分支的适用对象和适用条件聚类依据包括通用性、工作逻辑方式。根据工作逻辑方式进行聚类,卫星中姿轨控子系统源代码主要包括姿态确定模块、姿态控制模块、模式监测和切换模块,导弹制导控制系统中包括飞行事件监测和切换模块、导引模块、控制模块,两种飞行器工作逻辑方式基本一致,因此实现方式聚为一类,聚类后结果将飞行器源代码运动控制部分分为三部分,第一部分为飞行器状态确定模块,第二部分为飞行过程的状态监测和满足特定情况切换逻辑模块,第三部分为飞行器运动控制模块。(2)建立程序员书写数字飞行器源代码完整决策树:将源代码分解结果聚类后,建立决策树步骤三,根据决策树分支情况建立执行规范书写操作的人工智能程序员;根据适用范围、变化频率、变化方式因素对源代码书写执行方法进行选择,建立智能程序员。步骤四,利用所述人工智能程序员读取所需生成场景的配置信息生成数字飞行器仿真源程序。该步骤可细分为以下两个小步骤:(1)智能程序员读取所需生成场景包含飞行器配置信息利用形成的人工智能程序员,读取书写数字飞行所需的配置文件输入信息。配置文件按照文件类型分解包括数据库、格式化文件(xml文件)、文件库等。配置文件根据适用性进行分解,包括所有飞行器通用、每种类型飞行器通用、每种型号特殊等。(2)根据决策树分支适用条件进行逐层判定,获取源代码书写操作执行方法,执行书写操作自动生成源代码。人工智能程序员中根据决策树分支语句进行决策树各层级分支的满足条件判定和筛选,查找书写过程中每步的所属最小分支。根据每个分支的书写方法,通过源代码生成程序书写、数据库读取书写、文件直接拷贝、文件替换拷贝方式,完成完整数字飞行器系统源代码书写。本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1