数字飞行器缓冲区信息处理源代码人工智能书写方法与流程

文档序号:16206921发布日期:2018-12-08 07:13阅读:178来源:国知局
数字飞行器缓冲区信息处理源代码人工智能书写方法与流程

本发明涉及人工智能和卫星测控技术领域,特别涉及一种数字飞行器缓冲区信息处理源代码人工智能书写方法。

背景技术

近年来,数字仿真在各个领域比例提高,逐渐成为一种研究趋势。数字飞行器是与真实飞行器的功能、组成、结构、模式、程序、操作完全一致的且运行在软件模拟的空间环境中的动态模拟仿真系统,在飞行器论证、研制、试验、运行等整个生命周期中都起到重要作用。然而随着飞行器种类和数量的逐年增加,人工构建数字仿真系统逐渐体现出其周期长、通用性差等局限性。利用人工智能技术构建智能程序员代替人工程序员可以有效解决上述问题。

信息处理是数字飞行器系统中重要组成部分,缓冲区操作作为信息处理中的重要环节,由于其中包含的数据存储、数据读取、数据解析、后续操作等多种操作同样存在较大代码书写工作量,尤其是面对星上获取大量载荷信息存储下传以及大量星地测控数据比对及处理等操作时,问题更为突出。如何降低该部分源代码开发工作量,压缩研制周期,提升程序开发效率,是同行业人员亟待解决的问题。



技术实现要素:

鉴于上述问题,本发明提供一种数字飞行器缓冲区信息处理源代码人工智能书写方法,能极大降低数字飞行器缓冲区信息处理源代码开发工作量,压缩研制周期,提升程序开发效率,进而也提高了研发效率。

为实现上述目的,本发明提供的数字飞行器缓冲区信息处理源代码人工智能书写方法,该方法包括:

对数字飞行器缓冲区信息处理源代码进行维分解;

根据源代码维分解结果书写方式制定;

获取所述数字飞行器缓冲区信息处理源代码的配置文件;

智能书写程序读取所述配置文件,并根据所述书写方式,书写数字飞行器缓冲区信息处理源代码。

进一步地,对数字飞行器缓冲区信息处理源代码进行维分解,包括:

缓冲区建立、信息存储、信息提取和信息处理。

进一步地,智能书写程序读取所述配置文件,并根据所述书写方式,书写数字飞行器缓冲区信息处理源代码,包括:

人工智能程序员读取数字飞行器缓冲区信息;

人工智能程序员根据缓冲区输入信息书写源代码。

进一步地,所述人工智能程序员根据缓冲区输入信息书写源代码,包括:人工智能程序员根据缓冲区输入信息书写缓冲区定义源代码、信息存储源代码、信息提取源代码和解析处理源代码。

进一步地,所述缓冲区定义源代码的书写,包括:存储信息的字符串定义、存储信息包个数定义、缓冲区总体存储信息头尾位置定义、每个信息包头尾位置定义;

缓冲区定义源代码书写采用固化在源代码生成程序中的规范执行方式,根据缓冲区名称和定义规范书写源代码。

进一步地,所述信息存储源代码的书写采用环形缓冲区方式,缓冲区存储数据包含溢出后继续保存数据和丢弃后续数据两种存储方式;

其中继续保存数据方式下数据从缓冲区起始位置开始覆盖原有存储数据;信息存储源代码包含函数定义和调用两部分的书写,函数定义采用固化在文件中的规范执行方式,人工智能程序员根据缓冲区名称对函数中的变量进行替换完成函数定义部分书写,函数调用采用固化在数据库中的方式,根据配置的所要存储的信息数据、长度书写函数名称和形参的书写。

进一步地,所述信息提取源代码的书写包含读取数据和拿取数据两种方式,读取数据不改变缓冲区状态,拿取数据后缓冲区表现为不再存储该数据。

进一步地,所述解析处理包括解包处理、发包处理和特殊处理;

解包处理对提取出的数据按照预设包格式进行解析,对应信息传输接收包的解析操作;

发包处理对取出的数据执行发送操作,对应信息传输信息包的发送操作;

特殊处理包括状态量赋值、标识符置数、特殊数据拷贝、数据计算;

每条解析处理操作包含处理函数、条件和条件重置三部分,智能程序员根据配置结果依次书写条件语句、处理函数调用语句和条件重置语句。

本发明实施例提供的上述技术方案的有益效果至少包括:

本发明实施例提供的数字飞行器缓冲区信息处理源代码人工智能书写方法,包括:对数字飞行器缓冲区信息处理源代码进行维分解;根据源代码维分解结果书写制定与智能书写程序设计;智能程序员读取配置文件书写数字飞行器缓冲区信息处理源代码。该方法能极大降低数字飞行器缓冲区信息处理源代码开发工作量,压缩研制周期,提升程序开发效率,进而也提高了研发效率。

本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。

下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。

附图说明

附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:

图1为本发明实施例提供的数字飞行器缓冲区信息处理源代码人工智能书写方法的流程图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

参照图1所示,本发明实施例提供的数字飞行器缓冲区信息处理源代码人工智能书写方法,包括步骤s101~s104:

s101、对数字飞行器缓冲区信息处理源代码进行维分解;

s102、根据源代码维分解结果书写方式制定;

s103、获取所述数字飞行器缓冲区信息处理源代码的配置文件;

s104、智能书写程序读取所述配置文件,并根据所述书写方式,书写数字飞行器缓冲区信息处理源代码。

本实施例中,能极大降低数字飞行器缓冲区信息处理源代码开发工作量,压缩研制周期,提升程序开发效率,进而也提高了研发效率。

其中涉及到的智能书写程序,其建立过程如下:对数字飞行器缓冲区信息处理源代码进行多层次分解;建立数字飞行器缓冲区信息处理源代码书写决策树;根据决策树分支情况建立执行规范书写操作的人工智能程序员,也就是智能书写程序;

人工智能程序员书写源代码规范决策与执行方法,包括:(1)对数字飞行器缓冲区信息处理源代码进行多层次分解后的最小分解结果进行聚类,给出聚类后分支的适用对象和适用条件;

(2)将最小分解结果聚类后,建立决策树。

上述聚类依据包括通用性:

根据通用性对代码层次中的应用层代码进行聚类,包括所有飞行器通用、同一类型飞行器通用、不同飞行器型号特殊三部分;

根据适用范围、变化频率、变化方式因素对源代码书写执行方法进行选择,建立智能程序员;书写操作规范执行方法包括保存为文件、保存为数据库、将书写逻辑固定在人工智能程序员中,也就是智能书写程序中。

下面分别对上述步骤进行详细说明:

步骤s101:对数字飞行器缓冲区信息处理源代码进行维分解。

按飞行器类型分解包括导弹、卫星、无人机、火箭等。

根据信息获取处理流程分解包括缓冲区建立、信息存储、信息提取、信息处理。

对上述信息存储进行分解包含缓冲区溢出后继续保存数据和丢弃后续数据两种方式。

对信息提取进行分解包含信息读取和信息拿取两种方式,每种方式继续分解,读取数据包括读取完整数据包、从固定字节位置读取数据、从固定比特位读取数据3种方式,举例说明,假如某个缓冲区最多存储10个数据包、每个数据包最大支持200个字节,读取完整数据包例如从其中读取第1个数据包或同时读取第1~3共3个完整的数据包,从固定字节位置读取数据例如从缓冲区201字节读取到210字节共计10个字节的数据,从固定比特位读取数据例如从第201个字节的第4个bit读取到第8个bit共4个bit的数据。拿取数据包括从缓冲区起始位置拿取完整数据包、从缓冲区初始位置拿取n个字节、从缓冲区任意位置拿取完整数据包3种方式,举例说明,假如某个缓冲区最多存储10个数据包、每个数据包最大支持200个字节,从缓冲区起始位置拿取完整数据包例如从缓冲区起始位置拿取第1个数据包或同时拿取第1~3共3个完整的数据包,从缓冲区初始位置拿取n个字节例如从缓冲区起始位置开始拿取1个字节或多个字节的数据,从缓冲区任意位置拿取完整数据包例如从缓冲区存储的第2个数据包开始拿取到第4个数据包共计3个数据包。

对信息处理进行分解包含解包处理、发包处理、特殊处理三种,解包处理对提取出的数据按照某种包格式进行解析,对应信息传输接收包的解析操作,例如某个包主导头包含包头、包长度、主标识符3个标识符、包中包含一系列状态量参数,则先解析包头确定包起始位置,然后解析包长度和主标识符,最后按照状态量排列顺序依次进行状态量数值解析,发包处理对取出的数据执行发送操作,对应信息传输信息包的发送操作,特殊处理包括状态量赋值、标识符置数、特殊数据拷贝、数据计算等。

步骤s102:根据源代码维分解结果书写方式制定。

参考数字卫星人工智能程序员书写方法,缓冲区信息处理源代码主要采用规范明确的书写方式。

缓冲区定义源代码主要为缓冲区涉及到的所有变量的定义和初始化部分源代码。代码主要变化部分为缓冲区名称,因此采用固定在生成程序中的书写方式,程序根据缓冲区名称,组合拼接变量名称即可完成书写。

缓冲区信息处理函数定义为标准函数,其中缓冲区名称可变,但是其中每个函数的主题为固定的,因此采用固化为文件的方式,通过拷贝文件并替换其中缓冲区名称即可完成函数定义部分源代码书写。

缓冲区信息处理函数调用变化多样,根据处理的变量不同,其中的形参各不相同,因此采用固化在数据库中的书写方式,通过装配得到每条信息处理操作的条件、函数调用语句以及条件重置语句,根据数据库输入信息依次完成书写即可。

步骤s103:获取所述数字飞行器缓冲区信息处理源代码的配置文件;

步骤s104:智能书写程序读取所述配置文件,并根据所述书写方式,书写数字飞行器缓冲区信息处理源代码。

上述两个步骤包括:

(1)人工智能程序员读取数字飞行器缓冲区信息;

人工智能程序员通过读取标准化存储文件获取书写数字飞行器缓冲区源代码所需输入信息。其中存储文件可通过数据库、xml等标准化文件格式进行存储。输入信息主要通过数字装配手段得到,包含缓冲区定义信息、缓冲区存储方式定义及包含参数信息、缓冲区信息处理方式定义及包含参数信息、缓冲区信息处理流程。

缓冲区定义输入信息包括缓冲区名称、缓冲区所在飞行器部件位置、缓冲区存储方式、缓冲区存储最大包个数、缓冲区存储每个包的最大字节长度。

缓冲区存储方式定义及包含参数信息主要针对缓冲区溢出后的如何存储后续数据定义的两种方式,包括丢弃后续数据和覆盖原有数据两种,该项输入信息包括两种方式的函数名称和其中包含的形参。

缓冲区信息处理方式定义及包含参数信息输入信息包括各种处理方式的函数名称和包含形参信息。信息处理方式定义包括读取缓冲区数据、拿取缓冲区数据、解析缓冲区数据、发送缓冲区数据4类。

缓冲区信息处理流程信息存储着飞行器上每个缓冲区的完整数据流,从数据存储到数据提取到数据处理的完整流程,该项信息存储函数调用语句信息,为后续生成缓冲区信息处理流程提供输入信息。

(2)人工智能程序员根据缓冲区输入信息书写源代码

源代码主要包括四个部分,分别为缓冲区定义源代码、信息存储源代码、信息提取源代码、解析处理源代码四部分,下面就每部分进行详细说明。

1、缓冲区定义

缓冲区源代码定义源代码主要为缓冲区涉及到的所有变量的定义和初始化部分源代码,缓冲区定义源代码包括存储信息的字符串数组定义、存储信息包个数定义、缓冲区总体存储信息头尾位置定义、每个信息包头尾位置数组定义。

上述参数每个缓冲区定义方式一致,只是其中缓冲区名字、缓冲区存储最大包个数、缓冲区存储每个包的最大字节长度以及缓冲区最大长度信息根据每个缓冲区不同有所不同,通过固化在源代码生成程序中的生成规范执行书写操作,采用变量英文加缓冲区名称的方式,缓冲区长度、存储最大包的个数等数组定义中用到的维度利用宏定义变量进行定义,通过替换缓冲区定义输入信息即可完成缓冲区定义源代码书写。例如缓冲区名称为attitudemission,缓冲区总体存储信息头位置字符串ulbufferstart,程序连接缓冲区总体存储信息头尾位置字符串,书写结果为ulbufferstart_attitudemission。

2、信息存储

信息存储源代码包含函数定义和调用两部分的书写,函数定义采用固化在人工智能程序员中的规范执行方式,智能程序员根据缓冲区名称对函数中的变量进行替换完成函数定义部分书写,函数调用采用固化在数据库中的方式,根据配置的所要存储的信息数据、长度书写函数名称和形参的书写。

信息存储采用环形缓冲区的方式,数据存储在字符串数组中,数组第一个维度为存储的最大包个数,第二个维度为每个包的最大长度。利用存储信息包个数、缓冲区总体存储信息头尾位置、每个信息包头尾位置数组记录缓冲区现存信息状态,缓冲区存储数据包含溢出后继续保存数据和丢弃后续数据两种存储方式,对于溢出后继续保存数据,数据从头开始新数据覆盖旧数据,对于丢弃数据的保存方式,缓冲区存满后直接返回,丢掉后续数据。

3、信息提取

信息提取源代码同样包含函数定义和调用两部分,书写方式同信息存储部分相同。

信息提取包含读取数据和拿取数据两种方式,读取操作根据形参获取相应位置的信息,缓冲区存储状态的所有变量不发生变化,拿取操作获取相应数据后,缓冲区存储头位置根据取出的数据长度进行增加,标志该缓冲区中现有数据的起始位置。

读取数据不改变缓冲区状态,拿取数据后缓冲区表现为不再存储该数据。两种信息提取方式,各包含3种操作方式,分别为包操作、字节操作、位操作,包操作面向直接取完整的几个信息包的情况,字节操作面向固定从某个数据字节位置到另一个数据字节位置中间数据的情况,位操作面向按比特数据进行提取的情况。信息提取源代码同样包含函数定义和调用两部分,具体实现方式同信息存储采用环形缓冲区方式类似。

获取数据时,根据缓冲区头尾字节位置变量ulbufferstart和ulbufferend判断缓冲区头尾位置,如果尾位置大于头位置,即ulbufferend>ulbufferstar,直接获取中间数据即可,如果存在缓冲区存满数据后继续保存的情况,即头大于尾的情况,获取的数据出现将缓冲区最后一段数据和前端开始的后续数据拼接的情况。

读取数据和拿取数据两种方式各包含3种操作方式,分别为包操作、字节操作、位操作。包操作直接获取一个或多个整个的包,字节操作根据形参获取起始位置到终止位置之间的多个字节的数据,位操作则根据位信息获取相应的位数据。

4、解析处理

解析处理包括解包处理、发包处理、特殊处理三种,解包处理对提取出的数据按照某种包格式进行解析,对应信息传输接收包的解析操作,发包处理对取出的数据执行发送操作,对应信息传输信息包的发送操作,特殊处理包括状态量赋值、标识符置数、特殊数据拷贝、数据计算等。每条解析处理操作包含处理函数、条件和条件重置三部分,智能程序员根据配置结果,即缓冲区定义输入信息依次书写条件语句、处理函数调用语句和条件重置语句,完成每个缓冲区的完整信息处理流程源代码书写。

处理函数的定义源代码为数字航天器正常信息流中包处理函数,接收包处理函数采用固化在源代码生成程序中和存储在文件中结合的方式,对信息包完整性判定采用固定文件替换的方式,对包头的解析和包内容的解析采用固化在源代码生成程序中的方式,发送包处理函数定义采用固化在源代码生成程序中的方式,根据包头标识符的数值、长度以及包内容的数据、长度完成组包部分的书写,根据传输总线、组包后总数据和长度书写发送语句。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1