CN117057640B - 一种基于解释器对飞行品质进行评估的方法及系统 - Google Patents

一种基于解释器对飞行品质进行评估的方法及系统 Download PDF

Info

Publication number
CN117057640B
CN117057640B CN202310922990.3A CN202310922990A CN117057640B CN 117057640 B CN117057640 B CN 117057640B CN 202310922990 A CN202310922990 A CN 202310922990A CN 117057640 B CN117057640 B CN 117057640B
Authority
CN
China
Prior art keywords
flight
script
interpreter
enumeration
data
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.)
Active
Application number
CN202310922990.3A
Other languages
English (en)
Other versions
CN117057640A (zh
Inventor
白杨
刘飞
翁键滨
卓文杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangdong U Wing Aviation Technology Co ltd
Original Assignee
Guangdong U Wing Aviation Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Guangdong U Wing Aviation Technology Co ltd filed Critical Guangdong U Wing Aviation Technology Co ltd
Priority to CN202310922990.3A priority Critical patent/CN117057640B/zh
Publication of CN117057640A publication Critical patent/CN117057640A/zh
Application granted granted Critical
Publication of CN117057640B publication Critical patent/CN117057640B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0639Performance analysis of employees; Performance analysis of enterprise or organisation operations
    • G06Q10/06398Performance of employee with respect to a job function
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition
    • G06N5/025Extracting rules from data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/26Government or public services
    • G06Q50/265Personal security, identity or safety
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/30Computing systems specially adapted for manufacturing

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Human Resources & Organizations (AREA)
  • Theoretical Computer Science (AREA)
  • Development Economics (AREA)
  • Educational Administration (AREA)
  • Economics (AREA)
  • General Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • Tourism & Hospitality (AREA)
  • Entrepreneurship & Innovation (AREA)
  • General Engineering & Computer Science (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Game Theory and Decision Science (AREA)
  • Quality & Reliability (AREA)
  • Operations Research (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Primary Health Care (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

本发明公开一种基于解释器对飞行品质进行评估的方法及系统,包括:通过解释器执行阶段划分脚本,根据飞行数据把整个飞行过程划分为若干飞行阶段;获取飞行数据中的每一帧数据,获取每一帧数据所在的飞行阶段,通过解释器执行所在的飞行阶段的评分脚本,并返回飞行员在每一帧数据的得分;根据每一帧数据的得分,执行评分项的得分获取步骤,得到所在的飞行阶段中所有评分项的最终得分;根据若干飞行阶段中所有评分项的最终得分对飞行品质进行评估。本发明用于解决现有的飞行评估系统一旦飞行品质评估规则改变,则需要重新编译生成可执行指令码的技术问题,从而达到无需重新编译生成可执行指令码,即可按照更新后的飞行品质评估规则完成评估的目的。

Description

一种基于解释器对飞行品质进行评估的方法及系统
技术领域
本发明涉及自动评估技术领域,具体涉及一种基于解释器对飞行品质进行评估的方法及系统。
背景技术
随着民航运输业整体规模的扩大,航空事故样本空间也随之扩大,航空安全更加引人关注。政府管理部门、各航空器制造商和航空公司一直致力于提高航空器的安全性,无论是结构设计上的改进、新的电子设备的应用、还是新的通信手段的采用,都是为了追求更高的安全性,而后才是在保证安全的前提下,实现经济效益的最大化,因此,航空安全是航空界整体关注的永恒课题。
近年来,驾驶舱自动化程度越来越高,航空器的可靠性和安全性有了很大提高,由机械原因诱发的飞行事故已逐年下降,而人为因素所诱发的飞行事故率却仍然据高不下,来自各方面的统计资料表明,至少有70%~80%的飞行事故和事故征候都是由人为因素所造成,因此,如何提高飞行机组的专业技术和综合素质,从而努力消除飞行安全中的人为因素,这是保证航空安全的重要基础。为了提高飞行机组的专业技术和综合素质,越来越多的航空公司引入了飞行评估系统对飞行品质进行评估。
现有的飞行评估系统内部有个供用户修改规则的规则编译器,规则编译器就是将用一定的数学表达式描述的飞行规则编译生成为类汇编形式的可执行指令码并保存到数据库中去。
评分时飞行评估系统从数据库中取出可执行指令码并执行,从而对飞行参数进行分析,评估飞行质量。飞行品质评估规则随着航空事业的发展依然在不断地完善,但是现有的飞行评估系统,一旦飞行品质评估规则改变,用户需要在规则编译器中重新编译生成可执行指令码,存入到数据库中,编译过程费时费力,并且存在部分用户对于规则编译器的使用并不熟悉,从而进一步增加了编译过程所耗费的时间和精力。
发明内容
为了克服现有技术的不足,本发明提供一种基于解释器对飞行品质进行评估的方法及系统,用于解决现有的飞行评估系统一旦飞行品质评估规则改变,则需要重新编译生成可执行指令码的技术问题,从而达到无需重新编译生成可执行指令码,即可按照更新后的飞行品质评估规则完成评估的目的。
为解决上述问题,本发明所采用的技术方案如下:
一种基于解释器对飞行品质进行评估的方法,包括以下步骤:
通过解释器执行阶段划分脚本,根据飞行数据把整个飞行过程划分为若干飞行阶段;
获取所述飞行数据中的每一帧数据,获取所述每一帧数据所在的飞行阶段,通过所述解释器执行所述所在的飞行阶段的评分脚本,并返回飞行员在所述每一帧数据的得分;
根据所述每一帧数据的得分,执行评分项的得分获取步骤,得到所述所在的飞行阶段中所有评分项的最终得分;
根据所述若干飞行阶段中所有评分项的最终得分对飞行品质进行评估。
作为本发明优选的实施方式,在执行评分项的得分获取步骤时,包括:
根据所述若干飞行阶段的排序,执行评分项的得分获取步骤,直至获取到当前飞行阶段中所有评分项的最终得分后,执行下一飞行阶段的评分项的得分获取步骤。
作为本发明优选的实施方式,在所述解释器执行阶段划分脚本和评分脚本时,包括:
通过所述解释器对所述阶段划分脚本和所述评分脚本进行词法分析;
所述词法分析,包括:
对所述阶段划分脚本和所述评分脚本进行扫描,把所述阶段划分脚本和所述评分脚本中的关键词、变量和字符串转换成对应的关键词枚举、变量枚举和存储数据的数据结构,并将转换结果复制到堆中。
作为本发明优选的实施方式,在将转换结果复制到堆中后,包括:
通过所述解释器读取所述堆中当前执行位置m的枚举,进行当前执行位置m的枚举分支并执行相关的语法分析和条件检测;
若语法和/或条件错误,则提示用户,并结束执行;
若语法和条件均正确,则所述当前执行位置m加上枚举长度,并通过所述解释器执行所述堆中关键词枚举对应的解释分支,所述解释分支执行完后,则所述当前执行位置m加上解释器执行的数据长度;
所述解释器重复上述步骤,直至检测到退出枚举或脚本结束枚举时退出。
作为本发明优选的实施方式,在执行相关的语法分析时,包括:
所述解释器逐行执行所述阶段划分脚本和所述评分脚本,并且在执行每一行之前,所述解释器会从所述堆中读取这一行的词元枚举,并检查是否符合c语言语法格式;
若不符合,则认为语法错误;
在执行相关的条件检测时,包括:
在完成语法分析后,所述解释器检测脚本枚举是否符合执行所需要的条件;
若不符合,则认为条件错误。
作为本发明优选的实施方式,在对所述阶段划分脚本和所述评分脚本进行转换时,包括:
扫描所述阶段划分脚本和所述评分脚本,得到当前扫描字符位置pos,并对所述堆进行初始化,得到当前栈位置TokenPos;
判断当前扫描字符位置pos处字符的字符类型,并根据判断的字符类型对所述阶段划分脚本和所述评分脚本进行转换。
作为本发明优选的实施方式,在根据判断的字符类型进行转换时,包括:
若字符类型为字母,则获取所述当前扫描字符位置pos到下一个空格之前的字符串;若所述字符串是c语言的关键字,则返回所述关键字对应的关键字枚举,且所述当前扫描字符位置pos加上关键字长度;若所述字符串不是关键字,则返回变量枚举,且所述当前扫描字符位置pos加上字符串长度;
若字符类型为数字,则获取所述当前扫描字符位置pos到下一个空格之前的数值;判断所述数值的数值类型,返回所述数值类型对应的数值枚举,且所述当前扫描字符位置pos加上数值长度。
作为本发明优选的实施方式,在根据判断的字符类型进行转换时,包括:
若字符类型为符号,则返回所述符号对应的符号枚举,且所述当前扫描字符位置pos加1;
其中,在返回所述符号对应的符号枚举时,包括:
将所述符号和c语言涉及到所有操作符逐一进行比对;
若是c语言涉及到的操作符,则返回所述符号对应的符号枚举;
若不是c语言涉及到的操作符,所述解释器停止执行,并提示用户非法字符错误;
其中,部分操作符会继续往下获取一个字符,如果下一个字符也是符号,则根据两个符号判断操作类型。
作为本发明优选的实施方式,在将转换结果复制到堆中时,包括:
若返回数值枚举和/或变量枚举,则把数值和/或变量的数据复制到栈上,且所述当前栈位置TokenPos加1再加上所述数据所需空间;
若返回其他枚举,则仅压入所述其他枚举,且所述当前栈位置TokenPos加1;
不断重复上述过程,直至所述阶段划分脚本和所述评分脚本的转换结果都被复制到所述栈上后,再把所述栈上的转换结果复制到所述堆中。
一种基于解释器对飞行品质进行评估的系统,包括:
阶段划分单元:用于通过解释器执行阶段划分脚本,根据飞行数据把整个飞行过程划分为若干飞行阶段;
得分获取单元:用于获取所述飞行数据中的每一帧数据,获取所述每一帧数据所在的飞行阶段,通过所述解释器执行所述所在的飞行阶段的评分脚本,并返回飞行员在所述每一帧数据的得分;根据所述每一帧数据的得分,执行评分项的得分获取步骤,得到所述所在的飞行阶段中所有评分项的最终得分;
评估单元:用于根据所述若干飞行阶段中所有评分项的最终得分对飞行品质进行评估。
相比现有技术,本发明的有益效果在于:
(1)本发明能够直接解释执行用户输入的飞行规则脚本来评估飞行员的操作水平,且不需要用户编译生成可执行指令码等步骤,从而有效避免因为飞行品质评估规则改变所带来的费时费力问题;
(2)本发明所提供的解释器不生成任何的中间代码,直接执行飞行规则脚本,从而能够更快且更准确地得到评估结果。
下面结合附图和具体实施方式对本发明作进一步详细说明。
附图说明
图1-本发明实施例的获取若干飞行阶段中所有评分项的最终得分的逻辑框图;
图2-本发明实施例的脚本词法分析以及执行过程的逻辑框图;
图3-本发明实施例的基于解释器对飞行品质进行评估的方法步骤图。
具体实施方式
本发明所提供的基于解释器对飞行品质进行评估的方法,如图3所示,包括以下步骤:
步骤S1:通过解释器执行阶段划分脚本,根据飞行数据把整个飞行过程划分为若干飞行阶段;
步骤S2:获取飞行数据中的每一帧数据,获取每一帧数据所在的飞行阶段,通过解释器执行所在的飞行阶段的评分脚本,并返回飞行员在每一帧数据的得分;
步骤S3:根据每一帧数据的得分,执行评分项的得分获取步骤,得到所在的飞行阶段中所有评分项的最终得分;
步骤S4:根据若干飞行阶段中所有评分项的最终得分对飞行品质进行评估。
具体地,在上述步骤S1中,解释器执行阶段划分脚本,根据飞行数据把整个飞行过程划分为数个独立阶段,包括:起飞阶段、爬升阶段、巡航阶段以及进近阶段等。
在上述步骤S2中,在通过解释器执行所在的飞行阶段的评分脚本时,包括:
根据评分脚本表述和飞行数据,执行不同的脚本分支语句,返回飞行员这一帧数据的得分。
将航空公司规定的每条飞行规则用脚本表达得到评分脚本,评分脚本描述了在某个飞行阶段下,飞行参数的逻辑关系以及数值范围。本发明通过使用运算符、飞行参数以及获取数据函数按一定的语法格式组成的解释器执行评分脚本。
脚本格式:
用运算符、关键字、飞行参数以及函数,按c语言的语法格式组成用以描述飞行规则的脚本(即评分脚本)。
例如,飞行规则“飞机俯仰角大于4度小于7度,获得2分”中涉及到的飞行参数有俯仰角pitch,获取双精度浮点型数据getDouble(),该飞行规则脚本如下:
if(7>getDouble("pitch")&&getDouble("pitch")>4)
{
return 2;
}
运算符包括常用的数学运算符、比较运算符以及逻辑运算符。
关键字采用如下几种:
if:表示条件语句;
else:表示条件语句否定分支(与if连用);
switch:表示开关语句(多重分支语句);
case:表示开关语句中的分支标记;
default:表示开关语句中的默认分支;
return:表示脚本返回特定值;
while:表示while循环结构;
for:表示for循环结构;
void:表示声明函数无返回值;
char:表示字符型类型数据;
int:表示整型数据;
float:表示单精度浮点型数据;
double:表示双精度浮点型数据;
bool:表示布偶型数据;
函数包括以下几类:
1.获取飞行数据函数:获取整型数据getInt()、获取双精度浮点型数据getDouble()、获取布偶型数据getBool()和设置时间容差setTolerance()。
2.用户自定义的函数;
3.c语言所有系统库函数。
在上述步骤S3中,在执行评分项的得分获取步骤时,如图1所示,包括:
根据若干飞行阶段的排序,执行评分项的得分获取步骤,直至获取到当前飞行阶段中所有评分项的最终得分后,执行下一飞行阶段的评分项的得分获取步骤。
具体地,评分项的得分获取步骤具体为:
将评分项每一帧的得分相加然后除以该评分项所在阶段的总帧数乘以权重获得这一评分项的最终得分。如果这个阶段有多个评分项则重复执行这个过程直到这个阶段所有评分项评分完成后进入下一阶段。
在上述步骤S1和步骤S2中,在解释器执行阶段划分脚本和评分脚本时,包括:
通过解释器对阶段划分脚本和评分脚本进行词法分析;
词法分析,如图2所示,包括:
对阶段划分脚本和评分脚本进行扫描,把阶段划分脚本和评分脚本中的关键词、变量和字符串转换成对应的关键词枚举、变量枚举和存储数据的数据结构,并将转换结果复制到堆中。
进一步地,在将转换结果复制到堆中后,如图2所示,包括:
通过解释器读取堆中当前执行位置m的枚举,进行当前执行位置m的枚举分支并执行相关的语法分析和条件检测;
若语法和/或条件错误,则提示用户,并结束执行;
若语法和条件均正确,则将当前执行位置m加上枚举长度(m=m+枚举长度),并通过解释器执行堆中关键词枚举对应的解释分支,解释分支执行完后,则当前执行位置m加上解释器执行的数据长度(m=m+解释器执行的数据长度);
解释器重复上述步骤,直至检测到退出枚举或脚本结束枚举时退出。
具体地,在将转换结果复制到堆中后,解释器执行脚本:当前执行位置m=0,解释器读取堆中m位置的枚举,进行该枚举分支并执行相关的语法分析和条件检测。若语法或条件错误则提示用户,结束执行。否则m=m+枚举长度,解释器执行该关键词枚举对应的解释分支,m=m+解释器执行的数据长度。解释器重复上述过程,直到检测到退出枚举或脚本结束枚举时退出。
更进一步地,在执行相关的语法分析时,包括:
解释器逐行执行阶段划分脚本和评分脚本,并且在执行每一行之前,解释器会从堆中读取这一行的词元枚举,并检查是否符合c语言语法格式;
若不符合,则认为语法错误;
在执行相关的条件检测时,包括:
在完成语法分析后,解释器检测脚本枚举是否符合执行所需要的条件;
若不符合,则认为条件错误。
进一步地,在对阶段划分脚本和评分脚本进行转换时,包括:
扫描阶段划分脚本和评分脚本,得到当前扫描字符位置pos,并对堆进行初始化,得到当前栈位置TokenPos;
判断当前扫描字符位置pos处字符的字符类型,并根据判断的字符类型对阶段划分脚本和评分脚本进行转换。
具体地,扫描阶段划分脚本和评分脚本,当前扫描字符位置pos=0,初始化堆,当前栈位置TokenPos=0。
更进一步地,在根据判断的字符类型进行转换时,包括:
若字符类型为换行符或空格,则当前扫描字符位置pos加1,得到下一扫描位置pos+1;
扫描下一扫描位置pos+1,并判断下一扫描位置pos+1处字符的字符类型,若字符类型为换行符或空格,则下一扫描位置pos+1加1,得到再下一扫描位置pos+2;
重复上述步骤,直至扫描位置处字符的字符类型不为换行符或空格。
更进一步地,在根据判断的字符类型进行转换时,包括:
若字符类型为字母,则获取当前扫描字符位置pos到下一个空格之前的字符串;
若字符串是c语言的关键字,则返回关键字对应的关键字枚举,且当前扫描字符位置pos加上关键字长度(pos+关键字长度);
若字符串不是关键字,则返回变量枚举,且当前扫描字符位置pos加上字符串长度(pos+字符串长度)。
更进一步地,在根据判断的字符类型进行转换时,包括:
若字符类型为数字,则获取当前扫描字符位置pos到下一个空格之前的数值;
判断数值的数值类型,返回数值类型对应的数值枚举,且当前扫描字符位置pos加上数值长度(pos+数值长度)。
更进一步地,在根据判断的字符类型进行转换时,包括:
若字符类型为符号,则返回符号对应的符号枚举,且当前扫描字符位置pos加1(pos+1)。
更进一步地,在返回符号对应的符号枚举时,包括:
将符号和c语言涉及到所有操作符逐一进行比对;
若是c语言涉及到的操作符,则返回符号对应的符号枚举;
若不是c语言涉及到的操作符,解释器停止执行,并提示用户非法字符错误;
其中,部分操作符(如+、-、*、/、%、>、<、&、|)会继续往下获取一个字符,如果下一个字符也是符号,则根据两个符号判断操作类型,且当前扫描字符位置pos加2(pos+2)。
进一步地,在将转换结果复制到堆中时,如图2所示,包括:
若返回数值枚举和/或变量枚举,则把数值和/或变量的数据复制到栈上,且当前栈位置TokenPos加1再加上数据所需空间(TokenPos+1+数值和/或变量的数据所需空间),上述过程即先复制枚举,后复制枚举对应的数值;
若返回其他枚举,则仅压入其他枚举,且当前栈位置TokenPos加1(Toke nPos+1);
不断重复上述过程,直至阶段划分脚本和评分脚本的转换结果都被复制到栈上后(即扫描完成,pos等于脚本长度),再把栈上的转换结果复制到堆中。
具体地,词法分析后保存在堆中的数据是阶段划分脚本和评分脚本内一个个词元对应的枚举,以及数值枚举和/或变量枚举对应的数据。
解释器执行脚本的步骤:
1.对脚本进行词法分析:
从词汇的角度分析源文本,循环分析脚本词元的类型,如果词元是变量或函数名,则注册变量名,向栈压入变量枚举。如果词元是数值,对数值进行处理,把处理好的数值保存到结构体Value的标签中并标记数值类型,向栈压入词元对应类型的枚举。把Value结构体数据压入栈。循环扫描完脚本之后把栈上的数据复制到堆上,返回指向堆的指针。
例如,输入脚本“double a=8.0;if(a<getDouble("pitch")){return 0;}”,其中a是双精度型数值类型的变量名,函数getDouble返回值双精度型,词法分析将得出如下表1所示的词元链表:
表1词元链表
2.执行脚本
脚本解释器读取堆中的词元枚举,逐行执行脚本。在执行过程中根据词元枚举执行不同的分支,并检查执行条件,如果所在行有错误,结束执行并提示用户。否则执行到脚本结束枚举或脚本退出枚举时退出并返回退出值。
例如,输入脚本“double a=getDouble("pitch");if(a<7.0){return 2;}”,其中a是双精度型数值类型的变量名,函数getDouble返回值双精度型,解释器将按以下表2所示步骤执行。
表2解释器执行步骤表
本发明所提供的基于解释器对飞行品质进行评估的系统,包括:阶段划分单元、得分获取单元以及评估单元。
阶段划分单元:用于通过解释器执行阶段划分脚本,根据飞行数据把整个飞行过程划分为若干飞行阶段。
得分获取单元:用于获取飞行数据中的每一帧数据,获取每一帧数据所在的飞行阶段,通过解释器执行所在的飞行阶段的评分脚本,并返回飞行员在每一帧数据的得分;根据每一帧数据的得分,执行评分项的得分获取步骤,得到所在的飞行阶段中所有评分项的最终得分。
评估单元:用于根据若干飞行阶段中所有评分项的最终得分对飞行品质进行评估。
上述实施方式仅为本发明的优选实施方式,不能以此来限定本发明保护的范围,本领域的技术人员在本发明的基础上所做的任何非实质性的变化及替换均属于本发明所要求保护的范围。

Claims (8)

1.一种基于解释器对飞行品质进行评估的方法,其特征在于,包括以下步骤:
通过解释器执行阶段划分脚本,根据飞行数据把整个飞行过程划分为若干飞行阶段;
获取所述飞行数据中的每一帧数据,获取所述每一帧数据所在的飞行阶段,通过所述解释器执行所述所在的飞行阶段的评分脚本,并返回飞行员在所述每一帧数据的得分;
根据所述每一帧数据的得分,执行评分项的得分获取步骤,得到所述所在的飞行阶段中所有评分项的最终得分;
根据所述若干飞行阶段中所有评分项的最终得分对飞行品质进行评估;
其中,将航空公司规定的每条飞行规则用脚本表达得到评分脚本,所述评分脚本描述了在某个飞行阶段下,飞行参数的逻辑关系以及数值范围;
所述评分脚本为:用运算符、关键字、飞行参数以及函数,按c语言的语法格式组成用以描述飞行规则的脚本;
所述运算符包括:常用的数学运算符、比较运算符以及逻辑运算符;所述函数包括:获取飞行数据函数、用户自定义的函数以及c语言所有系统库函数;所述关键字包括:if、else、switch、case、default、return、while、for、void、char、int、float、double以及bool;
在所述解释器执行阶段划分脚本和评分脚本时,包括:
通过所述解释器对所述阶段划分脚本和所述评分脚本进行词法分析;
所述词法分析,包括:
对所述阶段划分脚本和所述评分脚本进行扫描,把所述阶段划分脚本和所述评分脚本中的关键词、变量和字符串转换成对应的关键词枚举、变量枚举和存储数据的数据结构,并将转换结果复制到堆中;
在将转换结果复制到堆中后,包括:
通过所述解释器读取所述堆中当前执行位置m的枚举,进行当前执行位置m的枚举分支并执行相关的语法分析和条件检测;
若语法和/或条件错误,则提示用户,并结束执行;
若语法和条件均正确,则所述当前执行位置m加上枚举长度,并通过所述解释器执行所述堆中关键词枚举对应的解释分支,所述解释分支执行完后,则所述当前执行位置m加上解释器执行的数据长度;
所述解释器重复上述步骤,直至检测到退出枚举或脚本结束枚举时退出。
2.根据权利要求1所述的基于解释器对飞行品质进行评估的方法,其特征在于,在执行评分项的得分获取步骤时,包括:
根据所述若干飞行阶段的排序,执行评分项的得分获取步骤,直至获取到当前飞行阶段中所有评分项的最终得分后,执行下一飞行阶段的评分项的得分获取步骤。
3.根据权利要求1所述的基于解释器对飞行品质进行评估的方法,其特征在于,在执行相关的语法分析时,包括:
所述解释器逐行执行所述阶段划分脚本和所述评分脚本,并且在执行每一行之前,所述解释器会从所述堆中读取这一行的词元枚举,并检查是否符合c语言语法格式;
若不符合,则认为语法错误;
在执行相关的条件检测时,包括:
在完成语法分析后,所述解释器检测脚本枚举是否符合执行所需要的条件;
若不符合,则认为条件错误。
4.根据权利要求1所述的基于解释器对飞行品质进行评估的方法,其特征在于,在对所述阶段划分脚本和所述评分脚本进行转换时,包括:
扫描所述阶段划分脚本和所述评分脚本,得到当前扫描字符位置pos,并对所述堆进行初始化,得到当前栈位置TokenPos;
判断当前扫描字符位置pos处字符的字符类型,并根据判断的字符类型对所述阶段划分脚本和所述评分脚本进行转换。
5.根据权利要求4所述的基于解释器对飞行品质进行评估的方法,其特征在于,在根据判断的字符类型进行转换时,包括:
若字符类型为字母,则获取所述当前扫描字符位置pos到下一个空格之前的字符串;若所述字符串是c语言的关键字,则返回所述关键字对应的关键字枚举,且所述当前扫描字符位置pos加上关键字长度;若所述字符串不是关键字,则返回变量枚举,且所述当前扫描字符位置pos加上字符串长度;
若字符类型为数字,则获取所述当前扫描字符位置pos到下一个空格之前的数值;判断所述数值的数值类型,返回所述数值类型对应的数值枚举,且所述当前扫描字符位置pos加上数值长度。
6.根据权利要求4所述的基于解释器对飞行品质进行评估的方法,其特征在于,在根据判断的字符类型进行转换时,包括:
若字符类型为符号,则返回所述符号对应的符号枚举,且所述当前扫描字符位置pos加1;
其中,在返回所述符号对应的符号枚举时,包括:
将所述符号和c语言涉及到所有操作符逐一进行比对;
若是c语言涉及到的操作符,则返回所述符号对应的符号枚举;
若不是c语言涉及到的操作符,所述解释器停止执行,并提示用户非法字符错误;
其中,部分操作符会继续往下获取一个字符,如果下一个字符也是符号,则根据两个符号判断操作类型。
7.根据权利要求4所述的基于解释器对飞行品质进行评估的方法,其特征在于,在将转换结果复制到堆中时,包括:
若返回数值枚举和/或变量枚举,则把数值和/或变量的数据复制到栈上,且所述当前栈位置TokenPos加1再加上所述数据所需空间;
若返回其他枚举,则仅压入所述其他枚举,且所述当前栈位置TokenPos加1;
不断重复上述过程,直至所述阶段划分脚本和所述评分脚本的转换结果都被复制到所述栈上后,再把所述栈上的转换结果复制到所述堆中。
8.一种基于解释器对飞行品质进行评估的系统,其特征在于,包括:
阶段划分单元:用于通过解释器执行阶段划分脚本,根据飞行数据把整个飞行过程划分为若干飞行阶段;
得分获取单元:用于获取所述飞行数据中的每一帧数据,获取所述每一帧数据所在的飞行阶段,通过所述解释器执行所述所在的飞行阶段的评分脚本,并返回飞行员在所述每一帧数据的得分;根据所述每一帧数据的得分,执行评分项的得分获取步骤,得到所述所在的飞行阶段中所有评分项的最终得分;
评估单元:用于根据所述若干飞行阶段中所有评分项的最终得分对飞行品质进行评估;
其中,将航空公司规定的每条飞行规则用脚本表达得到评分脚本,所述评分脚本描述了在某个飞行阶段下,飞行参数的逻辑关系以及数值范围;
所述评分脚本为:用运算符、关键字、飞行参数以及函数,按c语言的语法格式组成用以描述飞行规则的脚本;
所述运算符包括:常用的数学运算符、比较运算符以及逻辑运算符;所述函数包括:获取飞行数据函数、用户自定义的函数以及c语言所有系统库函数;所述关键字包括:if、else、switch、case、default、return、while、for、void、char、int、float、double以及bool;
在所述解释器执行阶段划分脚本和评分脚本时,包括:
通过所述解释器对所述阶段划分脚本和所述评分脚本进行词法分析;
所述词法分析,包括:
对所述阶段划分脚本和所述评分脚本进行扫描,把所述阶段划分脚本和所述评分脚本中的关键词、变量和字符串转换成对应的关键词枚举、变量枚举和存储数据的数据结构,并将转换结果复制到堆中;
在将转换结果复制到堆中后,包括:
通过所述解释器读取所述堆中当前执行位置m的枚举,进行当前执行位置m的枚举分支并执行相关的语法分析和条件检测;
若语法和/或条件错误,则提示用户,并结束执行;
若语法和条件均正确,则所述当前执行位置m加上枚举长度,并通过所述解释器执行所述堆中关键词枚举对应的解释分支,所述解释分支执行完后,则所述当前执行位置m加上解释器执行的数据长度;
所述解释器重复上述步骤,直至检测到退出枚举或脚本结束枚举时退出。
CN202310922990.3A 2023-07-26 2023-07-26 一种基于解释器对飞行品质进行评估的方法及系统 Active CN117057640B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310922990.3A CN117057640B (zh) 2023-07-26 2023-07-26 一种基于解释器对飞行品质进行评估的方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310922990.3A CN117057640B (zh) 2023-07-26 2023-07-26 一种基于解释器对飞行品质进行评估的方法及系统

Publications (2)

Publication Number Publication Date
CN117057640A CN117057640A (zh) 2023-11-14
CN117057640B true CN117057640B (zh) 2024-04-12

Family

ID=88656400

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310922990.3A Active CN117057640B (zh) 2023-07-26 2023-07-26 一种基于解释器对飞行品质进行评估的方法及系统

Country Status (1)

Country Link
CN (1) CN117057640B (zh)

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1841328A (zh) * 2005-04-02 2006-10-04 华为技术有限公司 脚本语言的自动机方法
CN102495749A (zh) * 2011-11-29 2012-06-13 珠海翔翼航空技术有限公司 一种将飞行规则转换成便于计算机执行的指令码的方法
CN104143223A (zh) * 2014-06-16 2014-11-12 珠海翔翼航空技术有限公司 一种飞行员飞行操纵品质自动评估系统及其方法
CN104267654A (zh) * 2014-08-01 2015-01-07 中南大学 梯形图程序转换成指令表程序及其编译的方法与系统
CN106502640A (zh) * 2016-09-19 2017-03-15 芯海科技(深圳)股份有限公司 一种解释自定义脚本并烧录的方法
JP2017120611A (ja) * 2015-12-30 2017-07-06 株式会社 ビーアイマトリックスBi Matrix Co.,Ltd 商用インタープリタを用いた、スクリプトに基づくデータ処理システム
EP3333746A1 (en) * 2016-12-12 2018-06-13 AO Kaspersky Lab System and method of execution of code by an interpreter
CN110018829A (zh) * 2019-04-01 2019-07-16 北京东方国信科技股份有限公司 提高pl/sql语言解释器执行效率的方法及装置
CN110861085A (zh) * 2019-11-18 2020-03-06 哈尔滨工业大学 一种基于VxWorks的机械臂指令解释器系统
CN111199142A (zh) * 2019-12-19 2020-05-26 北京航天测控技术有限公司 一种qar数据处理方法、装置及系统
CN112419126A (zh) * 2020-12-07 2021-02-26 安徽四创电子股份有限公司 一种基于专家系统的城市公共安全视频监控评估系统
CN112686523A (zh) * 2020-12-25 2021-04-20 中国航空工业集团公司沈阳飞机设计研究所 一种飞机执行闭环机动任务下的飞行品质评估方法及系统
CN113076108A (zh) * 2021-06-04 2021-07-06 华控清交信息科技(北京)有限公司 一种代码执行方法、装置和用于代码执行的装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090024366A1 (en) * 2007-07-18 2009-01-22 Microsoft Corporation Computerized progressive parsing of mathematical expressions
US10671609B2 (en) * 2016-11-18 2020-06-02 Change Healthcare Holdings, Llc Methods and apparatuses for facilitating compilation of measure data

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1841328A (zh) * 2005-04-02 2006-10-04 华为技术有限公司 脚本语言的自动机方法
CN102495749A (zh) * 2011-11-29 2012-06-13 珠海翔翼航空技术有限公司 一种将飞行规则转换成便于计算机执行的指令码的方法
CN104143223A (zh) * 2014-06-16 2014-11-12 珠海翔翼航空技术有限公司 一种飞行员飞行操纵品质自动评估系统及其方法
CN104267654A (zh) * 2014-08-01 2015-01-07 中南大学 梯形图程序转换成指令表程序及其编译的方法与系统
JP2017120611A (ja) * 2015-12-30 2017-07-06 株式会社 ビーアイマトリックスBi Matrix Co.,Ltd 商用インタープリタを用いた、スクリプトに基づくデータ処理システム
CN106502640A (zh) * 2016-09-19 2017-03-15 芯海科技(深圳)股份有限公司 一种解释自定义脚本并烧录的方法
EP3333746A1 (en) * 2016-12-12 2018-06-13 AO Kaspersky Lab System and method of execution of code by an interpreter
CN110018829A (zh) * 2019-04-01 2019-07-16 北京东方国信科技股份有限公司 提高pl/sql语言解释器执行效率的方法及装置
CN110861085A (zh) * 2019-11-18 2020-03-06 哈尔滨工业大学 一种基于VxWorks的机械臂指令解释器系统
CN111199142A (zh) * 2019-12-19 2020-05-26 北京航天测控技术有限公司 一种qar数据处理方法、装置及系统
CN112419126A (zh) * 2020-12-07 2021-02-26 安徽四创电子股份有限公司 一种基于专家系统的城市公共安全视频监控评估系统
CN112686523A (zh) * 2020-12-25 2021-04-20 中国航空工业集团公司沈阳飞机设计研究所 一种飞机执行闭环机动任务下的飞行品质评估方法及系统
CN113076108A (zh) * 2021-06-04 2021-07-06 华控清交信息科技(北京)有限公司 一种代码执行方法、装置和用于代码执行的装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
一个诠释编译理论的解释器Tina;房超;杨连贺;;电脑知识与技术;20180515(14);全文 *
采用模糊逻辑理论的飞行操纵品质评估模型;张龙;徐开俊;;中国民航飞行学院学报;20160915(05);全文 *

Also Published As

Publication number Publication date
CN117057640A (zh) 2023-11-14

Similar Documents

Publication Publication Date Title
Schwartz et al. Programming with sets: An introduction to SETL
US10726198B2 (en) Method, device, and system, for identifying data elements in data structures
Wirth PL360, a programming language for the 360 computers
Lindén et al. Hfst—a system for creating nlp tools
CN101576850B (zh) 一种改进的面向宿主的嵌入式软件白盒测试方法
Drain et al. Deepdebug: Fixing python bugs using stack traces, backtranslation, and code skeletons
EP1025492A1 (en) Method for the generation of isa simulators and assemblers from a machine description
Cooke-Fox et al. Computer translation of IUPAC systematic organic chemical nomenclature. 3. Syntax analysis and semantic processing
CN114385491A (zh) 一种基于深度学习的js转译器缺陷检测方法
CN117057640B (zh) 一种基于解释器对飞行品质进行评估的方法及系统
Hocking et al. Optical character recognition for South African languages
Oflazer et al. Practical bootstrapping of morphological analyzers
Sunil et al. Preprocessors in NLP applications: In the context of English to Malayalam Machine Translation
CN115033280A (zh) 一种基于知识图谱的需求规格文档自动化生成方法及存储介质
Ughade et al. Mathematical word problem solving using natural language processing
Bel et al. A method towards the fully automatic merging of lexical resources
CN112965909A (zh) 测试数据、测试用例生成方法及系统、存储介质
Kramer et al. Bibliographic meta-data extraction using probabilistic finite state transducers
Rajbhoj et al. DocToModel: Automated Authoring of Models from Diverse Requirements Specification Documents
Ohto et al. Proposal of extracting state variables and values from requirement specifications in japanese by using dependency analysis
CN116910646B (zh) So网站中知识单元的内部链接目的分类方法
Kassmi et al. Spelling error detection and correction for Arabic using NooJ
JP4033089B2 (ja) 自然言語処理システム及び自然言語処理方法、並びにコンピュータ・プログラム
Diaconescu et al. Complex Natural Language Processing System Architecture
Alam et al. A new approach to develop an english to bangla machine translation system

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