CN114579084A - 发动机的控制软件的形式化处理方法和装置 - Google Patents
发动机的控制软件的形式化处理方法和装置 Download PDFInfo
- Publication number
- CN114579084A CN114579084A CN202011373919.7A CN202011373919A CN114579084A CN 114579084 A CN114579084 A CN 114579084A CN 202011373919 A CN202011373919 A CN 202011373919A CN 114579084 A CN114579084 A CN 114579084A
- Authority
- CN
- China
- Prior art keywords
- control
- script
- software
- formalized
- modeling
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/10—Requirements analysis; Specification techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
-
- 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/35—Creation or generation of source code model driven
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- Debugging And Monitoring (AREA)
Abstract
本公开提供了一种发动机的控制软件的形式化处理方法和装置,涉及形式化技术领域,所述方法包括:接收用户输入的所述控制软件的半形式化的控制需求;根据定义的形式化语言,将所述半形式化的控制需求形成为形式化的控制需求;根据所述发动机的控制安全规则,对所述形式化的控制需求进行验证;将验证后的所述形式化的控制需求转换为建模脚本,其中,所述建模脚本被配置为在被建模软件执行后生成所述控制软件的仿真模型。
Description
技术领域
本公开涉及形式化技术领域,尤其是一种发动机的控制软件的形式化处理方法和装置。
背景技术
航空发动机的控制系统的安全性和可靠性有着非常严格的要求,例如,失效概率要求不高于10-9/飞行小时。例如,民用航空发动机的控制可以采用全权限数字电子控制(FADEC)技术,其核心功能通过控制软件来实现。
控制软件具有大规模、高安全性和高成本的特点,先进的航空发动机的控制软件的代码量都是在百万行的量级。由于软件测试的不确定性以及复杂逻辑失效概率难以精确量化等原因,缺乏有效的确定性的方法对软件的安全性进行度量。
软件需求是软件产品开发过程中的关键输入。在发动机控制领域,控制软件的需求通常为自然语言描述的文档,对需求的确认往往采用行业专家人工核查的方法,但是这种方法往往只能给出定性的结论,主观性较强,当验证功能和结构复杂的发动机控制软件时,具有较大的局限性。
随着形式化方法的不断发展,逐渐采用自动化的方法对控制软件的需求进行定量的验证,以在研发的早期阶段及时发现和解决需求中存在的问题,提高软件研发的效率。
软件形式化方法是建立在严格数学基础上的软件开发方法,逻辑、代数、自动机、图论等构成了形式化方法的数学基础。形式化方法以及相应的形式化语言往往晦涩难懂,要求使用者具有很强的数学功底,普通工程师难以掌握该方法。并且,由于形式化方法的严格语义要求,使得在实际工程或技术领域,难以覆盖全部技术要求,通常只能在单个、有限的范围内进行应用。
发明内容
发明人注意到,相关技术中,形式化方法往往与软件开发方法之间割裂开来。传统的控制软件的开发流程基于文档化的控制软件的需求,工程师通过阅读需求在建模软件等工具上建立控制软件的仿真模型,通过建模软件的自动代码生成工具生成嵌入式代码,经过一系列的测试验证之后完成整个软件的开发工作。
形式化方法往往基于特定的形式化语言和工具,只能实现单一的验证工作,其建立的形式化模型往往单独存在而不能继续利用,与软件开发流程体系之间没有很好的融合。
有鉴于此,本公开实施例提出了如下技术方案。
根据本公开实施例的一方面,提供一种发动机的控制软件的形式化处理方法,包括:接收用户输入的所述控制软件的半形式化的控制需求;根据定义的形式化语言,将所述半形式化的控制需求形成为形式化的控制需求;根据所述发动机的控制安全规则,对所述形式化的控制需求进行验证;将验证后的所述形式化的控制需求转换为建模脚本,其中,所述建模脚本被配置为在被建模软件执行后生成所述控制软件的仿真模型。
在一些实施例中,所述接收用户输入的所述控制软件的半形式化的控制需求包括:响应于用户输入的多个变量,对所述多个变量进行检查,以使得所述多个变量的名称彼此不同;响应于用户输入的多个功能任务和所述多个功能任务对应的彼此不同的多个编号,对每个功能任务进行检查,以使得每个功能任务中的每个变量均属于所述多个变量;响应于用户输入的多个控制状态的调用逻辑,对每个控制状态的调用逻辑进行检查,以使得每个控制状态调用的每个功能任务的编号均属于所述多个编号;接收用户输入的状态迁移逻辑和时序控制逻辑,所述状态迁移逻辑包括所述控制软件需要的不同控制状态之间的迁移顺序,所述时序控制逻辑包括所述控制软件需要的每个控制状态调用的每个功能任务的持续时间。
在一些实施例中,所述将验证后的所述形式化的控制需求转换为所述建模软件能够执行的建模脚本包括:将所述多个变量转换为第一脚本;利用所述形式化语言与所述建模软件的脚本语言之间的转换引擎,将所述多个功能任务中的每个功能任务转换为第二脚本;将所述多个控制状态的调用逻辑中的每个调用逻辑转换为第三脚本;利用所述转换引擎将所述状态迁移逻辑和所述时序控制逻辑转换为第四脚本;其中,所述建模脚本包括所述第一脚本、所述第二脚本、所述第三脚本和所述第四脚本。
在一些实施例中,所述将验证后的所述形式化的控制需求转换为所述建模软件能够执行的建模脚本还包括:根据所述建模软件的要求,将所述形式化的控制需求中所述控制软件的配置需求转换为第五脚本,所述建模脚本还包括所述第五脚本。
在一些实施例中,所述第一脚本被所述建模软件执行后生成所述仿真模型的数据文件;所述第二脚本、所述第三脚本和所述第四脚本被所述建模软件执行后生成所述仿真模型的模型文件;所述第五脚本被所述建模软件执行后生成所述仿真模型的配置文件。
在一些实施例中,所述发动机为航空发动机。
根据本公开实施例的另一方面,提供一种发动机的控制软件的形式化处理装置,包括:接收模块,被配置为接收用户输入的所述控制软件的半形式化的控制需求;形成模块,被配置为根据定义的形式化语言,将所述半形式化的控制需求形成为形式化的控制需求;验证模块,被配置为根据所述发动机的控制安全规则,对所述形式化的控制需求进行验证;转换模块,被配置为将验证后的所述形式化的控制需求转换为建模脚本,其中,所述建模脚本被配置为在被建模软件执行后生成所述控制软件的仿真模型。
在一些实施例中,所述接收模块被配置为:响应于用户输入的多个变量,对所述多个变量进行检查,以使得所述多个变量的名称彼此不同;响应于用户输入的多个功能任务和所述多个功能任务对应的彼此不同的多个编号,对每个功能任务进行检查,以使得每个功能任务中的每个变量均属于所述多个变量;响应于用户输入的多个控制状态的调用逻辑,对每个控制状态的调用逻辑进行检查,以使得每个控制状态调用的每个功能任务的编号均属于所述多个编号;接收用户输入的状态迁移逻辑和时序控制逻辑,所述状态迁移逻辑包括所述控制软件需要的不同控制状态之间的迁移顺序,所述时序控制逻辑包括所述控制软件需要的每个控制状态调用的每个功能任务的持续时间。
在一些实施例中,所述转换模块被配置为:将所述多个变量转换为第一脚本;利用所述形式化语言与所述建模软件的脚本语言之间的转换引擎,将所述多个功能任务中的每个功能任务转换为第二脚本;将所述多个控制状态的调用逻辑中的每个调用逻辑转换为第三脚本;利用所述转换引擎将所述状态迁移逻辑和所述时序控制逻辑转换为第四脚本;其中,所述建模脚本包括所述第一脚本、所述第二脚本、所述第三脚本和所述第四脚本。
在一些实施例中,所述转换模块还被配置为:根据所述建模软件的要求,将所述形式化的控制需求中所述控制软件的配置需求转换为第五脚本,所述建模脚本还包括所述第五脚本。
在一些实施例中,所述第一脚本被所述建模软件执行后生成所述仿真模型的数据文件;所述第二脚本、所述第三脚本和所述第四脚本被所述建模软件执行后生成所述仿真模型的模型文件;所述第五脚本被所述建模软件执行后生成所述仿真模型的配置文件。
在一些实施例中,所述发动机为航空发动机。
根据本公开实施例的又一方面,提供一种发动机的控制软件的形式化处理装置,包括:存储器;以及耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器的指令执行上述任意一个实施例所述的方法。
根据本公开实施例的再一方面,提供一种计算机可读存储介质,其上存储有计算机程序指令,该指令被处理器执行时实现上述任意一个实施例所述的方法。
本公开实施例中,将形式验证后的控制软件的控制需求转换为建模软件能够执行并生成控制软件的仿真模型的建模脚本,从而实现控制软件的控制需求的形式化验证与建模软件对控制软件的开发的融合,可以有效提高控制软件的开发效率。
下面通过附图和实施例,对本公开的技术方案做进一步的详细描述。
附图说明
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本公开一些实施例的发动机的控制软件的形式化处理方法的流程示意图;
图2是图1所示步骤102的一些实现方式的流程示意图;
图3是图1所示步骤108的一些实现方式的流程示意图;
图4是根据本公开一些实施例的发动机的控制软件的形式化处理装置的结构示意图;
图5是根据本公开另一些实施例的发动机的控制软件的形式化处理装置的结构示意图。
具体实施方式
下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。
在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
图1是根据本公开一些实施例的发动机的控制软件的形式化处理方法的流程示意图。在一些实施例中,发动机为航空发动机,例如民用航空发动机。在一些实施例中,控制软件为嵌入式软件。
在步骤102,接收用户输入的控制软件的半形式化的控制需求。
例如,根据定义的半形式化语言语法要求,用户通过接口模块工具对半形式化的控制需求进行在线编辑。另外,还可以通过接口模块工具内置的语法检查器和一致性检查器对用户已输入的控制需求进行在线检查,并在不满足半形式化语言语法要求的情况下,将检查结果反馈给用户进行修改,从而完成半形式化的控制需求的导入。
在步骤104,根据定义的形式化语言,将半形式化的控制需求形成为形式化的控制需求。
例如,可以通过建模工具对半形式化的控制需求进行抽取分析和转换,按照所定义的严格数学语义的形式化语言完成形式化化需求的模型构建,即将半形式化的控制需求形成为形式化的控制需求。作为示例,可以对半形式化的控制需求中的关键词进行抽取分析,通过树和图的数据结构进行存储,形成数据中台,然后按照所定义的形式化语言构建控制需求的形式化模型。
在步骤106,根据发动机的控制安全规则,对形式化的控制需求进行验证。
例如,根据发动机预期的使用环境和发动机的工作限制,通过安全性分析方法将适航条款中要求的灾难性事件进行分解,以确定发动机的控制系统部件的安全性属性要求。另外,可以结合发动机控制专家的经验确定发动机控制系统运行的安全性属性要求,从而建立发动机的控制安全规则。
作为一些实现方式,可以按照所建立的发动机的控制安全规则,对形式化的控制需求的二义性进行分析,开展数据流分析和控制流分析,对控制功能时序冲突进行检查,对安全关键属性进行验证,输出形式化的验证结果。
在一些实施例中,验证结果可以支撑控制需求的迭代修订。即,如果验证结果表明形式化的控制需求不满足要求,则提示用户重新输入半形式化的控制需求,进而重复执行步骤102-步骤106,直到验证结果表明形式化的控制需求满足要求。
在步骤108,将验证后的形式化的控制需求转换为建模脚本。
这里,转换后的建模脚本被配置为在被建模软件执行后生成控制软件的仿真模型。换言之,建模脚本能够被建模软件执行,并且,在执行后可以生成控制软件的仿真模型。例如,建模软件可以是MatLab或Simulink等商用建模软件。
上述实施例中,将形式验证后的控制软件的控制需求转换为建模软件能够执行并生成控制软件的仿真模型的建模脚本,从而实现控制软件的控制需求的形式化验证与建模软件对控制软件的开发的融合,可以有效提高控制软件的开发效率。
下面结合图2和图3介绍图1所示步骤102和步骤108的一些具体实现方式。
图2是图1所示步骤102的一些实现方式的流程示意图。
在步骤112,响应于用户输入的多个变量,对多个变量进行检查,以使得多个变量的名称彼此不同。
例如,可以将用户输入的多个变量导入变量数据字典中,进而对数据字典中的变量进行检查,以确认每个变量的名称的唯一性,即,使得多个变量的名称彼此不同。
在一些实施例中,变量的属性可以包括变量的名称、变量的存储类型、变量的取值类型、变量的初始值、变量的取值范围等。作为一些实现方式,存储类型例如可以包括总线数据、信号数据、参数数据等。作为一些实现方式,取值类型例如可以包括布尔数、浮点数、整数等。
可以理解的是,如果发现变量的名称不唯一,可以提示用户重新输入,最终使得每个变量的名称均唯一。
在步骤122,响应于用户输入的多个功能任务和多个功能任务对应的彼此不同的多个编号,对每个功能任务进行检查,以使得每个功能任务中的每个变量均属于多个变量。
例如,用户在接口模块提供的输入界面上,按照所定义的半形式化语法,输入各个控制功能任务并对各个功能任务进行编号。在用户输入后,对输入的各个控制功能任务进行变量检查,以确认各个控制功能任务中的变量均已在步骤112中的数据字典中进行了定义,即,使得每个功能任务中的每个变量均属于用户在步骤112中输入的多个变量。
例如,功能任务1中的变量包括变量a、变量b和变量c;功能任务2中的变量包括变量a、变量d和变量e。
在步骤132,响应于用户输入的多个控制状态的调用逻辑,对每个控制状态的调用逻辑进行检查,以使得每个控制状态调用的每个功能任务的编号均属于多个编号。
这里,每个控制状态的调用逻辑对应至少一个功能任务。通过对各个控制状态计算所调用的功能任务的编号进行检查,确认已在步骤122中录入,即,使得每个控制状态调用的每个功能任务的编号均属于用户在步骤122中输入的多个编号。
例如,控制状态1的调用逻辑调用的功能任务包括功能任务1、功能任务3和功能任务5;控制状态2的调用逻辑调用的功能任务包括功能任务3和功能任务4。
在步骤142,接收用户输入的状态迁移逻辑和时序控制逻辑。
状态迁移逻辑包括控制软件需要的不同控制状态之间的迁移顺序。例如,控制软件需要按照如下顺序迁移:控制状态1、控制状态3、控制状态2、控制状态5。
时序控制逻辑包括控制软件需要的每个控制状态调用的每个功能任务的持续时间。例如,控制状态1调用的功能任务包括功能任务1、功能任务3和功能任务5,时序控制逻辑包括功能任务1、功能任务3和功能任务5中的每一个的持续时间。
上述实现方式中,按照顺序接收用户输入的变量、功能任务和控制状态的调用逻辑,并且在接收后进行相应地检查。之后,再接收用户输入的状态迁移逻辑和时序控制逻辑。这样的方式可以使得半形式化的控制需求的输入更准确,进而使得后续的建模脚本和执行建模建波后的仿真模型更准确。
图3是图1所示步骤108的一些实现方式的流程示意图。
如图3所示,步骤108转换的建模脚本可以包括第一脚本、第二脚本、第三脚本和第四脚本。
在步骤118,将多个变量转换为第一脚本。
在一些实施例中,可以根据变量的存储类型对变量进行转换。例如,总线数据、信号数据和参数数据分别对应MATLAB/Simulink工具中的Simulink.Bus、mpt.Signal、Simulink.Parameter。
例如,可以将控制需求的所有变量导出到WorkSpaceData.m脚本文件中。也即,将多个变量转换为第一脚本。
在步骤128,利用形式化语言与建模软件的脚本语言之间的转换引擎,将多个功能任务中的每个功能任务转换为第二脚本。
例如,可以将所定义的形式化语言与MATLAB/Simulink的M语言语义进行规则对应,以建立相应的语义转换引擎。进而,可以利用转换引擎将形式化语言建立的各个功能任务转换成MATLAB/Simulink的建模模块、模块设置参数以及模块连接关系等信息,然后,可以利用MATLAB/Simulink工具所提供的建模函数add_block、add_line、set_Param等完成第二脚本的构建。
可以理解的是,每个功能任务均被转换为一个第二脚本,故多个功能任务中被转换为对应的多个第二脚本。
在步骤138,将多个控制状态的调用逻辑中的每个调用逻辑转换为第三脚本。
这里,第三脚本反映的是形式化描述语言建立的控制状态的调用逻辑转换成的功能任务的连接关系。例如,可以根据步骤128中所生成各个控制功能任务的各个第二脚本的引用模型(reference model)关联关系,通过MATLAB/Simulink的建模函数构建连接关系脚本,即第三脚本。
在步骤148,利用转换引擎将状态迁移逻辑和时序控制逻辑转换为第四脚本。
例如,可以利用转换引擎对状态迁移逻辑和时序控制逻辑进行语义转换,以得到Simulink/Stateflow建模脚本,即第四脚本。
例如,第一脚本被建模软件执行后可以生成仿真模型的数据文件,例如Mat数据文件。例如,第二脚本、第三脚本和第四脚本被建模软件执行后可以生成仿真模型的模型文件,例如mdl模型文件。
上述实施例中,将变量、功能任务、控制状态的调用逻辑、状态迁移逻辑和时序控制逻辑转换成相应的第一至第四脚本。第一至第四脚本被建模软件执行时即可得到控制软件的仿真模型。这样的方式下,一方面,控制需求的输入更为准确;另一方面,建模软件执行各脚本时可以更准确地形成控制软件的仿真模型。
在一些实施例中,参见图3,步骤108还可以包括步骤158。这种情况下,步骤108转换的建模脚本还可以包括第五脚本。在一些实施例中,第五脚本被建模软件执行后可以生成仿真模型的配置文件。
在步骤158,根据建模软件的要求,将形式化的控制需求中控制软件的配置需求转换为第五脚本。
例如,配置需求可以包括控制周期、求解器配置、优化配置等。作为一些示例,求解器配置可以是默认配置;作为另一些示例,求解器配置可以由用户自行配置。
图4是根据本公开一些实施例的发动机的控制软件的形式化处理装置的结构示意图。
如图4所示,形式化处理装置包括接收模块401、形成模块402、验证模块403和转换模块404。
接收模块401被配置为接收用户输入的控制软件的半形式化的控制需求。形成模块402被配置为根据定义的形式化语言,将半形式化的控制需求形成为形式化的控制需求。验证模块403被配置为根据发动机的控制安全规则,对形式化的控制需求进行验证。转换模块404被配置为将验证后的形式化的控制需求转换为建模脚本,其中,建模脚本被配置为在被建模软件执行后生成控制软件的仿真模型。
在一些实施例中,接收模块401被配置为:响应于用户输入的多个变量,对多个变量进行检查,以使得多个变量的名称彼此不同;响应于用户输入的多个功能任务和多个功能任务对应的彼此不同的多个编号,对每个功能任务进行检查,以使得每个功能任务中的每个变量均属于多个变量;响应于用户输入的多个控制状态的调用逻辑,对每个控制状态的调用逻辑进行检查,以使得每个控制状态调用的每个功能任务的编号均属于多个编号;接收用户输入的状态迁移逻辑和时序控制逻辑,状态迁移逻辑包括控制软件需要的不同控制状态之间的迁移顺序,时序控制逻辑包括控制软件需要的每个控制状态调用的每个功能任务的持续时间。
在一些实施例中,转换模块404被配置为:将多个变量转换为第一脚本;利用形式化语言与建模软件的脚本语言之间的转换引擎,将多个功能任务中的每个功能任务转换为第二脚本;将多个控制状态的调用逻辑中的每个调用逻辑转换为第三脚本;利用转换引擎将状态迁移逻辑和时序控制逻辑转换为第四脚本;其中,建模脚本包括第一脚本、第二脚本、第三脚本和第四脚本。在一些实施例中,第一脚本被建模软件执行后生成仿真模型的数据文件;第二脚本、第三脚本和第四脚本被建模软件执行后生成仿真模型的模型文件。
在一些实施例中,转换模块404还被配置为根据建模软件的要求,将形式化的控制需求中控制软件的配置需求转换为第五脚本,建模脚本还包括第五脚本。在一些实施例中,第五脚本被建模软件执行后生成仿真模型的配置文件。
图5是根据本公开另一些实施例的发动机的控制软件的形式化处理装置的结构示意图。
如图5所示,形式化处理装置500包括存储器501以及耦接至该存储器501的处理器502,处理器502被配置为基于存储在存储器501中的指令,执行前述任意一个实施例的方法。
存储器501例如可以包括系统存储器、固定非易失性存储介质等。系统存储器例如可以存储有操作系统、应用程序、引导装载程序(Boot Loader)以及其他程序等。
形式化处理装置500还可以包括输入输出接口503、网络接口504、存储接口505等。这些接口503、504、505之间、以及存储器501与处理器502之间例如可以通过总线506连接。输入输出接口503为显示器、鼠标、键盘、触摸屏等输入输出设备提供连接接口。网络接口504为各种联网设备提供连接接口。存储接口505为SD卡、U盘等外置存储设备提供连接接口。
本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似的部分相互参见即可。对于形式化处理装置实施例而言,由于其与形式化处理方法实施例基本对应,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本公开实施例还提供了一种计算机可读存储介质,其上存储有计算机程序指令,该指令被处理器执行时实现上述任意一个实施例的方法。
至此,已经详细描述了本公开的各实施例。为了避免遮蔽本公开的构思,没有描述本领域所公知的一些细节。本领域技术人员根据上面的描述,完全可以明白如何实施这里公开的技术方案。
本领域内的技术人员应当明白,本公开的实施例可提供为方法、系统、或计算机程序产品。因此,本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用非瞬时性存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本公开是参照根据本公开实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解,可由计算机程序指令实现流程图中一个流程或多个流程和/或方框图中一个方框或多个方框中指定的功能。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
虽然已经通过示例对本公开的一些特定实施例进行了详细说明,但是本领域的技术人员应该理解,以上示例仅是为了进行说明,而不是为了限制本公开的范围。本领域的技术人员应该理解,可在不脱离本公开的范围和精神的情况下,对以上实施例进行修改或者对部分技术特征进行等同替换。本公开的范围由所附权利要求来限定。
Claims (14)
1.一种发动机的控制软件的形式化处理方法,包括:
接收用户输入的所述控制软件的半形式化的控制需求;
根据定义的形式化语言,将所述半形式化的控制需求形成为形式化的控制需求;
根据所述发动机的控制安全规则,对所述形式化的控制需求进行验证;
将验证后的所述形式化的控制需求转换为建模脚本,其中,所述建模脚本被配置为在被建模软件执行后生成所述控制软件的仿真模型。
2.根据权利要求1所述的方法,其中,所述接收用户输入的所述控制软件的半形式化的控制需求包括:
响应于用户输入的多个变量,对所述多个变量进行检查,以使得所述多个变量的名称彼此不同;
响应于用户输入的多个功能任务和所述多个功能任务对应的彼此不同的多个编号,对每个功能任务进行检查,以使得每个功能任务中的每个变量均属于所述多个变量;
响应于用户输入的多个控制状态的调用逻辑,对每个控制状态的调用逻辑进行检查,以使得每个控制状态调用的每个功能任务的编号均属于所述多个编号;
接收用户输入的状态迁移逻辑和时序控制逻辑,所述状态迁移逻辑包括所述控制软件需要的不同控制状态之间的迁移顺序,所述时序控制逻辑包括所述控制软件需要的每个控制状态调用的每个功能任务的持续时间。
3.根据权利要求2所述的方法,其中,所述将验证后的所述形式化的控制需求转换为所述建模软件能够执行的建模脚本包括:
将所述多个变量转换为第一脚本;
利用所述形式化语言与所述建模软件的脚本语言之间的转换引擎,将所述多个功能任务中的每个功能任务转换为第二脚本;
将所述多个控制状态的调用逻辑中的每个调用逻辑转换为第三脚本;
利用所述转换引擎将所述状态迁移逻辑和所述时序控制逻辑转换为第四脚本;
其中,所述建模脚本包括所述第一脚本、所述第二脚本、所述第三脚本和所述第四脚本。
4.根据权利要求3所述的方法,其中,所述将验证后的所述形式化的控制需求转换为所述建模软件能够执行的建模脚本还包括:
根据所述建模软件的要求,将所述形式化的控制需求中所述控制软件的配置需求转换为第五脚本,所述建模脚本还包括所述第五脚本。
5.根据权利要求4所述的方法,其中:
所述第一脚本被所述建模软件执行后生成所述仿真模型的数据文件;
所述第二脚本、所述第三脚本和所述第四脚本被所述建模软件执行后生成所述仿真模型的模型文件;
所述第五脚本被所述建模软件执行后生成所述仿真模型的配置文件。
6.根据权利要求1-5任意一项所述的方法,其中,所述发动机为航空发动机。
7.一种发动机的控制软件的形式化处理装置,包括:
接收模块,被配置为接收用户输入的所述控制软件的半形式化的控制需求;
形成模块,被配置为根据定义的形式化语言,将所述半形式化的控制需求形成为形式化的控制需求;
验证模块,被配置为根据所述发动机的控制安全规则,对所述形式化的控制需求进行验证;
转换模块,被配置为将验证后的所述形式化的控制需求转换为建模脚本,其中,所述建模脚本被配置为在被建模软件执行后生成所述控制软件的仿真模型。
8.根据权利要求7所述的装置,其中,所述接收模块被配置为:
响应于用户输入的多个变量,对所述多个变量进行检查,以使得所述多个变量的名称彼此不同;
响应于用户输入的多个功能任务和所述多个功能任务对应的彼此不同的多个编号,对每个功能任务进行检查,以使得每个功能任务中的每个变量均属于所述多个变量;
响应于用户输入的多个控制状态的调用逻辑,对每个控制状态的调用逻辑进行检查,以使得每个控制状态调用的每个功能任务的编号均属于所述多个编号;
接收用户输入的状态迁移逻辑和时序控制逻辑,所述状态迁移逻辑包括所述控制软件需要的不同控制状态之间的迁移顺序,所述时序控制逻辑包括所述控制软件需要的每个控制状态调用的每个功能任务的持续时间。
9.根据权利要求8所述的装置,其中,所述转换模块被配置为:
将所述多个变量转换为第一脚本;
利用所述形式化语言与所述建模软件的脚本语言之间的转换引擎,将所述多个功能任务中的每个功能任务转换为第二脚本;
将所述多个控制状态的调用逻辑中的每个调用逻辑转换为第三脚本;
利用所述转换引擎将所述状态迁移逻辑和所述时序控制逻辑转换为第四脚本;
其中,所述建模脚本包括所述第一脚本、所述第二脚本、所述第三脚本和所述第四脚本。
10.根据权利要求9所述的装置,其中,所述转换模块还被配置为:
根据所述建模软件的要求,将所述形式化的控制需求中所述控制软件的配置需求转换为第五脚本,所述建模脚本还包括所述第五脚本。
11.根据权利要求10所述的装置,其中:
所述第一脚本被所述建模软件执行后生成所述仿真模型的数据文件;
所述第二脚本、所述第三脚本和所述第四脚本被所述建模软件执行后生成所述仿真模型的模型文件;
所述第五脚本被所述建模软件执行后生成所述仿真模型的配置文件。
12.根据权利要求7-11任意一项所述的装置,其中,所述发动机为航空发动机。
13.一种发动机的控制软件的形式化处理装置,包括:
存储器;以及
耦接至所述存储器的处理器,被配置为基于存储在所述存储器中的指令,执行权利要求1-6任意一项所述的方法。
14.一种计算机可读存储介质,其上存储有计算机程序指令,其中,该指令被处理器执行时实现权利要求1-6任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011373919.7A CN114579084A (zh) | 2020-11-30 | 2020-11-30 | 发动机的控制软件的形式化处理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011373919.7A CN114579084A (zh) | 2020-11-30 | 2020-11-30 | 发动机的控制软件的形式化处理方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114579084A true CN114579084A (zh) | 2022-06-03 |
Family
ID=81767076
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011373919.7A Pending CN114579084A (zh) | 2020-11-30 | 2020-11-30 | 发动机的控制软件的形式化处理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114579084A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115013109A (zh) * | 2022-06-16 | 2022-09-06 | 江铃汽车股份有限公司 | 一种发动机vvl执行器控制方法 |
-
2020
- 2020-11-30 CN CN202011373919.7A patent/CN114579084A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115013109A (zh) * | 2022-06-16 | 2022-09-06 | 江铃汽车股份有限公司 | 一种发动机vvl执行器控制方法 |
CN115013109B (zh) * | 2022-06-16 | 2023-12-01 | 江铃汽车股份有限公司 | 一种发动机vvl执行器控制方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2791803B1 (en) | Medium and method for systematic error injection in generated code | |
US10387585B2 (en) | System and method for performing model verification | |
US10657029B2 (en) | Partitioning block diagrams into executable contextual models | |
US9952837B1 (en) | Reusable component in a modeling environment | |
CN108376221A (zh) | 一种基于aadl模型扩展的软件系统安全性验证与评估方法 | |
US10684936B2 (en) | Observer for simulation test and verification | |
US10318653B1 (en) | Systems and methods for creating harness models for model verification | |
US8972931B1 (en) | Contextual verification of generated code | |
EP3667582A1 (en) | Systems and methods for evaluating assessments | |
Song et al. | FBDTester 2.0: Automated test sequence generation for FBD programs with internal memory states | |
EP3265934A1 (en) | Conditional-based duration logic | |
US10922208B2 (en) | Observer for simulation test and verification | |
CN114579084A (zh) | 发动机的控制软件的形式化处理方法和装置 | |
Sinha et al. | Reliability and availability prediction of embedded systems based on environment modeling and simulation | |
KR20090099977A (ko) | 예약된 컴포넌트 컨테이너 기반 소프트웨어 개발 방법 및장치 | |
Navarro et al. | Using microsoft solver foundation to analyse feature models and configurations | |
Erkkinen et al. | Model-based design for DO-178B with qualified tools | |
Bouali et al. | Formal verification for model-based development | |
CN112988145B (zh) | 生成航空发动机软件架构的方法及航空发动机控制装置 | |
Le Parc et al. | Grafcet revisited with a synchronous data-flow language | |
Saadatmand et al. | Testing of timing properties in real-time systems: Verifying clock constraints | |
Lingg et al. | Automation of test case generation and software system modelling | |
KR101601741B1 (ko) | 서로 다른 언어로 작성된 프로그램들의 동일성을 검증하는 검증장치 | |
Saifan et al. | Using formal methods for test case generation according to transition-based coverage criteria | |
Sahraoui et al. | Methodology for fast prototyping of distributed real-time systems |
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 |