CN110716819A - 一种基于AltaRica的系统故障树自动生成方法 - Google Patents

一种基于AltaRica的系统故障树自动生成方法 Download PDF

Info

Publication number
CN110716819A
CN110716819A CN201910958827.6A CN201910958827A CN110716819A CN 110716819 A CN110716819 A CN 110716819A CN 201910958827 A CN201910958827 A CN 201910958827A CN 110716819 A CN110716819 A CN 110716819A
Authority
CN
China
Prior art keywords
node
assertion
fault tree
current
array
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.)
Granted
Application number
CN201910958827.6A
Other languages
English (en)
Other versions
CN110716819B (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.)
Jiangsu University of Science and Technology
Original Assignee
Jiangsu University of Science and Technology
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 Jiangsu University of Science and Technology filed Critical Jiangsu University of Science and Technology
Priority to CN201910958827.6A priority Critical patent/CN110716819B/zh
Publication of CN110716819A publication Critical patent/CN110716819A/zh
Application granted granted Critical
Publication of CN110716819B publication Critical patent/CN110716819B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/079Root cause analysis, i.e. error or fault diagnosis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9027Trees

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

本发明涉及系统安全性建模分析方法技术领域,具体地说,是一种基于AltaRica的系统故障树自动生成方法,本发明基于AltaRica的语言规范,通过研究AltaRica语言的语法和语义,将可视化建模和AltaRica语言相结合,提出了一种基于AltaRica的单类节点、多节点和子系统节点的自动系统建模与故障分析方法。不仅提高了系统模型的安全性建模能力,还实现了将系统安全性建模和可视化建模和分析结合起来。在对系统进行AltaRica建模时加入了安全性描述,便于对系统和故障模型进行同步修改和维护。同时,系统建模、故障建模和故障树分析的工作的同步对接,极大地提高了安全关键系统的系统和故障建模分析工作的准确性和效率。

Description

一种基于AltaRica的系统故障树自动生成方法
技术领域
本发明涉及系统安全性建模分析方法技术领域,具体地说,是一种基于AltaRica的系统故障树自动生成方法。
背景技术
AltaRica是一种面向故障的安全建模语言。它以卫式转换系统(GTS)为核心,用一种可重用的面向对象语言来描述节点和故障,并通过节点和嵌套系统之间的接口连接来描述节点和系统之间的交互信息。AltaRica模型能够更好的反映系统功能和物理结构,消除传统安全性分析手段与系统设计的隔阂,提高安全性模型的可维护性和可重用性。在安全关键系统中采用AltaRica语言建模,可以真实地反映系统物理架构和运行机制。
在对系统的安全性分析中,研究人员广泛采用系统安全性建模和分析技术。传统的系统安全性分析技术主要有:马尔科夫过程分析、故障树分析和失效模式影响分析。但如今这些形式设计的模型已经无法匹配规模越来越大,复杂度越来越高的系统。为了解决这个问题,创建了高级建模语言AltaRica。AltaRica模型的数据流元素支持组件间的交互,组件之间还存在着依赖关系,用线性时序逻辑(line temporal logic,LTL)对其进行规约。由于其自身易于修改和维护,使得故障建模和分析也易于修改和维护,给系统的建模和分析带来了极大的方便。
目前工业系统的规模越来越庞大,如果只用单层系统建模来描述整个系统,那么单个层次上集中的模型节点就会太多,不便于分析研究,而且工业系统本身也由很多子系统组成,一些子系统又由下层子系统或者节点组成,所以系统自身已经很自然的形成了分层结构,这首先要求必须使用分层建模技术来描述系统自身的物理结构。
安全模型通常用于对因内源性和外源性原因而存在的已识别风险或危险进行安全评估。因此,在描述建模过程之前,必须强调,以结构化和系统化的方式识别风险是规范化的基础,系统和结构化的安全建模过程。在完成风险或危险的识别后,建模过程可以开始。建模过程包含三个阶段:信息收集,模型构建和模型验证和验证。
需求分析是任何一款软件开发最重要的环节,详细的需求分析将以一些模糊的软件功能和性能具化为严格的规范。需求分析必须具有极强的前瞻性和策略性,这对其后期的开发和维护重要作用。随着计算机处理问题的能力越来越强,已经可以处理具有多层嵌套的复杂系统。利用可视化开发技术对系统进行图形化建模,并且在图形化建模的基础上实现分层嵌套建模,就可以使复杂的大系统变成多层次展开的分层系统,使得分析问题变得简单清晰,对复杂嵌套系统模型的建立和分析有很好的帮助。因此,本发明开发的基于AltaRica语言的故障树建模工具原型可以针对任何多层嵌套的系统进行建模分析。
发明内容
本发明的目的,在于提供一种基于AltaRica的系统故障树自动生成的方法来对系统进行可视化和图形化的建模分析,从而提高系统的安全性。
为了达到上述目的,本发明采用的技术方案如下:
一种基于AltaRica的系统故障树自动生成方法,首先判断当前系统类型,
当前系统是单类节点系统,则故障树生成算法分为两个步骤:
第一步是记录从断言中扫描和剪切出的有效的字符串并计算其括号深度,其中包括:
1.1扫描、剪切、记录单类节点断言字符串;
1.2记录每个字符串的括号深度;
1.3添加到CAltaRicaAnalyser类中由函数MakeAssertionToAssertionArray()
实现的名为AssertionNodeArray的数组中;
第二步是递归生成表达式的前序位置,用于在故障树中绘制逻辑操作节点,包括:
2.1扫描AssertionNodeArray,由最深的括号深度得到当前根节点的位置,并将第一次得到的根节点前序位置设为-1,其他情况下当前根节点的前序位置为递归算法执行前根节点的位置;
2.2以第一根节点的中心位置将AssertionNodeArray切割成左右两部分;
2.3如果左侧只有一个表达式节点,则获取该节点的位置,并将根节点的位置设置为其前序位置,否则将AssertionNodeArrayLeft数组清空,将左侧部分的所有节点依次加入AssertionNodeArrayLeft数组中,在AssertionNodeArrayLeft数组中递归运行该算法作为步骤2.1;
2.4如果右侧只有一个表达式节点,则获取该节点的位置,并将根节点的位置设置为其前序位置,否则将AssertionNodeArrayRight数组清空,将右侧部分的所有节点依次加入AssertionNodeArrayRight数组中,在AssertionNodeArrayRight数组中递归运行该算法作为步骤2.1;
当前系统是多节点系统或具有子系统的多节点系统,其故障树生成算法可分为以下步骤:
3.1在当前视图中查找“out”节点;
3.2初始化Analyser类,Analyser具有单类节点故障树生成算法中描述的功能;
3.3遍历LinkInfoArray以获取和剪切与当前视图中“out”节点连接的连线绑定的断言;
3.4将断言赋给Analyser进行分析并切割,得到与连线相连的类节点信息;
3.5判断节点类型,如果节点为当前视图的节点,则执行步骤3.6,如果为子系统内的节点,执行步骤3.7;
3.6通过节点输入流信息和视图信息得到线条的前序断言,通过前序断言得到前序节点,执行步骤3.5;
3.7先将视图信息更新为子系统视图信息,然后从步骤3.1重新开始执行;
3.8当前视图内无前序节点时,视图信息更新为上一级视图信息;
3.9在当前视图无前序视图且无前序节点时,生成故障树图。
本发明的进一步改进,上述步骤3.4中,通过Analyser的函数MakeAssertionToAssertionArray()对断言进行分析和切割,并将切割后的字符串存入AssertionNodeArray数组中,通过GetOutFlowValueFromLinkInfo()函数获得输出流信息,通过GetOutFlowValueFromLinkInfo()函数获得输出事件并根据当前连线获得前序节点信息和视图信息。
本发明的进一步改进,上述步骤3.5中,通过判断节点是否有前序视图信息来确定此节点是否在子系统中。
本发明的进一步改进,上述步骤3.6中,通过线条输出流和节点名称得到节点输入流,从而通过函数GetLinkInfoPartEnd()得到线条前序断言,通过函数GetClassNodeNameFromPartEnd()可以得到前序节点。
在上述技术方案中,首先提出了一种基于AltaRica的嵌套系统模型,用于并支撑系统的建模和故障分析。
这个称为NAltaSys(嵌套AltaRica系统)的模型形式化描述为:
<InNode,Class,Node,Subsys,Connection,OutNode>,
(1)Innode:Innode是所有输入的一个虚拟入口,即通过Innode传递给节点的所有输入。
(2)Class:为了使用具有特定特性(封装GTS)的框,需要声明一个类,即框的类型。Altarica模型是一系列类声明。类可以嵌套到其他类的其他实例中,以实现对研究系统的分层描述。它具有以下属性:
1.域:用来描述系统的状态。
2.变量:类中有两种类型的变量,称为域变量和类变量。域变量表示类的外部状态,不限于布尔值。类变量表示类中内部变量的状态。
3.流:流类似于接口变量,分为输入流和输出流,用于描述类节点之间或具有子系统的类节点之间接口变量的状态。
4.转换:转换是三元组<e,G,P>,定义为:其中e是标记转换的事件,G是状态和流变量的布尔条件,称为转换的保护,P是状态变量的新状态计算执行的操作。当保护满足时,将触发转换。
5.断言:传递函数发生后对输出值的一组约束。
(3)Node:节点是类的实例,继承类中的所有属性。
(4)Subsys:子系统的递归定义为<InNode,Class,Node,Subsys,Connection,OutNode>。它是整个系统的一部分,其中包含一些节点甚至子系统,以及节点和子系统之间的连接。
(5)Connection:Connection具有节点之间或节点和子系统之间的接口信息。故障将通过连接传递或回溯,并遵循流和类中的断言中定义的机制。
(6)OutNode:OutNode是所有输出的虚拟出口,这意味着节点的所有输出都应该通过OutNode。
其次本发明对基于AltaRica的嵌套系统进行了建模,并实现了自动故障树分析。
故障树分析可以在三种情况下进行:
(1)单类节点
基本的故障树分析是在单个类节点中实现的。本发明利用类内的断言信息,对其进行扫描、切割,并利用算法计算出节点的位置。
(2)多类节点
本发明首先得到节点与OutNode的连线,然后得到连接到OutNode的连线中的接口信息,并通过与之绑定的断言从输入流到输出流进行跟踪,然后递归地跟踪生成多个类节点的完整故障树。
(3)带子系统的节点
在子系统连接的节点中进行故障树分析时,首先得到节点与子系统之间的节点连线,然后分析节点与子系统之间的连接接口信息,根据(1)和(2)中的算法,对节点与子系统之间的连接接口信息进行跟踪,得到故障信息,最后生成有子系统节点的完整故障树。
以下为故障树自动生成方法的算法描述:
首先判断当前系统类型,如果当前系统是单类节点系统,其故障树生成算法主要分为两个步骤。
第一步是记录从断言中扫描和剪切出的有效的字符串并计算其括号深度,其中包括:
(1)扫描、剪切、记录单类节点断言字符串;
(2)记录每个字符串的括号深度;
(3)添加到CAltaRicaAnalyser类中由函数MakeAssertionToAssertionArray()实现的名为AssertionNodeArray的数组中。
第二步是递归生成表达式的前序位置,用于在故障树中绘制逻辑操作节点,包括:
(1)扫描AssertionNodeArray,由最深的括号深度得到当前根节点的位置,并将第一次得到的根节点前序位置设为-1,其他情况下当前根节点的前序位置为递归算法执行前根节点的位置;
(2)以当前根节点为中心位置将AssertionNodeArray切割成左右两部分;
(3)如果左侧只有一个表达式节点,则获取该节点的位置,并将根节点的位置设置为其前序位置,否则将AssertionNodeArrayLeft数组清空,将左侧部分的所有节点依次加入AssertionNodeArrayLeft数组中,在AssertionNodeArrayLeft数组中递归运行该算法作为步骤(1)
(4)如果右侧只有一个表达式节点,则获取该节点的位置,并将根节点的位置设置为其前序位置,否则将AssertionNodeArrayRight数组清空,将右侧部分的所有节点依次加入AssertionNodeArrayRight数组中,在AssertionNodeArrayRight数组中递归运行该算法作为步骤(1)。
如果当前系统是多节点系统或具有子系统的多节点系统,其故障树生成算法可分为以下步骤:
(1)在当前视图中查找“out”节点;
(2)初始化Analyser类,Analyser具有单类节点故障树生成算法中描述的功能;
(3)遍历LinkInfoArray以获取和剪切与当前视图中“out”节点连接的连线绑定的断言;
(4)将断言赋给Analyser进行分析并切割,得到与连线相连的类节点信息;
(5)判断节点类型,如果节点为当前视图的节点,则执行步骤(6),如果为子系统内的节点,执行步骤(7);
(6)通过节点输入流信息和视图信息得到线条的前序断言,通过前序断言得到前序节点,执行步骤(5);
(7)先将视图信息更新为子系统视图信息,然后从步骤(1)重新开始执行;
(8)当前视图内无前序节点时,视图信息更新为上一级视图信息;
(9)在当前视图无前序视图且无前序节点时,生成故障树图。
本发明的有益效果:不仅提高了系统的建模和安全性分析能力,也便于对系统和故障模型进行同步修改和维护,实现了系统建模、故障建模和分析工作的同步对接,极大地提高了安全关键系统的系统和故障建模分析工作的效率。
附图说明
图1为嵌套AltaRica系统模型。
图2为多节点故障树生成结果。
图3为案例分析中的系统描述。
图4为案例分析中运行的数据流和断言。
图5为案例分析系统建模图。
图6为算法运行结果图。
具体实施方式
为了加深对本发明的理解,下面将结合附图和实施例对本发明做进一步详细描述,该实施例仅用于解释本发明,并不对本发明的保护范围构成限定。
实施例:一种基于AltaRica的系统故障树自动生成方法,首先判断当前系统类型,
当前系统是单类节点系统,则故障树生成算法分为两个步骤:
第一步是记录从断言中扫描和剪切出的有效的字符串并计算其括号深度,其中包括:
1.1扫描、剪切、记录单类节点断言字符串;
1.2记录每个字符串的括号深度;
1.3添加到CAltaRicaAnalyser类中由函数MakeAssertionToAssertionArray()
实现的名为AssertionNodeArray的数组中;
第二步是递归生成表达式的前序位置,用于在故障树中绘制逻辑操作节点,包括:
2.1扫描AssertionNodeArray,由最深的括号深度得到当前根节点的位置,并将第一次得到的根节点前序位置设为-1,其他情况下当前根节点的前序位置为递归算法执行前根节点的位置;
2.2以当前根节点为中心位置将AssertionNodeArray切割成左右两部分;
2.3如果左侧只有一个表达式节点,则获取该节点的位置,并将根节点的位置设置为其前序位置,否则将AssertionNodeArrayLeft数组清空,将左侧部分的所有节点依次加入AssertionNodeArrayLeft数组中,在AssertionNodeArrayLeft数组中递归运行该算法作为步骤2.1;
2.4如果右侧只有一个表达式节点,则获取该节点的位置,并将根节点的位置设置为其前序位置,否则将AssertionNodeArrayRight数组清空,将右侧部分的所有节点依次加入AssertionNodeArrayRight数组中,在AssertionNodeArrayRight数组中递归运行该算法作为步骤2.1;
当前系统是多节点系统或具有子系统的多节点系统,其故障树生成算法可分为以下步骤:
3.1在当前视图中查找“out”节点;
3.2初始化Analyser类,Analyser具有单类节点故障树生成算法中描述的功能;
3.3遍历LinkInfoArray以获取和剪切与当前视图中“out”节点连接的连线绑定的断言;
3.4将断言赋给Analyser进行分析并切割,得到与连线相连的类节点信息;
3.5判断节点类型,如果节点为当前视图的节点,则执行步骤3.6,如果为子系统内的节点,执行步骤3.7;
3.6通过节点输入流信息和视图信息得到线条的前序断言,通过前序断言得到前序节点,执行步骤3.5;
3.7先将视图信息更新为子系统视图信息,然后从步骤3.1重新开始执行;
3.8当前视图内无前序节点时,视图信息更新为上一级视图信息;
3.9在当前视图无前序视图且无前序节点时,生成故障树图。
上述步骤3.4中,通过Analyser的函数MakeAssertionToAssertionArray()对断言进行分析和切割,并将切割后的字符串存入AssertionNodeArray数组中,通过GetOutFlowValueFromLinkInfo()函数获得输出流信息,通过GetOutFlowValueFromLinkInfo()函数获得输出事件并根据当前连线获得前序节点信息和视图信息。
上述步骤3.5中,通过判断节点是否有前序视图信息来确定此节点是否在子系统中。
上述步骤3.6中,通过线条输出流和节点名称得到节点输入流,从而通过函数GetLinkInfoPartEnd()得到线条前序断言,通过函数GetClassNodeNameFromPartEnd()可以得到前序节点。
本实施例首先创建了五个类Class1、Class2、Class3、Class4和Class5,以及两个子系统s1和s2。然后,本发明创建了基于Class1的节点comp1、基于Class2的节点comp2、基于Class3的节点comp3,s1子系统中包含了基于Class4的节点comp4,s2子系统中包含了基于Class5的节点comp5,并通过图3所示节点与子系统之间的链接中的流绑定将它们连接起来,实现故障的传递。
该过程详细描述如下,相关信息如图4所示,包括:
(1)获取连接到“Out”节点的连线信息,即“comp3.Z3”;
(2)通过遍历Class3中的所有输出流,找到comp3是Class3的实例,Z3是Class3的输出流,然后将连线修改为“(U3==false)and(W3==false)”;
(3)发现U3是来自s2中comp5的输入流,然后发现U3与s2中comp5中的输出流W5相连。
(4)获取W5的断言并将连线修改为((U5==false)and(A5==false))and(W3==false);
(5)发现U5是连接到comp1中U1的流入流;
(6)获取U1的断言,并将连线修改为((((A1==false)and(B1==false))or(Y1==false))and(A5==false))and(W3==false);
(7)发现Y1是来自comp3中Y3的一个输入流;
(8)获取Y3的断言并将连线修改为((((A1==false)and(B1==false))or((D3==false)))and(A5==false))and(W3==false);
(9)发现A5不是comp5中的输入流,也就是说没有来自其他节点或子系统的输出流,然后返回并继续分析;
(10)发现W3是来自comp2中W2的输入流;
(11)获取W2的断言,将连线修改为((((A1==false)and(B1==false))or((D3==false)))and(A5==false))and(((A2==false)and(B2==false))or(U2==false));
(12)发现A5、A2、B2均不是流变量,则返回继续分析;
(13)发现U2为输入流并且与s1中comp4的W4连接;
(14)获取W4的断言,并将连线修改为((((A1==false)and(B1==false))or((D3==false)))and(A5==false))and(((A2==false)and(B2==false))or((U4==false)and(V4==false)));
(15)发现U4和V4是输入流,但与它们与外部没有连接输入,然后返回并继续分析;
(16)所有表达式都经过遍历和分析,算法结束。
在案例研究中,通过流和断言对连线进行递归分析的结果如表1所示。
表1案例分析的结果
Figure BDA0002228253160000101
在案例研究中使用SSMA进行的系统建模如图5所示,包括了comp1,comp2,comp3,comp4,comp5,s1,s2和连线。算法运行结果图如图6所示。
本发明以Altarica语言规范为基础,研究了Altarica语言的语法和语义,将可视化建模与Altarica语言的故障逻辑描述能力相结合,设计并实现了从节点到嵌套系统的故障树自动生成算法,并对其进行了改进。具有系统安全建模与分析的能力,实现系统和故障建模与分析的同步。
在本发明中,类CAltaRicaAnalyser:此类主要用于对断言语句的分析。
函数MakeAssertionToAssertionArray():此函数为类CAltaRicaAnalyser的成员函数,主要作用为:首先将得到的断言字符串存入到char数组中,扫描断言,将左右括号和空格脱去,然后将切割后的字符串存入到AssertionNodeArray数组中并计算字符层次。
数组AssertionNodeArray:其数据类型为AssertionNode。
数组LinkInfoArray:此数组保存节点与节点之间的连线。其数据类型为:ClassNodeToClassNodeLinkInfo。
Figure BDA0002228253160000102
Figure BDA0002228253160000111
函数GetOutFlowFromLinkInfo():通过切割后的字符串,来获取其输出流的名称。
函数GetOutFlowValueFromLinkInfo():通过切割后的字符串,来获取其输出事件的名称。
函数GetLinkInfoPartEnd():通过分析线条目的节点视图信息,目的节点输入流信息,当前视图信息,获取线条前序断言。
函数GetClassNodeNameFromPartEnd():通过分析线条前序断言,来获取线条前序节点信息。
通过实例研究,发现该类模型、系统模型和故障模型易于修改和维护,大大提高了故障建模和安全关键系统分析的准确性和效率。本发明提出的方法和SSMA已成功地应用于船舶发电机励磁系统的故障建模和分析。
以上显示和描述了本发明的基本原理、主要特征及优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。

Claims (4)

1.一种基于AltaRica的系统故障树自动生成方法,其特征在于,首先判断当前系统类型,
当前系统是单类节点系统,则故障树生成算法分为两个步骤:
第一步是记录从断言中扫描和剪切出的有效的字符串并计算其括号深度,其中包括:
1.1扫描、剪切、记录单类节点断言字符串;
1.2记录每个字符串的括号深度;
1.3添加到CAltaRicaAnalyser类中由函数MakeAssertionToAssertionArray()实现的名为AssertionNodeArray的数组中;
第二步是递归生成表达式的前序位置,用于在故障树中绘制逻辑操作节点,
包括:
2.1扫描AssertionNodeArray,由最深的括号深度得到当前根节点的位置,并将第一次得到的根节点前序位置设为-1,其他情况下当前根节点的前序位置为递归算法执行前根节点的位置;
2.2以当前根节点为中心位置将AssertionNodeArray切割成左右两部分;
2.3如果左侧只有一个表达式节点,则获取该节点的位置,并将根节点的位置设置为其前序位置,否则将AssertionNodeArrayLeft数组清空,将左侧部分的所有节点依次加入AssertionNodeArrayLeft数组中,在AssertionNodeArrayLeft数组中递归运行该算法作为步骤2.1;
2.4如果右侧只有一个表达式节点,则获取该节点的位置,并将根节点的位置设置为其前序位置,否则将AssertionNodeArrayRight数组清空,将右侧部分的所有节点依次加入AssertionNodeArrayRight数组中,在AssertionNodeArrayRight数组中递归运行该算法作为步骤2.1;
当前系统是多节点系统或具有子系统的多节点系统,其故障树生成算法可分为以下步骤:
3.1在当前视图中查找“out”节点;
3.2初始化Analyser类,Analyser具有单类节点故障树生成算法中描述的功能;
3.3遍历LinkInfoArray以获取和剪切与当前视图中“out”节点连接的连线绑定的断言;
3.4将断言赋给Analyser进行分析并切割,得到与连线相连的类节点信息;
3.5判断节点类型,如果节点为当前视图的节点,则执行步骤3.6,如果为子系统内的节点,执行步骤3.7;
3.6通过节点输入流信息和视图信息得到线条的前序断言,通过前序断言得到前序节点,执行步骤3.5;
3.7先将视图信息更新为子系统视图信息,然后从步骤3.1重新开始执行;
3.8当前视图内无前序节点时,视图信息更新为上一级视图信息;
3.9在当前视图无前序视图且无前序节点时,生成故障树图。
2.根据权利要求1所述的基于AltaRica的系统故障树自动生成方法,其特征在于,所述步骤3.4中,通过Analyser的函数MakeAssertionToAssertionArray()对断言进行分析和切割,并将切割后的字符串存入AssertionNodeArray数组中,通过GetOutFlowValueFromLinkInfo()函数获得输出流信息,通过GetOutFlowValueFromLinkInfo()函数获得输出事件并根据当前连线获得前序节点信息和视图信息。
3.根据权利要求1所述的基于AltaRica的系统故障树自动生成方法,其特征在于,所述步骤3.5中,通过判断节点是否有前序视图信息来确定此节点是否在子系统中。
4.根据权利要求1所述的基于AltaRica的系统故障树自动生成方法,其特征在于,所述步骤3.6中,通过线条输出流和节点名称得到节点输入流,从而通过函数GetLinkInfoPartEnd()得到线条前序断言,通过函数GetClassNodeNameFromPartEnd()可以得到前序节点。
CN201910958827.6A 2019-10-10 2019-10-10 一种基于AltaRica的系统故障树自动生成方法 Active CN110716819B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910958827.6A CN110716819B (zh) 2019-10-10 2019-10-10 一种基于AltaRica的系统故障树自动生成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910958827.6A CN110716819B (zh) 2019-10-10 2019-10-10 一种基于AltaRica的系统故障树自动生成方法

Publications (2)

Publication Number Publication Date
CN110716819A true CN110716819A (zh) 2020-01-21
CN110716819B CN110716819B (zh) 2020-11-20

Family

ID=69211317

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910958827.6A Active CN110716819B (zh) 2019-10-10 2019-10-10 一种基于AltaRica的系统故障树自动生成方法

Country Status (1)

Country Link
CN (1) CN110716819B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111709133A (zh) * 2020-06-11 2020-09-25 南京航空航天大学 一种基于模型故障树自动生成的系统安全性评估方法
CN112487711A (zh) * 2020-11-25 2021-03-12 江苏科技大学 一种基于概率分布的AltaRica故障树生成方法及系统

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2573694A1 (en) * 2011-09-23 2013-03-27 Airbus Operations Limited Conversion method and system
CN105426680A (zh) * 2015-11-25 2016-03-23 南京航空航天大学 基于特征配置的故障树生成方法
CN105808366A (zh) * 2016-03-14 2016-07-27 南京航空航天大学 一种基于四变量模型的系统安全分析方法
CN105938502A (zh) * 2016-03-17 2016-09-14 南京航空航天大学 面向AltaRica模型的系统安全性设计验证方法
CN108089861A (zh) * 2017-12-27 2018-05-29 南京航空航天大学 一种从SysML模型转换到AltaRica模型的转换方法
CN109214140A (zh) * 2018-11-19 2019-01-15 中国航空综合技术研究所 基于AltaRica的航电系统动态重构建模方法
US20190108084A1 (en) * 2017-10-11 2019-04-11 Siemens Aktiengesellschaft Method for providing an analytical artifact based on functional system description
CN109857458A (zh) * 2019-03-01 2019-06-07 南京航空航天大学 基于ANTLR的AltaRica 3.0的扁平化的转化方法
CN110069410A (zh) * 2019-04-15 2019-07-30 上海微小卫星工程中心 一种基于动态故障树的嵌入式星载软件测试用例生成方法
CN110245373A (zh) * 2018-03-07 2019-09-17 罗伯特·博世有限公司 用于技术系统的故障树分析

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2573694A1 (en) * 2011-09-23 2013-03-27 Airbus Operations Limited Conversion method and system
CN105426680A (zh) * 2015-11-25 2016-03-23 南京航空航天大学 基于特征配置的故障树生成方法
CN105808366A (zh) * 2016-03-14 2016-07-27 南京航空航天大学 一种基于四变量模型的系统安全分析方法
CN105938502A (zh) * 2016-03-17 2016-09-14 南京航空航天大学 面向AltaRica模型的系统安全性设计验证方法
US20190108084A1 (en) * 2017-10-11 2019-04-11 Siemens Aktiengesellschaft Method for providing an analytical artifact based on functional system description
CN108089861A (zh) * 2017-12-27 2018-05-29 南京航空航天大学 一种从SysML模型转换到AltaRica模型的转换方法
CN110245373A (zh) * 2018-03-07 2019-09-17 罗伯特·博世有限公司 用于技术系统的故障树分析
CN109214140A (zh) * 2018-11-19 2019-01-15 中国航空综合技术研究所 基于AltaRica的航电系统动态重构建模方法
CN109857458A (zh) * 2019-03-01 2019-06-07 南京航空航天大学 基于ANTLR的AltaRica 3.0的扁平化的转化方法
CN110069410A (zh) * 2019-04-15 2019-07-30 上海微小卫星工程中心 一种基于动态故障树的嵌入式星载软件测试用例生成方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
MICHEL BATTEUX: "《The AltaRica 3.0 project for model-based safety assessment》", 《2013 11TH IEEE INTERNATIONAL CONFERENCE ON INDUSTRIAL INFORMATICS (INDIN)》 *
胡军等: "《一种基于四变量模型的系统安全性建模与分析方法》", 《计算机科学》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111709133A (zh) * 2020-06-11 2020-09-25 南京航空航天大学 一种基于模型故障树自动生成的系统安全性评估方法
CN112487711A (zh) * 2020-11-25 2021-03-12 江苏科技大学 一种基于概率分布的AltaRica故障树生成方法及系统

Also Published As

Publication number Publication date
CN110716819B (zh) 2020-11-20

Similar Documents

Publication Publication Date Title
Mateescu et al. Efficient on-the-fly model-checking for regular alternation-free mu-calculus
Berthomieu et al. Formal verification of AADL specifications in the Topcased environment
KR20150123282A (ko) 프로그램을 보호하기 위한 방법
CN110716819B (zh) 一种基于AltaRica的系统故障树自动生成方法
Bonacina et al. On interpolation in automated theorem proving
Bernaerts et al. Validating industrial requirements with a contract-based approach
Baouya et al. Reliability-driven automotive software deployment based on a parametrizable probabilistic model checking
Ghezzi et al. On requirements verification for model refinements
Dam CTL* and ECTL* as fragments of the modal μ-calculus
Helbig et al. An OBDD-representation of statecharts
Mross et al. Transformation of GRAFCET into GAL for verification purposes based on a detailed meta-model
Frappier et al. Refinement patterns for ASTDs
Farahbod CoreASM: an extensible modeling framework & tool environment for high-level design and analysis of distributed systems
Grunske et al. Defining the abstract syntax of visual languages with advanced graph grammars—a case study based on behavior trees
Keinänen Techniques for solving Boolean equation systems
Meseguer The temporal logic of rewriting
Ushakova et al. Automation of formal verification of programs in the Pifagor language
Abate et al. The tableau workbench
Molnár et al. Component-wise incremental LTL model checking
Kerkouche et al. Transforming UML models to colored Petri nets models using graph grammars
Hollander Verification of a model checking algorithm in VerCors
Yavuz-Kahveci et al. Action Language Verifier: An infinite-state model checker for reactive software specifications
Deb et al. Generation of safety and liveness complaint automata from goal model specifications
Lindecker et al. Multi-way semantic specification of domain-specific modeling languages
Dramnesc et al. A case study in systematic exploration of tuple theory

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
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20200121

Assignee: Center for technology transfer Jiangsu University of Science and Technology

Assignor: JIANGSU University OF SCIENCE AND TECHNOLOGY

Contract record no.: X2021980006173

Denomination of invention: An automatic generation method of system fault tree based on altarica

Granted publication date: 20201120

License type: Common License

Record date: 20210714

EE01 Entry into force of recordation of patent licensing contract
EC01 Cancellation of recordation of patent licensing contract

Assignee: Center for technology transfer Jiangsu University of Science and Technology

Assignor: JIANGSU University OF SCIENCE AND TECHNOLOGY

Contract record no.: X2021980006173

Date of cancellation: 20210826

EC01 Cancellation of recordation of patent licensing contract
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20200121

Assignee: China Shipbuilding Power Zhenjiang Co.,Ltd.

Assignor: JIANGSU University OF SCIENCE AND TECHNOLOGY

Contract record no.: X2023980031936

Denomination of invention: An AltaRica-based automatic generation method of system fault tree

Granted publication date: 20201120

License type: Common License

Record date: 20230208

EE01 Entry into force of recordation of patent licensing contract