CN111209176A - 硬件系统可靠性验证方法 - Google Patents
硬件系统可靠性验证方法 Download PDFInfo
- Publication number
- CN111209176A CN111209176A CN202010010995.5A CN202010010995A CN111209176A CN 111209176 A CN111209176 A CN 111209176A CN 202010010995 A CN202010010995 A CN 202010010995A CN 111209176 A CN111209176 A CN 111209176A
- Authority
- CN
- China
- Prior art keywords
- model
- fault
- aadl
- dynamic
- fault tree
- 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
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3447—Performance evaluation by modeling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3457—Performance evaluation by simulation
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种硬件系统可靠性验证方法,包括:建立AADL可靠性模型;将所述AADL可靠性模型转换为动态故障树模型;通过顺序二元决策图方法对所述动态故障树模型进行分析验证。通过上述方法,可以在更高的抽象层次上进行系统级别的设计,有助于缓解系统复杂性,提高软件质量,而且对整个硬件内部和外部交互的可靠性有较大的提高。
Description
技术领域
本发明涉及可靠性验证技术领域,特别涉及一种硬件系统可靠性验证方法。
背景技术
随着国防科技的飞速发展,军事系统的功能日益复杂,规模日益庞大,采用国外产品,会使得软硬件质量不受控,因此可靠性与安全性难以得到保证,系统中某个软件模块的缺陷或故障可能导致整个武器系统失效,造成巨大的经济损失甚至人员伤亡。
但是现有技术中,无法在更高的抽象层次上进行系统级别的设计,对硬件系统进行可靠性验证,因此,对硬件系统进行可靠性验证,构建安全、稳定、高效的硬件系统具有重要意义。
发明内容
本公开实施例提供了一种硬件系统可靠性验证方法。为了对披露的实施例的一些方面有一个基本的理解,下面给出了简单的概括。该概括部分不是泛泛评述,也不是要确定关键/重要组成元素或描绘这些实施例的保护范围。其唯一目的是用简单的形式呈现一些概念,以此作为后面的详细说明的序言。
在一些可选地实施例中,一种硬件系统可靠性验证方法,包括:
建立AADL可靠性模型;
将AADL可靠性模型转换为动态故障树模型;
通过顺序二元决策图方法对动态故障树模型进行分析验证。
进一步地,建立AADL可靠性模型,包括:
建立AADL结构模型和故障模型;
确定AADL组件之间的交互连接表达形式;
基于交互连接表达形式将故障模型添加到AADL结构模型中,形成AADL可靠性模型。
进一步地,确定AADL组件之间的交互连接表达形式,包括:
确定表达形式的属性;
确定表达形式的模式;
确定表达形式的包。
进一步地,建立故障模型,包括:
将硬件系统的功能结构进行抽象,得到故障模型。
进一步地,将AADL可靠性模型转换为动态故障树模型,包括:
根据预设规则将AADL可靠性模型中的组件转换为动态故障树模型中的模块;
以AADL可靠性模型中的组件为单元建立故障传播图;
根据模块和故障传播图建立动态故障树模型。
进一步地,预设规则包括:
将AADL可靠性模型中的故障状态转换为动态故障树模型中的顶事件;
将AADL可靠性模型中的故障事件转换为动态故障树模型中的底事件;
将AADL可靠性模型中的连接关系转换为动态故障树模型中的逻辑门。
进一步地,通过顺序二元决策图方法对动态故障树模型进行分析验证,包括:
将动态故障树模型中的动态门替换为相应的割序列;
将动态故障树模型中的底事件进行排序,得到底事件排序队列;
将替换后的动态故障树模型和底事件排序队列输入顺序二元决策图生成算法中,得到顺序二元决策图;
计算顺序二元决策图中的不交化割集,得到验证结果。
本公开实施例提供的技术方案可以包括以下有益效果:
本发明提供了一种硬件系统可靠性验证方法,通过建立AADL结构模型和故障模型;生成AADL可靠性模型,根据给定方法,将可靠性模型转化为动态故障树,使用顺序二元决策图方法分析动态故障树,实现对硬件的验证,通过建立可靠性模型并进行验证,可以对硬件内部、硬件之间通信进行建模和验证。从而不仅有助于缓解系统复杂性,提高软件质量,而且对整个硬件内部和外部交互的可靠性有较大的提高,还能优化硬件结构使其更加集中合理,有利于构建安全、稳定、高效的硬件系统。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
图1是根据一示例性实施例示出的一种硬件系统可靠性验证方法的流程示意图;
图2是根据一示例性实施例示出的一种硬件系统可靠性验证方法的流程示意图;
图3是根据一示例性实施例示出的一种可靠性模型的构建的示意图;
图4是根据一示例性实施例示出的一种AADL故障模型示意图;
图5是根据一示例性实施例示出的一种硬件系统可靠性验证系统的结构示意图;
图6是根据一示例性实施例示出的一种构建模块的结构示意图;
图7是根据一示例性实施例示出的一种转换模块的结构示意图;
图8是根据一示例性实施例示出的一种验证模块的结构示意图。
具体实施方式
为了能够更加详尽地了解本公开实施例的特点与技术内容,下面结合附图对本公开实施例的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本公开实施例。在以下的技术描述中,为方便解释起见,通过多个细节以提供对所披露实施例的充分理解。然而,在没有这些细节的情况下,一个或一个以上实施例仍然可以实施。在其它情况下,为简化附图,熟知的结构和装置可以简化展示。
实施例一:
本公开实施例提供了一种硬件系统可靠性验证方法。
图1是根据一示例性实施例示出的一种硬件系统可靠性验证方法的流程示意图。
在一些实施例中,一种硬件系统可靠性验证方法包括:
步骤S101、建立AADL可靠性模型;
其中,AADL(结构分析与设计语言,Architecture Analysis and DesignLanguage)是一种描述实时系统的软硬件结构的体系结构设计和分析语言,并已成熟应用于硬件系统相关问题的验证工作中,本技术基于AADL对硬件系统进行可靠性验证。
图3是根据一示例性实施例示出的一种可靠性模型的构建的示意图。
如图3所示,可靠性模型的构建方法包括,通过分析硬件系统的功能结构,根据硬件系统的功能结构构建AADL结构模型和AADL故障模型,分析组件之间的交互连接表达形式,基于组件之间的交互连接表达形式,将AADL故障模型加入到AADL结构模型中,与嵌入式软件中的各种组件相结合,即故障模型与相应的组件绑定,最终形成完整的嵌入式软件可靠性模型。
具体地,首先构建AADL故障模型和AADL结构模型。AADL故障模型由故障模型类型和故障模型实现组成。在故障模型类型中,可声明一组故障状态、故障事件和故障传播,故障模型的实现可以声明状态之间的转换,该转换由故障模型类型中已声明的事件和传播触发。AADL结构模型包括抽象出来的硬件系统的功能结构组件。
其中,声明中的故障状态、故障事件和故障传播,包括:层次化的故障类型定义,故障类型可以调用已知的故障类型或是自己定义的故障类型,组件之间的故障传播机制,其包含人为定义的组件输入输出的故障类型和通过组件间的信息流定义故障的传播方向,组件内部行为故障描述,如:组件的状态、故障事件、发生概率、故障传播路径等。
图4是根据一示例性实施例示出的一种AADL故障模型示意图;如图4所示,所涉及方法和设置包括以下内容:
AADL故障模型的类型和实现都可以声明事件属性,这些属性能指定事件和传播的到达率或发生概率。当在转换中对其进行命名且当前状态是转换的起点时,将根据指定的事件属性发生向外传播。在模型中,还可以通过定义防护属性来定制AADL故障模型实例,以适用于特定组件。
在故障状态Fail:error event下定义了{Occurrence=>Poissonλ}。在恢复条件Recover:error event下定义了{Occurrence=>Poissonμ}。在传播条件KO:in out errorpropagation下定义了{Occurrence=>fixed p}。
构建完AADL故障模型和AADL结构模型后,要确定AADL组件之间的交互连接表达形式,其中确定组件之间的交互连接表达形式,包括:确定表达形式的属性,提供关于组件的描述信息;确定表达形式的模式,表现一个系统或者组件的备选操作状态;确定表达形式的包,允许组件拥有独立命名空间的单独单元。
最后,基于组件之间的交互连接表达形式,将AADL故障模型加入到AADL结构模型中,与嵌入式软件中的各种组件相结合,即故障模型与相应的组件绑定,最终形成完整的嵌入式软件可靠性模型。
在本公开实施例中,通过迭代的方法生成AADL可靠性模型,在初次迭代时,认为各组件的模型独立于环境之外,在之后的迭代过程中,组件之间的相互关联将不断增强。
通过上述方法,得到构建完成的AADL可靠性模型,这样对整个硬件内部和外部交互的可靠性有较大的提高。
步骤S102、将AADL可靠性模型转换为动态故障树模型;
具体地,首先确定模型转换的规则,模型转换规则包括,将可靠性模型中的故障状态转换为动态故障树中的顶事件,可靠性模型中的故障事件转换为动态故障树中的底事件,可靠性模型中的连接关系转换为动态故障树中的逻辑门。若组件之间通过and连接,则转换为与门,若组件之间通过or连接,则转换为或门。若多个故障事件发生均导致一个组件转变为相同的故障状态,则将故障状态转换为中间事件,各故障事件转换为这个中间事件的叶子节点,不同组件可以通过端口构成相互依赖关系,端口既可以传递数据和事件,也可以是故障的传播路径。在转换过程中将故障过滤、屏蔽之后的组件状态转化为中间事件,导致故障传播的故障事件转化为这个中间事件的叶子节点,节点之间根据屏蔽、过滤的逻辑关系,用相应的门连接。
根据上述规则将AADL可靠性模型中的组件转换为动态故障树模型中的模块;
然后以AADL可靠性模型中的组件为单元建立故障传播图,在本公开实施例中,故障传播图是以AADL可靠性模型中的组件为基础,以故障传播路径为方向,表示系统内部各组件间故障传播的有向图,它表示系统运行中故障在各组件间传播的过程,组件的故障传播分为两种:组件内部的故障传播和组件间故障传播,在本步骤中,将所有组件抽象为一个点,根据依赖关系将组件连接,完成故障传播图的建立。
最后,根据故障传播图和故障模块建立动态故障树。
通过上述方法,可以得到转换完成的动态故障树模型。
步骤S103、通过顺序二元决策图方法对动态故障树模型进行分析验证。
在本公开实施例中,通过顺序二元决策图方法对动态故障树模型进行分析验证,包括将动态故障树模型中的动态门替换为相应的割序列;将动态故障树模型中的底事件进行排序,得到底事件排序队列;将替换后的动态故障树模型和底事件排序队列输入顺序二元决策图生成算法中,得到顺序二元决策图;计算顺序二元决策图中的不交化割集,得到验证结果。
具体地,将动态故障树模型中的动态门替换为相应的割序列,包括:替换动态故障树中的动态门需要层序遍历故障树,并对每个节点进行判断,若该节点为PAND门、SAND门或POR门的节点,则按照动态门替换表中的规则将门节点转换为其对应的叶节点,将该叶节点插入原门节点的位置,遍历完动态故障树即完成所有门节点的转换并得到转换后的动态故障树。
具体地,将动态故障树模型中的底事件进行排序,得到底事件排序队列,包括:首先确定排序规则,排序规则为静态底事件排在动态底事件之前。对于静态底事件而言,静态底事件越靠近动态故障树顶事件,越需要排在更靠前的位置,当静态底事件处于同层时,优先排列出现次数多的静态底事件,当出现次数相同时,优先排列与已排序的静态底事件在同一个静态门的静态底事件,若无,则按照从左到右的顺序进行排序。动态底事件的排序方法为:相同动态门的动态底事件按照出现顺序进行排列,不同动态门的动态底事件按照SAND门(A&B)、POR门(A|B)和PAND门(A<B)的顺序进行排列。
按照上述排序规则,对动态故障树模型中的底事件进行排序,第一次遍历转换后的动态故障树,统计故障树中各底事件出现的次数,其中,在统计静态底事件数量时,不仅要统计单独出现的静态底事件,还要统计动态底事件中的静态底事件。
第二次采用层序遍历的方法遍历转换后的动态故障树,每一层的底事件按照上述排序方法进行排序,得到每一层的排序队列Ai(1<i<n);按照上述排序方法依次将每层的排序队列合并到总排序队列A中,Ai和A都是由静态底事件、SAND动态底事件、POR动态底事件和PAND动态底事件组成,在合并过程中分别将Ai的4种不同类型底事件插入A中相同类型底事件的后方;则层序遍历完成后得到总排序队列A,即动态故障树的底事件排序队列。
具体地,将替换后的动态故障树模型和底事件排序队列输入顺序二元决策图生成算法中,得到顺序二元决策图,在算法开始时输入替换后的动态故障树和一个底事件排序队列,并初始化全局顺序二元决策图。在程序中自顶向下使用动态优化生成算法对各层节点进行运算,根据当前操作节点是否为门的情形抽取局部顺序二元决策图。通过对将当前节点重新赋值为其兄弟节点的方式实现对故障树下一层子式的计算,当顶事件的兄弟节点都被遍历计算完毕时,该动态故障树的顺序二元决策图建立完成。
其中,抽取局部动态故障树生成顺序二元决策图的方法为:当前操作节点为门节点时,对以当前操作节点为顶点的动态故障树进行顺序二元决策扩展运算得到局部顺序二元决策图,当前操作节点不为门时,以当前操作节点为局部顺序二元决策图。
具体地,计算顺序二元决策图中的不交化割集,得到验证结果。
在本公开实施例中,在计算顺序二元决策图不交化割集时,采用先序遍历的方法遍历顺序二元决策图。每经历一个节点,首先判定该节点是否为1节点或者0节点,若为1,则输出该节点队列,若不为0节点或者1节点,处理该节点的左分支,将表示该节点发生情况的节点标识加入队列中,对左分支采用上述操作;然后处理该节点的右分支,将表示该节点不发生情况的节点标识加入队列中,对右分支采用上述操作,最终输出队列的集合。
通过上述方法,实现了基于顺序二元决策图对动态故障树模型进行分析验证。
进一步地,建立AADL可靠性模型,包括:
建立AADL结构模型和故障模型;
确定AADL组件之间的交互连接表达形式;
基于交互连接表达形式将故障模型添加到AADL结构模型中,形成AADL可靠性模型。
具体地,首先构建AADL故障模型和AADL结构模型。AADL故障模型由故障模型类型和故障模型实现组成。在故障模型类型中,可声明一组故障状态、故障事件和故障传播,故障模型的实现可以声明状态之间的转换,该转换由故障模型类型中已声明的事件和传播触发。AADL结构模型包括抽象出来的硬件系统的功能结构组件。
其中,声明中的故障状态、故障事件和故障传播,包括:层次化的故障类型定义,故障类型可以调用已知的故障类型或是自己定义的故障类型,组件之间的故障传播机制,其包含人为定义的组件输入输出的故障类型和通过组件间的信息流定义故障的传播方向,组件内部行为故障描述,如:组件的状态、故障事件、发生概率、故障传播路径等。
图4是根据一示例性实施例示出的一种AADL故障模型示意图;如图4所示,所涉及方法和设置包括以下内容:
AADL故障模型的类型和实现都可以声明事件属性,这些属性能指定事件和传播的到达率或发生概率。当在转换中对其进行命名且当前状态是转换的起点时,将根据指定的事件属性发生向外传播。在模型中,还可以通过定义防护属性来定制AADL故障模型实例,以适用于特定组件。
在故障状态Fail:error event下定义了{Occurrence=>Poissonλ}。在恢复条件Recover:error event下定义了{Occurrence=>Poissonμ}。在传播条件KO:in out errorpropagation下定义了{Occurrence=>fixed p}。
构建完AADL故障模型和AADL结构模型后,要确定AADL组件之间的交互连接表达形式,其中确定组件之间的交互连接表达形式,包括:确定表达形式的属性,提供关于组件的描述信息;确定表达形式的模式,表现一个系统或者组件的备选操作状态;确定表达形式的包,允许组件拥有独立命名空间的单独单元。
最后,基于组件之间的交互连接表达形式,将AADL故障模型加入到AADL结构模型中,与嵌入式软件中的各种组件相结合,即故障模型与相应的组件绑定,最终形成完整的嵌入式软件可靠性模型。
进一步地,确定AADL组件之间的交互连接表达形式,包括:
确定表达形式的属性;
确定表达形式的模式;
确定表达形式的包。
构建完AADL故障模型和AADL结构模型后,要确定AADL组件之间的交互连接表达形式,其中确定组件之间的交互连接表达形式,包括:确定表达形式的属性,提供关于组件的描述信息;确定表达形式的模式,表现一个系统或者组件的备选操作状态;确定表达形式的包,允许组件拥有独立命名空间的单独单元。
进一步地,建立故障模型,包括:
将硬件系统的功能结构进行抽象,得到故障模型。
AADL故障模型由故障模型类型和故障模型实现组成。在故障模型类型中,可声明一组故障状态、故障事件和故障传播,故障模型的实现可以声明状态之间的转换,该转换由故障模型类型中已声明的事件和传播触发。
其中,声明中的故障状态、故障事件和故障传播,包括:层次化的故障类型定义,故障类型可以调用已知的故障类型或是自己定义的故障类型,组件之间的故障传播机制,其包含人为定义的组件输入输出的故障类型和通过组件间的信息流定义故障的传播方向,组件内部行为故障描述,如:组件的状态、故障事件、发生概率、故障传播路径等。
图4是根据一示例性实施例示出的一种AADL故障模型示意图;如图4所示,所涉及方法和设置包括以下内容:
AADL故障模型的类型和实现都可以声明事件属性,这些属性能指定事件和传播的到达率或发生概率。当在转换中对其进行命名且当前状态是转换的起点时,将根据指定的事件属性发生向外传播。在模型中,还可以通过定义防护属性来定制AADL故障模型实例,以适用于特定组件。
在故障状态Fail:error event下定义了{Occurrence=>Poissonλ}。在恢复条件Recover:error event下定义了{Occurrence=>Poissonμ}。在传播条件KO:in out errorpropagation下定义了{Occurrence=>fixed p}。
进一步地,将AADL可靠性模型转换为动态故障树模型,包括:
根据预设规则将AADL可靠性模型中的组件转换为动态故障树模型中的模块;
以AADL可靠性模型中的组件为单元建立故障传播图;
根据模块和故障传播图建立动态故障树模型。
具体地,首先确定模型转换的规则,模型转换规则包括,将可靠性模型中的故障状态转换为动态故障树中的顶事件,可靠性模型中的故障事件转换为动态故障树中的底事件,可靠性模型中的连接关系转换为动态故障树中的逻辑门。若组件之间通过and连接,则转换为与门,若组件之间通过or连接,则转换为或门。若多个故障事件发生均导致一个组件转变为相同的故障状态,则将故障状态转换为中间事件,各故障事件转换为这个中间事件的叶子节点,不同组件可以通过端口构成相互依赖关系,端口既可以传递数据和事件,也可以是故障的传播路径。在转换过程中将故障过滤、屏蔽之后的组件状态转化为中间事件,导致故障传播的故障事件转化为这个中间事件的叶子节点,节点之间根据屏蔽、过滤的逻辑关系,用相应的门连接。
根据上述规则将AADL可靠性模型中的组件转换为动态故障树模型中的模块;
然后以AADL可靠性模型中的组件为单元建立故障传播图,在本公开实施例中,故障传播图是以AADL可靠性模型中的组件为基础,以故障传播路径为方向,表示系统内部各组件间故障传播的有向图,它表示系统运行中故障在各组件间传播的过程,组件的故障传播分为两种:组件内部的故障传播和组件间故障传播,在本步骤中,将所有组件抽象为一个点,根据依赖关系将组件连接,完成故障传播图的建立。
最后,根据故障传播图和故障模块建立动态故障树。
进一步地,预设规则包括:
将AADL可靠性模型中的故障状态转换为动态故障树模型中的顶事件;
将AADL可靠性模型中的故障事件转换为动态故障树模型中的底事件;
将AADL可靠性模型中的连接关系转换为动态故障树模型中的逻辑门。
进一步地,通过顺序二元决策图方法对动态故障树模型进行分析验证,包括:
将动态故障树模型中的动态门替换为相应的割序列;
将动态故障树模型中的底事件进行排序,得到底事件排序队列;
将替换后的动态故障树模型和底事件排序队列输入顺序二元决策图生成算法中,得到顺序二元决策图;
计算顺序二元决策图中的不交化割集,得到验证结果。
具体地,将动态故障树模型中的动态门替换为相应的割序列,包括:替换动态故障树中的动态门需要层序遍历故障树,并对每个节点进行判断,若该节点为PAND门、SAND门或POR门的节点,则按照动态门替换表中的规则将门节点转换为其对应的叶节点,将该叶节点插入原门节点的位置,遍历完动态故障树即完成所有门节点的转换并得到转换后的动态故障树。
具体地,将动态故障树模型中的底事件进行排序,得到底事件排序队列,包括:首先确定排序规则,排序规则为静态底事件排在动态底事件之前。对于静态底事件而言,静态底事件越靠近动态故障树顶事件,越需要排在更靠前的位置,当静态底事件处于同层时,优先排列出现次数多的静态底事件,当出现次数相同时,优先排列与已排序的静态底事件在同一个静态门的静态底事件,若无,则按照从左到右的顺序进行排序。动态底事件的排序方法为:相同动态门的动态底事件按照出现顺序进行排列,不同动态门的动态底事件按照SAND门(A&B)、POR门(A|B)和PAND门(A<B)的顺序进行排列。
按照上述排序规则,对动态故障树模型中的底事件进行排序,第一次遍历转换后的动态故障树,统计故障树中各底事件出现的次数,其中,在统计静态底事件数量时,不仅要统计单独出现的静态底事件,还要统计动态底事件中的静态底事件。
第二次采用层序遍历的方法遍历转换后的动态故障树,每一层的底事件按照上述排序方法进行排序,得到每一层的排序队列Ai(1<i<n);按照上述排序方法依次将每层的排序队列合并到总排序队列A中,Ai和A都是由静态底事件、SAND动态底事件、POR动态底事件和PAND动态底事件组成,在合并过程中分别将Ai的4种不同类型底事件插入A中相同类型底事件的后方;则层序遍历完成后得到总排序队列A,即动态故障树的底事件排序队列。
具体地,将替换后的动态故障树模型和底事件排序队列输入顺序二元决策图生成算法中,得到顺序二元决策图,在算法开始时输入替换后的动态故障树和一个底事件排序队列,并初始化全局顺序二元决策图。在程序中自顶向下使用动态优化生成算法对各层节点进行运算,根据当前操作节点是否为门的情形抽取局部顺序二元决策图。通过对将当前节点重新赋值为其兄弟节点的方式实现对故障树下一层子式的计算,当顶事件的兄弟节点都被遍历计算完毕时,该动态故障树的顺序二元决策图建立完成。
其中,抽取局部动态故障树生成顺序二元决策图的方法为:当前操作节点为门节点时,对以当前操作节点为顶点的动态故障树进行顺序二元决策扩展运算得到局部顺序二元决策图,当前操作节点不为门时,以当前操作节点为局部顺序二元决策图。
具体地,计算顺序二元决策图中的不交化割集,得到验证结果。
在本公开实施例中,在计算顺序二元决策图不交化割集时,采用先序遍历的方法遍历顺序二元决策图。每经历一个节点,首先判定该节点是否为1节点或者0节点,若为1,则输出该节点队列,若不为0节点或者1节点,处理该节点的左分支,将表示该节点发生情况的节点标识加入队列中,对左分支采用上述操作;然后处理该节点的右分支,将表示该节点不发生情况的节点标识加入队列中,对右分支采用上述操作,最终输出队列的集合。
通过上述方法,实现了基于顺序二元决策图对动态故障树模型进行分析验证。
图2是根据一示例性实施例示出的一种硬件系统可靠性验证方法的流程示意图;
如图2所示,一种硬件系统可靠性验证方法包括:
步骤S1,构建AADL结构模型和AADL故障模型;
步骤S2,构建AADL可靠性模型,基于组件之间的交互连接表达形式,将AADL故障模型加入到AADL结构模型中,与嵌入式软件中的各种组件相结合,即故障模型与相应的组件绑定,最终形成完整的嵌入式软件可靠性模型。
步骤S3,将AADL可靠性模型转换为动态故障树模型,参考上述实施例提供的具体地转换方法,通过顺序二元决策图方法对动态故障树模型进行分析验证,并将动态故障树模型的验证结果反馈给AADL可靠性模型。
步骤S4,验证硬件系统。
实施例二:
本公开实施例提供了一种硬件系统可靠性验证系统。
图5是根据一示例性实施例示出的一种硬件系统可靠性验证系统的结构示意图;
在一些可选地实施例中,一种硬件系统可靠性验证系统包括:
S501构建模块,用于建立AADL可靠性模型;
S502转换模块,用于将AADL可靠性模型转换为动态故障树模型;
S503验证模块,用于通过顺序二元决策图系统对动态故障树模型进行分析验证。
图6是根据一示例性实施例示出的一种构建模块的结构示意图;
如图6所示,构建模块,包括:
S501-1第一构建单元,用于建立AADL结构模型和故障模型;
S501-2确定单元,用于确定AADL组件之间的交互连接表达形式;
S501-3第二构建单元,用于基于交互连接表达形式将故障模型添加到AADL结构模型中,形成AADL可靠性模型。
进一步地,确定单元,包括:
用于确定表达形式的属性;
用于确定表达形式的模式;
用于确定表达形式的包。
进一步地,第一构建单元,包括:
用于将硬件系统的功能结构进行抽象,得到故障模型。
图7是根据一示例性实施例示出的一种转换模块的结构示意图;
如图7所示,转换模块,包括:
S502-1转换单元,用于根据预设规则将AADL可靠性模型中的组件转换为动态故障树模型中的模块;
S502-2故障传播图建立单元,用于以AADL可靠性模型中的组件为单元建立故障传播图;
S502-3动态故障树建立单元,用于根据模块和故障传播图建立动态故障树模型。
进一步地,转换单元包括:
用于将AADL可靠性模型中的故障状态转换为动态故障树模型中的顶事件;
用于将AADL可靠性模型中的故障事件转换为动态故障树模型中的底事件;
用于将AADL可靠性模型中的连接关系转换为动态故障树模型中的逻辑门。
图8是根据一示例性实施例示出的一种验证模块的结构示意图。
如图8所示,验证模块,包括:
S503-1替换单元,用于将动态故障树模型中的动态门替换为相应的割序列;
S503-2排序单元,用于将动态故障树模型中的底事件进行排序,得到底事件排序队列;
S503-3顺序二元决策图生成单元,用于将替换后的动态故障树模型和底事件排序队列输入顺序二元决策图生成算法中,得到顺序二元决策图;
S503-4验证单元,用于计算顺序二元决策图中的不交化割集,得到验证结果。
本公开实施例提供的可靠性验证系统,执行上述实施例提供的硬件系统的可靠性验证方法。
需要说明的是:
在此提供的算法和显示不与任何特定计算机、虚拟装置或者其它设备固有相关。各种通用装置也可以与基于在此的示教一起使用。根据上面的描述,构造这类装置所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的系统、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一根或多根,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的系统解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的步骤进行自适应性地改变并且把它们设置在与该实施例不同的一根或多根设备中。可以把实施例中的步骤或步骤或组件组合成一个步骤或步骤或组件,以及此外可以把它们分成多个步骤或子步骤或子组件。除了这样的特征和/或过程或者步骤中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何系统或者设备的所有过程或步骤进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件步骤实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的虚拟机的创建装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的系统的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的步骤权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (7)
1.一种硬件系统可靠性验证方法,其特征在于,包括:
建立AADL可靠性模型;
将所述AADL可靠性模型转换为动态故障树模型;
通过顺序二元决策图方法对所述动态故障树模型进行分析验证。
2.根据权利要求1所述的方法,其特征在于,所述建立AADL可靠性模型,包括:
建立AADL结构模型和故障模型;
确定AADL组件之间的交互连接表达形式;
基于所述交互连接表达形式将所述故障模型添加到所述AADL结构模型中,形成所述AADL可靠性模型。
3.根据权利要求2所述的方法,其特征在于,所述确定AADL组件之间的交互连接表达形式,包括:
确定表达形式的属性;
确定表达形式的模式;
确定表达形式的包。
4.根据权利要求2所述的方法,其特征在于,建立所述故障模型,包括:
将硬件系统的功能结构进行抽象,得到所述故障模型。
5.根据权利要求1所述的方法,其特征在于,所述将所述AADL可靠性模型转换为动态故障树模型,包括:
根据预设规则将所述AADL可靠性模型中的组件转换为所述动态故障树模型中的模块;
以所述AADL可靠性模型中的组件为单元建立故障传播图;
根据所述模块和所述故障传播图建立所述动态故障树模型。
6.根据权利要求5所述的方法,其特征在于,所述预设规则包括:
将所述AADL可靠性模型中的故障状态转换为所述动态故障树模型中的顶事件;
将所述AADL可靠性模型中的故障事件转换为所述动态故障树模型中的底事件;
将所述AADL可靠性模型中的连接关系转换为所述动态故障树模型中的逻辑门。
7.根据权利要求1所述的方法,其特征在于,所述通过顺序二元决策图方法对所述动态故障树模型进行分析验证,包括:
将所述动态故障树模型中的动态门替换为相应的割序列;
将所述动态故障树模型中的底事件进行排序,得到底事件排序队列;
将替换后的动态故障树模型和所述底事件排序队列输入顺序二元决策图生成算法中,得到顺序二元决策图;
计算所述顺序二元决策图中的不交化割集,得到验证结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010010995.5A CN111209176A (zh) | 2020-01-06 | 2020-01-06 | 硬件系统可靠性验证方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010010995.5A CN111209176A (zh) | 2020-01-06 | 2020-01-06 | 硬件系统可靠性验证方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111209176A true CN111209176A (zh) | 2020-05-29 |
Family
ID=70786689
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010010995.5A Pending CN111209176A (zh) | 2020-01-06 | 2020-01-06 | 硬件系统可靠性验证方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111209176A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103942086A (zh) * | 2014-01-26 | 2014-07-23 | 华东师范大学 | 基于aadl的创建、分析和仿真混成系统模型的方法 |
CN104298803A (zh) * | 2013-07-15 | 2015-01-21 | 波音公司 | 评估失效的累积效应的系统和方法 |
US9311434B1 (en) * | 2012-03-26 | 2016-04-12 | The Mathworks, Inc. | Ladder logic modeling and simulation |
CN106325261A (zh) * | 2016-08-29 | 2017-01-11 | 南京航空航天大学 | 一种基于改进序列二元决策图的动态故障树分析方法 |
US20180075243A1 (en) * | 2016-09-13 | 2018-03-15 | The Mitre Corporation | System and method for modeling and analyzing the impact of cyber-security events on cyber-physical systems |
-
2020
- 2020-01-06 CN CN202010010995.5A patent/CN111209176A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9311434B1 (en) * | 2012-03-26 | 2016-04-12 | The Mathworks, Inc. | Ladder logic modeling and simulation |
CN104298803A (zh) * | 2013-07-15 | 2015-01-21 | 波音公司 | 评估失效的累积效应的系统和方法 |
CN103942086A (zh) * | 2014-01-26 | 2014-07-23 | 华东师范大学 | 基于aadl的创建、分析和仿真混成系统模型的方法 |
CN106325261A (zh) * | 2016-08-29 | 2017-01-11 | 南京航空航天大学 | 一种基于改进序列二元决策图的动态故障树分析方法 |
US20180075243A1 (en) * | 2016-09-13 | 2018-03-15 | The Mitre Corporation | System and method for modeling and analyzing the impact of cyber-security events on cyber-physical systems |
Non-Patent Citations (2)
Title |
---|
张晓策: "《基于动态故障树的嵌入式系统故障模型研究》", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
李东民等: "《基于故障树分析的嵌入式系统AADL模型可靠性分析方法》", 《计算机科学》 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3361224B2 (ja) | ディジタル回路トポロジーベースのコンピュータ支援設計方法及び装置 | |
JP3858000B2 (ja) | フィルタリング型アプローチを使用する組合せ回路の検証方法 | |
US20050240794A1 (en) | Method for domain specific test design automation | |
CN111209177A (zh) | 硬件系统可靠性验证系统 | |
Benoit et al. | Reliability of task graph schedules with transient and fail-stop failures: complexity and algorithms | |
CN101276308A (zh) | 验证目标程序的验证规范的产生装置和方法 | |
Borrione et al. | A generic model for formally verifying noc communication architectures: A case study | |
Davidrajuh | Extracting petri modules from large and legacy petri net models | |
Oortwijn | Deductive techniques for model-based concurrency verification | |
US8849626B1 (en) | Semantic translation of stateflow diagrams into input/output extended finite automata and automated test generation for simulink/stateflow diagrams | |
Jose et al. | SMT based false causal loop detection during code synthesis from polychronous specifications | |
CN111209176A (zh) | 硬件系统可靠性验证方法 | |
Ding et al. | Formalism-driven development of decentralized systems | |
Lemcke et al. | Composing web-service-like abstract state machines (ASMs) | |
Pourvatan et al. | Symbolic execution of Reo circuits using constraint automata | |
Chau et al. | Data-loop-free self-timed circuit verification | |
Szwed | Efficiency of formal verification of ArchiMate business processes with NuSMV model checker | |
Kondratyev et al. | The use of Petri nets for the design and verification of asynchronous circuits and systems | |
Sun | Protocol conformance testing using unique input/output sequences | |
Swamy et al. | Incremental formal design verification | |
Gheorghe et al. | GenericMethodology for the Design of Continuous/Discrete Co-Simulation Tools | |
Zhang et al. | Constraint-based automatic symmetry detection | |
Boroday et al. | Techniques for Abstracting SDL Specifications | |
Kanso et al. | Converting a Subset of LTL Formula to Buchi Automata | |
Ajila et al. | Using Model Transformation Semantics for Aspect Composition |
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 |
Application publication date: 20200529 |
|
RJ01 | Rejection of invention patent application after publication |