CN106598566A - 一种面向航电系统的基于需求的形式化建模与验证方法 - Google Patents
一种面向航电系统的基于需求的形式化建模与验证方法 Download PDFInfo
- Publication number
- CN106598566A CN106598566A CN201610953250.6A CN201610953250A CN106598566A CN 106598566 A CN106598566 A CN 106598566A CN 201610953250 A CN201610953250 A CN 201610953250A CN 106598566 A CN106598566 A CN 106598566A
- Authority
- CN
- China
- Prior art keywords
- model
- need
- transformational rule
- avionics system
- state
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
-
- 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)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种面向航电系统的基于需求的形式化建模与验证方法,该方法运用需求状态机语言RSML‑e建立系统的形式化需求模型,给出形式化模型转换规则,将RSML‑e模型转换为模型检测器的输入模型,验证系统的安全性质,提升了系统的安全性和可靠性,同时也节省了时间和成本。
Description
技术领域
本发明属于软件系统安全技术领域,特别设计了一种面向航电系统的形式化建模与验证方法。
背景技术
现有的传统软件系统开发流程一般可分为可行性分析、需求分析、代码实现以及最终的测试和维护阶段。然而,随着航电系统日益增长的复杂性和系统集成的问题,潜在的错误不断增加并可能影响到系统的安全性和可靠性,传统的软件工程方法已经很难满足这样复杂和安全性要求极高的需求。
为了解决这些实际问题,形式化开发方法在系统开发过程中被广泛应用,用形式化建模语言对系统进行建模,并运用形式化模型验证工具进行系统验证。但将形式化建模运用到软件系统设计阶段,检测到错误时需要从需求阶段进行修正,仍会耗费较多的时间和成本。
发明内容
为了解决上述背景技术提出的技术问题,本发明旨在提供一种面向航电系统的基于需求的形式化建模与验证方法,运用需求状态机语言RSML-e建立系统的形式化需求模型,给出形式化模型转换规则,将RSML-e模型转换为模型检测器的输入模型,验证系统的安全性质,提升系统的安全性和可靠性,同时也节省了时间和成本。
为了实现上述技术目的,本发明的技术方案为:
一种面向航电系统的基于需求的形式化建模与验证方法,包括以下步骤:
(1)采用形式化需求状态机语言RSML-e对航空电子系统进行形式化需求规约,创建航空电子系统的形式化模型,并在建模过程中发现系统描述中的错误;
(2)选择支持自动化验证的模型检测器,并给出形式化模型的转换规则,将步骤(1)构建的形式化模型根据转换规则转换为选择的模型检测器的输入模型;
(3)将步骤(2)得到的模型检测器的输入模型和用户提出的航天电子系统的属性规约输入模型检测器,判断构建的形式化模型是否满足属性规约,从而验证形式化模型的安全性质,并将验证结果反馈给用户。
进一步地,在步骤(2)中,选择的模型检测器为NuSMV模型检测器。
进一步地,在步骤(2)中,所述转换规则包括数据类型的转换规则、变量的转换规则、宏的转换规则以及相对时间的转换规则。
进一步地,数据类型的转换规则为,将自定义的数据类型转换为基本数据类型。
进一步地,变量的转换规则为,采用关键词VAR对变量进行转换,转换形式:VARidentifier_name:var_type。
进一步地,宏的转换规则为,将形式化需求状态机语言RSML-e中的宏转换为NuSMV模型检测器中的子模块,且子模块必须在NuSMV模型检测器中的主模块中声明。
进一步地,相对时间的转换规则为,将形式化需求状态机语言RSML-e中带有PREV前缀的状态转换为NuSMV模型检测器中的当前状态,而将形式化需求状态机语言RSML-e中不带前缀的状态描述为NuSMV模型检测器中的当前状态的后状态。
采用上述技术方案带来的有益效果:
本发明采用需求建模语言RSML-e对飞行导航系统进行建模,并用模型检测器NuSMV对其进行形式化的模型转换与验证。该方法能够在系统开发设计初期发现系统需求错误,及时修正,从而节省时间和成本,降低开发代价,并设计出满足高安全性、可靠性的大型复杂航电系统,为开发安全可靠复杂航电系统奠定基础。
附图说明
图1是本发明的设计框架图;
图2是RSML-e语言的四变量模型示意图;
图3是RSML-e语言的AND/OR表示意图;
图4是NuSMV模型检测器的原理图;
图5是高度按钮实例的框架图;
图6是高度按钮实例RSML-e建模中ASW状态变量从OFF到ON的AND/OR表示意图;
图7是高度按钮实例RSML-e建模中ASW状态变量从OFF到ON的AND/OR表示意图;
图8是高度按钮实例模型检测器的验证结果图。
具体实施方式
以下将结合附图,对本发明的技术方案进行详细说明。
如图1所示,本发明的设计框架为形式化建模、形式化模型的转换、模型验证三个步骤。
一、形式化建模
采用形式化需求状态机语言RSML-e对航空电子系统进行形式化需求规约,创建航空电子系统的形式化模型,并在建模过程中发现系统描述中的错误。建立的模型能够作为与用户交互的实模型,并能够以仿真的形式向用户执行。
一个RSML-e描述由变量、状态、转移、功能函数、宏、常量和接口组成。需求描述中的变量用于存储外部传感器的输入值,也用于暂存系统的输出值。RSML-e以分层的形式组织状态,是基于四变量模型的思想,如图2所示。
四变量模型中的变量是时间连续函数,包含监督变量、受控变量、输入变量和输出变量四种变量,监督变量指示系统观察并响应的环境量,受控变量描述系统控制的环境量,输入变量是系统通过测量监督变量而得到的变量,而系统通过输出变量改变受控变量。NAT描述了系统没有建立时的环境行为,REQ定义了系统的需求,指明了受控变量是如何响应的监督变量的改变,IN定义了监督变量和输入变量之间的关系,OUT定义输出变量的受控变量之间的关系,规范中的NAT,REQ,IN和OUT的关系限制了SOFT软件所允许的行为。
状态转移由一个原状态,一个目的状态,一个触发事件,一个监督条件和一组动作事件组成,控制着一个状态到其他状态的转移。为了执行一次状态转移,当触发事件发生时监督条件同时为真。监督条件是在不同的状态和变量之间的一种谓词逻辑表达式。为了克服统的命题逻辑符号语言的复杂性问题,RSML-e使用了析取范式(DNF)来表示,这种表格被称为AND/OR表。如图3所示,AND/OR表格的最左一列列出了逻辑短语。其它的列是这些逻辑短语的连接,并且列出了表达式的逻辑真值(图3中用“T”)。并规定只要有某一列的值为真则整个表的值就为真。而每列的真值为真当且仅当此列的真值与它们所关联的逻辑短语的真值都一致。AND\OR表等同于DNF范式(Condition1∧Condition2),图3中“*”表示不关心条件的真假。
二、形式化模型的转换
选择支持自动化验证的模型检测器,并给出形式化模型的转换规则,将构建的形式化模型根据转换规则转换为选择的模型检测器的输入模型。本发明选择NuSMV模型检测器,转换规则包括数据类型的转换规则、变量的转换规则、宏的转换规则以及相对时间的转换规则。
(1)数据类型和变量的转换
RSML-e不仅支持布尔型、枚举型、整型、实型等基本的数据类型,还支持用户自定义的类型,但NuSMV不支持用户自定义的类型,所以RSML-e中自定义的类型就要转换为枚举等基本数据类型。RSML-e中的输入和状态变量转换为NuSMV时用关键词VAR表示,转换形式:VARidentifier_name:var_type。
(2)宏的转换
RSML-e中的宏对应转换为NuSMV中的一个子模块,可以做一一对应的转换,子模块必须在主模块中添加声明。
(3)相对时间的转换
RSML-e中用PREV的前缀表示当前状态的前状态,但NuSMV中只有next关键字表示后状态,所以在做对应转换时应将带有PREV前缀的状态描述为NuSMV中的当前状态,而不带前缀的状态描述为NuSMV中当前状态的后状态。
三、模型验证
如图4所示,将NuSMV模型检测器的输入模型和用户提出的航天电子系统的属性规约输入模型检测器,判断构建的形式化模型是否满足属性规约,从而验证形式化模型的安全性和可靠性,并将验证结果反馈给用户。
NuSMV程序由一个或多个模块构成,和程序设计语言C一样,其中一个模块必须称为main,模块可以声明变量并赋值,如下给出了一段NuSMV程序的示例,包括主模块和要验证的性质:
程序最后给出要验证的性质,用CTL公式描述。为了能使用模型检测器进行分析,用自然语言进行描述的安全属性必须人为地转换到NuSMV接收的语言进行表述。人工转换过程简单,但需要一些失效逻辑的知识。运用动态面向对象需求系统DOORS来实现从自然语言到CTL逻辑公式的自动化转换过程,从而实现系统属性的规约。
运行模型检测器,若返回结果为true表明系统模型满足所归约的系统属性,进而可以验证系统模型的正确性,若返回结果为false,则根据返回反例修正系统模型。
下文结合航电系统中的高度按钮(Altitude Switch,ASW)的实例来说明本发明。ASW的主要功能为接收禁止设备启动信号(inhibit),系统重置信号(reset),以及飞机的实时飞行高度(altitude),并当飞机的飞行高度低于某个阈值时,ASW按钮控制相关设备(Device of Interest,DOI)的启动与触发,如图5所示。
针对ASW运用RSML-e进行建模如下,其中变量声明部分应包括输入变量高度的数据变量,禁止信号的变量,重置信号的变量,以及ASW的状态变量,这里给出高度变量和ASW状态变量的RSML-e模型:
VAR altitude
Type:real
Initial Value:UNDEFINED
Classified as:MONITORED
VAR ASW:
STATE_VARIABLE ASW
Type:{OFF,ON}
Initial Value:OFF
Classified as:State
图6和图7分别给出了ASW状态变量从OFF到ON和从ON到OFF的AND/OR表。
模型中宏的声明包括对禁止和重置两个信号定义两个宏,判断高度值是否低于指定阈值的宏,这里给出禁止信号的宏以及系统的输出ASW宏:
MACRO when_inhibit_Pressed
Condition:
When(inhibit=ON);
MACRO when_ASW_Power_ON
Condition:
When(ASW=ON);
模型建立完成,接下来将模型转换为NuSMV的输入模型,根据上文提到的对变量的转换规则,对VAR关键字定义的变量进行转换:
根据宏的形式化转换规则,将宏when_inhibit_Pressed进行转换:
MODULE when_inhibit_Pressed()
VAR
result:boolean;
ASSIGN
init(result):=FLASE;
next(result):=When(inhibit=ON);
MODULE main
m_when_inhibit_Pressed:when_inhibit_Pressed()
验证模型的安全性和可靠性属性,给出其要验证的CTL逻辑公式,给出安全性和活性两个验证的示例:
CTLSPEC
AG((Inhibit=TRUE)->m_when_ASW_Power_ON.result=TRUE)
AG((Reset=TRUE)->m_when_ASW_Power_ON.result=FLASE)
NuSMV模型检测器验证得到的结果如图8所示。NuSMV对示例中两个逻辑公式验证结果返回为true,表明建立的需求模型满足要示例中两个属性,否则会给出反例,确立了正确的需求模型,可以继续下一阶段的系统实现。
以上实施例仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡是按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明保护范围之内。
Claims (7)
1.一种面向航电系统的基于需求的形式化建模与验证方法,其特征在于,包括以下步骤:
(1)采用形式化需求状态机语言RSML-e对航空电子系统进行形式化需求规约,创建航空电子系统的形式化模型,并在建模过程中发现系统描述中的错误;
(2)选择支持自动化验证的模型检测器,并给出形式化模型的转换规则,将步骤(1)构建的形式化模型根据转换规则转换为选择的模型检测器的输入模型;
(3)将步骤(2)得到的模型检测器的输入模型和用户提出的航天电子系统的属性规约输入模型检测器,判断构建的形式化模型是否满足用户提出的属性规约,从而验证形式化模型的安全性质,并将验证结果反馈给用户。
2.根据权利要求1所述面向航电系统的基于需求的形式化建模与验证方法,其特征在于:在步骤(2)中,选择的模型检测器为NuSMV模型检测器。
3.根据权利要求2所述面向航电系统的基于需求的形式化建模与验证方法,其特征在于:在步骤(2)中,所述转换规则包括数据类型的转换规则、变量的转换规则、宏的转换规则以及相对时间的转换规则。
4.根据权利要求3所述面向航电系统的基于需求的形式化建模与验证方法,其特征在于:数据类型的转换规则为,将自定义的数据类型转换为基本数据类型。
5.根据权利要求3所述面向航电系统的基于需求的形式化建模与验证方法,其特征在于:变量的转换规则,采用关键词VAR对变量进行转换,转换形式:
VAR identifier_name:var_type。
6.根据权利要求3所述面向航电系统的基于需求的形式化建模与验证方法,其特征在于:宏的转换规则,将形式化需求状态机语言RSML-e中的宏转换为NuSMV模型检测器中的子模块,且子模块必须在NuSMV模型检测器中的主模块中声明。
7.根据权利要求3所述面向航电系统的基于需求的形式化建模与验证方法,其特征在于:相对时间的转换规则,将形式化需求状态机语言RSML-e中带有PREV前缀的状态转换为NuSMV模型检测器中的当前状态,而将形式化需求状态机语言RSML-e中不带前缀的状态描述为NuSMV模型检测器中的当前状态的后状态。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610953250.6A CN106598566A (zh) | 2016-11-03 | 2016-11-03 | 一种面向航电系统的基于需求的形式化建模与验证方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610953250.6A CN106598566A (zh) | 2016-11-03 | 2016-11-03 | 一种面向航电系统的基于需求的形式化建模与验证方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106598566A true CN106598566A (zh) | 2017-04-26 |
Family
ID=58589680
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610953250.6A Pending CN106598566A (zh) | 2016-11-03 | 2016-11-03 | 一种面向航电系统的基于需求的形式化建模与验证方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106598566A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108363631A (zh) * | 2018-02-06 | 2018-08-03 | 南京航空航天大学 | 一种从RSML-e模型转换到NuSMV模型的转换方法 |
CN109815131A (zh) * | 2018-12-27 | 2019-05-28 | 卡斯柯信号有限公司 | 轨道交通车载软件半形式化需求用的静态检查系统及方法 |
CN110532166A (zh) * | 2019-07-05 | 2019-12-03 | 华东师范大学 | 一种基于模型转换的状态机模型时序性质验证系统 |
CN110532167A (zh) * | 2019-07-05 | 2019-12-03 | 华东师范大学 | 一种基于模型转换的状态机模型时序性质验证方法 |
CN111176614A (zh) * | 2019-12-26 | 2020-05-19 | 南京航空航天大学 | Vrm形式化需求模型的生成和分析方法 |
CN111338948A (zh) * | 2020-02-24 | 2020-06-26 | 华东师范大学 | 形式化验证系统 |
CN111427565A (zh) * | 2020-02-24 | 2020-07-17 | 华东师范大学 | 形式化验证方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103488568A (zh) * | 2013-09-30 | 2014-01-01 | 南京航空航天大学 | 一种嵌入式软件可信属性建模与验证方法 |
CN104375842A (zh) * | 2014-12-05 | 2015-02-25 | 中国人民解放军理工大学 | 一种自适应软件uml建模及其形式化验证方法 |
CN105095065A (zh) * | 2014-05-16 | 2015-11-25 | 中国航空工业第六一八研究所 | 一种形式化建模的优化方法 |
CN105938502A (zh) * | 2016-03-17 | 2016-09-14 | 南京航空航天大学 | 面向AltaRica模型的系统安全性设计验证方法 |
-
2016
- 2016-11-03 CN CN201610953250.6A patent/CN106598566A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103488568A (zh) * | 2013-09-30 | 2014-01-01 | 南京航空航天大学 | 一种嵌入式软件可信属性建模与验证方法 |
CN105095065A (zh) * | 2014-05-16 | 2015-11-25 | 中国航空工业第六一八研究所 | 一种形式化建模的优化方法 |
CN104375842A (zh) * | 2014-12-05 | 2015-02-25 | 中国人民解放军理工大学 | 一种自适应软件uml建模及其形式化验证方法 |
CN105938502A (zh) * | 2016-03-17 | 2016-09-14 | 南京航空航天大学 | 面向AltaRica模型的系统安全性设计验证方法 |
Non-Patent Citations (1)
Title |
---|
仵志鹏 等: "面向AltaRica模型的嵌入式系统安全性验证方法", 《计算机科学与探索》 * |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108363631A (zh) * | 2018-02-06 | 2018-08-03 | 南京航空航天大学 | 一种从RSML-e模型转换到NuSMV模型的转换方法 |
CN109815131A (zh) * | 2018-12-27 | 2019-05-28 | 卡斯柯信号有限公司 | 轨道交通车载软件半形式化需求用的静态检查系统及方法 |
CN110532166A (zh) * | 2019-07-05 | 2019-12-03 | 华东师范大学 | 一种基于模型转换的状态机模型时序性质验证系统 |
CN110532167A (zh) * | 2019-07-05 | 2019-12-03 | 华东师范大学 | 一种基于模型转换的状态机模型时序性质验证方法 |
CN110532167B (zh) * | 2019-07-05 | 2021-05-04 | 华东师范大学 | 一种基于模型转换的状态机模型时序性质验证方法 |
CN110532166B (zh) * | 2019-07-05 | 2021-05-04 | 华东师范大学 | 一种基于模型转换的状态机模型时序性质验证系统 |
CN111176614A (zh) * | 2019-12-26 | 2020-05-19 | 南京航空航天大学 | Vrm形式化需求模型的生成和分析方法 |
CN111176614B (zh) * | 2019-12-26 | 2021-06-29 | 南京航空航天大学 | Vrm形式化需求模型的生成和分析方法 |
CN111338948A (zh) * | 2020-02-24 | 2020-06-26 | 华东师范大学 | 形式化验证系统 |
CN111427565A (zh) * | 2020-02-24 | 2020-07-17 | 华东师范大学 | 形式化验证方法 |
CN111427565B (zh) * | 2020-02-24 | 2022-04-05 | 华东师范大学 | 形式化验证方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106598566A (zh) | 一种面向航电系统的基于需求的形式化建模与验证方法 | |
CN1703703B (zh) | 用于检验用来命令装备特别是站场装备的铁路逻辑软件引擎的设备和方法 | |
Thompson et al. | Specification-based prototyping for embedded systems | |
CN104504248B (zh) | 一种基于设计数据分析的故障诊断建模方法 | |
US8666999B2 (en) | Search utility program for software developers | |
CN104536436B (zh) | 一种工业生产过程控制逻辑的自动测试系统及方法 | |
CN104240781B (zh) | 核电厂数字化仪控系统的信号分配方法及系统 | |
CN109933047B (zh) | 一种软硬件混合系统的联合可靠性试验剖面构造方法 | |
CN108139724A (zh) | 用于从因果矩阵创建监控块和结果块集合的系统和方法 | |
Ikeda et al. | A strict LMI condition for H/sub 2/control of descriptor systems | |
CN108169586A (zh) | 一种用于航空电子系统集成测试方法 | |
CN110532167A (zh) | 一种基于模型转换的状态机模型时序性质验证方法 | |
Monteiro et al. | A scalable digital twin for vertical farming | |
CN104699067B (zh) | 一种系统故障综合申报处理方法 | |
Frühwirth et al. | Guarded state machines in OPC UA | |
Wang et al. | Automatic test case generation from formal requirement model for avionics software | |
Quan et al. | Qualitative analysis for state/event fault trees using formal model checking | |
Jiang et al. | Model-based safety analyses of embedded system using stateflow | |
Jiang et al. | Optimal design methods for a digital human-computer interface based on human reliability in a nuclear power plant: Part 2: The optimization design method for component quantity | |
Khodadadeh | Designing a Software Platform for Evaluating Cyber-Attacks on The Electric PowerGrid | |
CN108363631A (zh) | 一种从RSML-e模型转换到NuSMV模型的转换方法 | |
Wang et al. | An empirical study of flight control system model checking integrated with FMEA | |
Dong et al. | A Model-Based System Safety Analysis Tool and Case Study | |
Sun et al. | An automatic product assembly method based on assembly feature pair | |
Racchetti et al. | The PLC UML State-chart design pattern |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170426 |