宛偉健 謝健 葛曉瑜
摘 ?要:隨著航空發動機技術的不斷發展,對其性能要求不斷提高,使得航空發動機的安全性和可靠性變得愈發重要。然而,當前針對航空發動機的可靠性分析方法較少考慮系統失效時的動態特性,面向《航空發動機適航規定》(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.