APP下载

基于动态故障树的航空发动机可靠性分析方法研究

2019-07-05宛伟健谢健葛晓瑜

计算技术与自动化 2019年2期
关键词:概率动态可靠性

宛伟健 谢健 葛晓瑜

摘  要:随着航空发动机技术的不断发展,对其性能要求不断提高,使得航空发动机的安全性和可靠性变得愈发重要。然而,当前针对航空发动机的可靠性分析方法较少考虑系统失效时的动态特性,面向《航空发动机适航规定》(CCAR33-R2),考虑航空发动机危害性发动机后果发生时系统的动态特性,提出了一种将动态故障树和概率模型检测相结合的可靠性分析方法,对航空发动机的可靠性进行分析。首先,通过动态故障树对航空发动机的动态行为进行建模,并将其转换到离散时间马尔科夫链模型;然后基于概率模型检测语言PRISM对离散时间马尔科夫链模型进行描述,并利用相应工具进行定量分析,将顶事件发生概率和《CCAR33-R2.75》条款规定的故障发生概率比较,验证航空发动机是否符合《CCAR33-R2.75》条款安全性要求;最后对某型航空涡轮发动机进行实例建模分析,验证所提方法的正确性与可行性。

关键词:CCAR33-R2.75;动态故障树;离散时间马尔科夫链;概率模型检测;PRISM

中圖分类号:TP311                             文献标识码:A

Analysis Method for Aeroengine Reliability Based on Dynamic Fault Tree

WAN Wei-jian1,2?覮,XIE Jian1,2,GE Xiao-Yu1,2

(1. College of Computer Science and Technology,Nanjing University of Aeronautics

and Astronautics,Nanjing,Jiangsu 210016,China;

2. Key Laboratory of Software Development and Verification Technology of High Security System(Nanjing University

of Aeronautics and Astronautics),Ministry of Industry and Information Technology,Nanjing,Jiangsu 211106,China)

Abstract: With the development of technology of aeronautical engine and the increasing requirements for its performance,engine's safety and reliability has become more and more important. However,analytical methods applied to previous studies on reliability of aeronautical paid less attention to dynamic behavior followed by system failure. The paper puts forward a method to analyze reliability of aeronautical engine that combines DFT (Dynamic Fault Tree) and PMC (Probabilistic Model Checking) in accordance with the rules on airworthiness of aeronautical engine. First,the paper will complete a modeling for the dynamic behavior of aeronautical engine through DFT,and transform it to the model of DTMC (Discrete Time Markov Chins).  Next,the paper will provide the expression of DTMC by PRISM based on the probability model,and make a quantitative analysis by means of corresponding methods comparing the occurrence rate of Top-Event with that stipulated by “CCAR33-R2.75” to test whether the safety of aeronautical engine complies with it. At last,a modeling analysis of a certain type of aeronautical turbine engine will be made to prove the correctness and feasibility of the method proposed in this paper.

Key words:CCAR33-R2.75;dynamic fault tree;discrete time Markov chins;probabilistic model checking;PRISM

航空发动机结构复杂,经常在高速、高温恶劣环境下工作,一旦出现故障即可能导致灾难性的后果,因此在发动机研制过程中,必须开展安全性设计、分析、评估与符合性验证工作,最终确保研制出的发动机能够满足相关的安全性要求[1-2]。

传统故障树分析方法(Fault Tree Analysis,FTA)[3]作为安全性与可靠性分析的有效工具,被广泛用于航空电子、核能和化工领域等安全关键领

域[4],但是其无法描述系统失效的动态行为,如故障修复、时序相关的故障和冷储备等。马尔科夫过程作为一种特殊的随机过程[5],虽然能够描述系统的动态特性,但因其状态空间规模随系统规模增长呈指数增长,导致马尔科夫模型的建立和求解非常繁琐,有时甚至由于计算量太大而无法使用[6]。

动态故障树(Dynamic Fault Tree,DFT)分析方法综合了传统FTA分析方法和Markov模型两者的优点,它通过引入描述时序逻辑关系的动态逻辑门扩展传统故障树,建立相应的动态故障树,进行动态故障树分析,从而能够对动态系统进行可靠性和安全性分析[7],被广泛应用于动态系统的故障建模。以动态故障树为基础,面向航空适航标准的安全条款,选择航空发动机的危害性发动机后果为对象,详细讨论航空发动机危害性发动机后果动态故障树的基于概率模型检测工具的分析方法,为解决复杂动态系统的可靠性设计分析提供了一种新的思路。

其他章节安排如下,第二部分给出航空发动机可靠性分析框架,并介绍了相关理论;第三部分介绍了动态故障树到马尔科夫模型的转换;第四部分介绍了DTMC模型到PRISM代码的转换:第五部分给出了航空发动机危害性后果"不可控火情"动态故障树建模和分析;第六部分给出了基于故障树的可靠性分析相关工作;第七部分是本文的总结与展望。

1   航空发动机可靠性分析框架

现有的基于动态故障树可靠性分析方法,通常先对动态故障树进行定量分析,求出顶事件失效概率,然后对系统可靠性进行分析与评估。但动态故障树是一个非形式化的模型,不能直接对其进行定量分析,而且,由于动态系统复杂的动态特性和缺乏有效工具的支撑,动态故障树的量化分析一直是可靠性领域研究的重点和难点之一。

结合离散时间马尔可夫链、PRISM、PCTL,提出一种基于概率模型检测的动态故障树定量分析方法,图1为航空发动机可靠性分析方法框架图,主要包括三部分内容:(1)DFT建模及形式化规约:通过需求文档与相关领域知识构建动态故障树,然后对动态故障树进行形式化规约,将其转换成DTMC模型;(2)定义定量分析属性公式:定义定量分析属性PCTL公式-计算顶事件发生概率;(3)概率模型檢测:用PRISM语言对DTMC模型进行描述,然后将生成的PRISM代码和定量分析属性公式作为输入,运行PRISM工具,得到定量分析结果,即顶事件发生概率。并通过将得到的顶事件发生概率与《CCAR33-R2.75》条款安全性要求规定的故障发生概率进行比较,分析该航空发动机是否符合适航标准提出的航空发动机安全性设计要求。还可以通过定义不同的定量分析属性公式,求出每个构件失效时分别导致顶事件失效的概率,找出最不可靠构件,为故障发生后的检修和维护工作提供帮助。

2   动态故障树到马尔科夫链的转换

将动态故障树转换马尔可夫链已有相关研究,详见文献[8]。在已有的转换规则下在逻辑门内引入了故障屏蔽机制,即在故障产生之前,有一个确定的概率可以避免故障发生,记为PM,引入故障屏蔽机制的目的是使系统组成简化,减少状态迁移的次数。转换过程中假设基本事件服从离散时间概率分布,且基本事件统计独立,系统和构件只取正常或故障两种状态。逻辑门的输入事件的发生顺序组合作为DTMC的基本状态,同时DTMC的状态转移概率设置为输入事件的故障概率。本文只考虑动态逻辑门,静态逻辑门的转换详见文献[9],在此不再赘述。得到动态逻辑门的DTMC模型如图2.1所示。

(1)PAND门的形式化规约

将优先与门转换成离散时间马尔科夫链如图2所示,记为PAND-DTMC。

图2.1中,初始状态“00”代表两个输入事件均正常工作的系统状态,“10”代表输入事件B失效而输入事件C正常工作的系统状态,“11”表示两个输入事件都失效的状态,但是下个时刻才会产生输出事件,“Fail”即指输出事件A发生,系统处于失效状态,“Mask”是本文引入故障屏蔽机制产生的状态,表示逻辑门在产生失效输出之前有一个固定概率故障被屏蔽,系统处于工作状态;ps和pc分别表示输入事件B和C的失效率。 表示故障屏蔽概率,是一个给定的固定值。

(2)FDEP门的形式化规约

根据功能相关门的工作原理和失效原理,可以将FDEP转换成离散时间马尔可夫链如图2.2所示,记为FDEP-DTMC。其中,和 分别表示相关事件X和Y的失效率,为触发事件T的失效率;“000”表示三个输入事件均工作的系统状态,“001”为只有事件B失效的系统状态,“010”为只有事件A失效的系统状态,“111”为两个相关事件和触发事件都失效的系统状态,下个时刻迁移到“Fail”状态,“Fail”为系统失效状态,“Mask”为故障屏蔽状态,系统正常工作。

(3)SPARE门的形式化规约

如图2.3,2.4,2.5所示为冷备件、温备件、热备件门转换成相应形式的离散时间马尔可夫链模型,其中B为主件,S为备件;pB和ps分别表示B和S处于工作状态时的失效率,pM为故障屏蔽的概率。其中各个状态的含义与之前优先与门的离散时间马尔可夫链模型中的状态相同。根据三种门的失效机理可知,冷备件门中备件在主件未失效前不工作,所以其输入事件之间的顺序关系与优先与门一样,温备门中备件在主件B失效前也具有一定的失效率,将其表示为= αps(0<α<);当B失效时,S转为正常工作状态,此时=ps。对于热备件门,备件S一直处于正常工作状态,所以其=ps。

3   DTMC模型到PRISM代码的转换

PRISM语言通过一个模块(module)来描述一个有限状态自动机系统,一个模块由局部变量(local_var)和命令(command)两部分构成。有限状态机系统由三个部分构成:状态、状态迁移和状态迁移概率;其转换关系如图3所示,一个状态对应多个局部变量,一个状态对应于一条命令,且一个状态对应于n个状态迁移;一个状态迁移对应于一个状态迁移概率,n个状态迁移对应于一条命令;n个状态迁移概率对应于一条命令;其中局部变量对应于DTMC模型状态里的变量,即动态故障树的事件,包括基本事件、中间事件和顶事件;命令用于表示状态之间的迁移关系和迁移概率,即输入事件之间的逻辑关系和输入事件的失效概率。

PRISM命令由元组cmd={act,guard,rate,action}构成,且格式为[〈act〉]〈guard〉|〈rate1〉∶〈action1〉+…+〈raten〉∶〈actionn〉: 其中act是一个动作标签;guard是一个动作的谓词;rate1到raten是一个数字,表示一个动作发生的概率;action1到actionn是模型中的迁移动作,表示一组n个变量的更新。

根据转换关系和PRISM命令格式,基于有向图广度优先搜索,提出DTMC模型到PRISM代码自动转换算法如下:

Input:DTMC model D=(S,s,P,L)

Output:PRISM module Code

Function:Convertion from DTMC model to PRISM module code

//vexnum 為DTMC模型有向图的状态结点数量

Initial visited[i] equlas 0,i from 1 to D.vexnum;

InitQueue(Q);

state←s;//将初始结点赋值给state

if state visited equlas false then

EnQueue(Q,state);

state.visited←true;

endif

printf “module D”

while ! QueueEmpty(Q) do

DeQueue(Q,u);

for hasNextAdjvex(D,u) do

W←NextAdjvex(D,u);

weight←transprobability(D,u,w);

insert w in u.nextnighber;

insert weight in u.transprobability;

if w.visited equals flase then

w.visited←true;Enqueue(Q,w);

end if

end for //循环结束,找到当前结点所有邻接结点与相应转移概率

prinft “[]u→〈u.transprobility[0]〉∶〈u.nextNeighbor[n]〉

+…+〈u.transprobability[n]〉∶〈u.nextNeighbor[n]〉”

endwhile

prinft “endmodule”

return;

该算法的输入为用十字链表存储的DTMC模型有向图;通过有向图广度优先搜索,将每个结点的所有相邻节点存入辅助队列;当遍历到一个结点时,查找所有与其相连的邻接结点,存入当前访问结点结构体内定义的邻接结点数组和转移概率数组;然后根据PRISM命令的格式和DTMC模型和PRISM代码的转换关系,将该结点与其所有邻接结点输出成一条PRISM命令;遍历完所有的节点即生成该DTMC模型对应的PRISM模块的代码。可以通过该算法实现任何DTMC模型到PRISM代码的自动转换。由于该算法基于有向图广度优先遍历算法,所以该算法的时间复杂度为0mi,其中n为有向图节点数量,mi为每个节点邻接节点的数量。

根据该算法对PAND-DTMC模型和WSP-DTMC模型进行自动转换,可以得到相应的PRISM代码如下,其中变量M表示故障屏蔽,变量pand=0时表示pand_gate模块处于空闲状态,pand=1时表示等待一个输入,pand=2时表示等待第二个输入。变量wsp和变量pand类似,在此不再赘述。其他动态逻辑门也可以通过所提算法转换成PRISM代码,在此不做详细介绍。

PAND-DTMC对应的PRISM代码:

module pand_gate

[](pand=1)&(B=0)&(C=0)&(M=0)&(A=0)->pB:(B′=1)&(pand′=2)

+pC:(M′=1)&(pand′=2)

+1-pB-pC:(B′=0)&(C′=0)->PM:(M′=1)&(A′=0)&(pand′=1);

[](B=1)&(C=0)&(M=0)->PM:(M′=1)&(B′=0)

+pC:(C′=1)&(A′=1)

+1-pM-pc:(B′=1)&(C′=0)&(M′=0)&(A′=0)

[](B=1)&(C=1)&(A=0)&(M=0)->1:(A′=1);

endmodule

WSP-DTMC对应的PRISM代码:

module wsp_gate

[](wsp=1)&(B=0)&(S1=0)&(M=0)&(T=0)->pB:(B′=1)&(wsp′=2)

+pS1:(S1′=1)&(wsp′=2)

+1-pS1-pB:(B′=0)&(S1′=0)&(M′=0)&(T′=0)&(wsp′=0)

[](B=1)&(S1=0)&(M=0)->PM:(M′=1)&(B′=0)

+pS1:(S1′=1)&(T′=0)

+1-pM-pS1:(B′=1)&(S1′=1)&(M′=0)&(T′=0)

[](B=0)&(S1=1)&(M=0)->PM:&(M′=1)&(T′=0)

+pB:(B′=1)&(T′=0)

+1-pM-pS1:(B′=1)&(S1′=1)&(M′=0)&(T′=0);

[](B=1)&(C=1)&(T=0)->1:(T=1);

endmodule

4   航空发动机危害性后果动态故障树分析

《航空发动机适航标准》是我国航空发动机设计和评估阶段必须要遵循的标准,其中CCAR33-R2.75条款对航空发动机设计过程发动机的安全性标准做出了明确要求,对于危害性发动机后果的预期发生概率不超过定义的极小可能概率(概率范围是 到 次/发动机飞行小时)[2]。而且条款规定:由于对单个失效估计的概率可能不够精确,导致申请人不能评估多个危害性发动机后果发生的总概率,所以可以通过预测单个失效引起的危害性发动机后果的概率不大于次/发动机飞行小时,来表明本条款符合性。

航空发动机是飞机航行过程中的动力来源,是飞机能够正常飞行的重要保障,所以航空发动机的火情分析具有非常重要的价值,本文结合工业背景,参考《航空发动机适航标准》,以某型航空涡轮发动机的危害性发动机后果“不可控火情”为例,考虑了故障发生之间的时序关系、热储备和构件之间的依赖关系,按照建模基本步骤建立“发动机不可控火情”的动态故障树,如图4所示。发动机组成单元寿命分布符合指数规律,且假设每个基本事件只有正常和故障两种状态且互相独立。

在图4中,椭圆表示基本事件,矩形表示中间事件和顶事件。整个故障树模型包括14个基本事件、10个中间事件和12个逻辑门,其中包括5个动态逻辑门。

对动态故障树进行定量分析,可以单独将每个逻辑门转换成对应的DTMC模型,然后利用前文所提将所有的DTMC转换成相应的PRISM代码,每段PRISM代码为一个module模块,由于PRISM工具自身具有并行组合和弱互模拟的功能,可以对生成的module模块进行并行组合并进行状态约减,生成马尔可夫状态空间,所以可以实现对动态故障树的自动化定量计算和属性验证。由于篇幅原因,仅以x8、x9、x17和x18组成的故障子树为例,说明转换的详细过程。

首先,将x8、x17、x18组成的或门子树转换成相应的DTMC模型DTMC_OR1如下:

然后将其转换成PRISM代码module_OR1模块如下:

再分析x8和x9组成的功能相關门子树,将x8看作功能相关门的输入触发事件,当x8失效时,会导致事件x9失效,得到其DTMC模型如下:

module or 1_gate

[](or1=1)&(X17=0)&(X18=0)&(M=0)&(X8=0)->:px17:(x17′=1)&(or1′=2)+px18:(x18′=1)&(or1′=2);

[](x17=1)&(X18=0)&(M=0)&(X8=0)->:pM:(M′=1)&(x17′=0)+1-pM:(x8′=1);

[](x17=0)&(X18=1)&(M=0)&(X8=0)->:pM:(M′=1)&(x18′=0)+1-pM:(x8′=0);

endmodule

并利用算法1将其转换成PRISM代码module_FDEP1模块如下:

module fdep 1_gate

[](fdep1=1)&(X8=0)&(X9=0)&(M=0)&(fail=0)->:px8:(x8′=1)&(x9′=1)&(fdep1′=2)

+px9:(x9′=1)&(fdep1′=2);

[](x8=1)&(x9=1)&(M=0)&(fail=0)->1:(fail′=1);

[](x8=1)&(x9=1)&(M=0)&(fail=0)->pM:(M′=1)&(x9′=0)+1-pM:(fail′=1);

endmodule

再利用上述方法对整个动态故障树进行转换,并将module_OR1和module_FDEP1等所有的代码模块输入到PRISM4.3.1工具中,部分代码如图5所示。其中Controller模块为添加的模块,控制所有模块的发生顺序。至此,完成用PRISM语言对动态故障数进行整体描述的工作。

最后定义定量分析属性公式,我们要计算“发动机不可控火情”的发生概率,可以定义PCTL公式如下:

P = ?[F<=1000X1=1]

表示1000个小时以内,“发动机不可控火情”故障发生的概率。将PCTL公式和生成的PRISM代码输入工具PRISM4.3.1,可以自动计算出"发动机不可控火情"故障发生概率如图6所示,该单一危害性发动机后果在1000h范围内,发生概率为3.8064E-7,小于《航空发动机适航标准》安全性要求规定的单个失效引起的危害性发动机后果的概率 次/发动机飞行小时,所以该型涡轮发动机满足适航条款中提出的安全性要求。若验证结果不满足CCAR33-R2.75安全性要求,则说明发动机存在安全隐患,需要进一步分析验证,在设计阶段对其进行重新设计。

每个底事件失效能够故障传播到顶事件失效的概率可以通过定义相应的PCTL公式来计算,和或门相连的底事件xi、和与门、备件门、功能相关们相连的底事件xi,xj以及和优先与门、顺序强制门相连的底事件xa,xb分别可以通过Property 1、Property 2和属性Property 3求得底事件失效导致顶事件失效的概率。

Property 1:P=?[(Fxi = 1)&(Fx1=1)]

Property 2:P=?[(Fxi = 1)&(Fxj = 1)&(Fx1=1)]

Property 3:P=?[([x]b = 0)U(xa = 1))&(Fx1=1)]

取故障屏蔽概率值分别为5E-6和10E-6,每个基本事件发生导致顶事件发生概率情况如图7所示,可以看出随着故障屏蔽概率的增加,基本事件导致顶事件发生概率降低,且对越底层的时间影响越大,其中x12、x20为最不可靠构件,若系统失效,则先从“电子元器件”和单向活门开始检修和维护。

5   相关工作

文献[10]基于传统静态故障树分析方法对航空发动机进行可靠性分析,并未考虑航空发动机实际情况下发生故障时故障之间的时序关系以及航空发动机的冷热储备等特性。本文基于动态故障树对航空发动机危害性后果进行故障建模,更接近航空发动机发生故障时的实际情况。文献[11]提出一种直接分析DFT模块,得到顶事件发生概率近似值的方法,并给出了优先与门的详细计算方法。文献[12]提出一种将动态逻辑门转为马尔可夫状态转移图,从而通过状态转移图进行定量和状态迁移链计算公式进行定性分析的方法。其方法在分析相同长度的状态迁移链上依然需要大量的人力劳动,同时缺少工具的支持。文献[13]优化了文献[12]的方法,增加了其他动态逻辑门的计算方法,其方法虽然降低了定量分析的复杂性,但同时也降低了分析结果的精确性。文献[9]基于概率模型检测工具PRISM,通過将静态逻辑门AND门和OR门转换成PRISM代码,实现静态故障树自动化定量分析。由于动态故障树的复杂性,将概率模型检测工具和动态故障树定量分析结合起来的研究很少。本文提出的基于概率模型检测方法的可靠性分析方法,通过马尔可夫链求解顶事件故障概率确保了顶事件故障概率的精度的同时,增加了PRISM工具的支撑,降低了人力劳动和时间,提高了求解顶事件故障率的效率。

6   结   论

以航空发动机适航标准为依据,结合某型航空涡轮发动机可靠性分析的工程背景,建立了航空发动机危害性发动机后果的可靠性分析框架。将DFT和概率模型检测相结合,解决了传统航空发动机可靠性分析方法无法对航空发动机失效的动态行为进行建模的问题,同时克服了传统DFT量化分析计算过程复杂、计算结果不精确且耗费大量人力和时间的缺点,可以对较大规模的动态故障树进行可靠性分析,为动态故障树的定量分析提供了一种新思路。最后通过对某型航空涡轮发动机危害性发动机后果“不可控火情”故障进行分析,表明该方法的可行性和正确性。

只针对动态故障树顶事件概率计算做了一些研究,对于动态故障树其他定量分析如结构重要度分析等尚未做相关研究,后续将针对动态故障树在重要度分析方面展开研究,完善对动态故障树的量化分析理论和实践研究。

参考文献

[1]    韩小琦. 航空发动机控制系统安全性评估研究[D]. 天津: 中国民航大学,2009.

[2]    李家祥. CCAR-33-R2 航空发动机适航规定[S]. 北京:中国民用航空局,2011: 40-43.

[3]    VESELY W E . Fault tree handbook[M]. U.S.Nuclear Regulatory Commission,1981.

[4]    黄志球,徐丙凤,阚双龙,等.嵌入式机载软件安全性分析标准方法及工具研究综述[J].软件学报,2014,25(2):200-218.

[5]    高顺川.动态故障树分析方法及其实现[D].长沙:国防科技大学,2005.

[6]    张晓洁,赵海涛,苗强,等. 基于动态故障树的卫星系统可靠性分析[J]. 宇航学报,2009,30(3):1249-1254.

[7]    DUGAN J B,BAVUSO S J,BOYD M A. Dynamic fault-tree models for fault-tolerant computer systems[J]. IEEE Transactions on reliability,1992,41(3):363-377.

[8]    李彦锋. 复杂系统动态故障树分析的新方法及其应用研究[D]. 成都:电子科技大学,2013.

[9]    AMMAR M,HOQUE K A,MOHAMED O A. Formal analysis of fault tree using probabilistic model checking: A solar array case study[C]// Systems Conference. IEEE,2016.

[10]  乔磊,李艳军,曹愈远,等. 航空发动机CCAR33-R2.75条款适航符合性验证方法[J]. 航空发动机,2016,42(1):99-102.

[11]  AMARI S,DILL G,HOWALD E. A new approach to solve dynamic fault trees[C].2003 Proceedings Annual Reliability and Maintainability Symposium,2003:374-379.

[12]  季会媛.动态故障树分析方法研究[D].长沙:国防科技大学,2002.

[13]  程明华,姚一平.动态故障树分析方法在软、硬件容错计算机系统中的应用[J].航空学报,2000,21(1):35-38.

猜你喜欢

概率动态可靠性
概率与统计(1)
概率与统计(2)
高密度存储服务器可靠性设计与实现①
高密度存储服务器可靠性设计与实现
可靠性增长试验与相关概念的关系及作用研究
J.D. Power发布2016年中国车辆可靠性研究SM(VDS)报告
概率与统计解答题集锦
2014年5月27日—2014年6月24日
2014年4月22日—2014年5月22日
雕塑动态