胡磊, 柳楊, 郭卿超, 時雨, 馬春燕, 張建東, 張濤
1.沈陽飛機設計研究所總體氣動部, 遼寧 沈陽 110034; 2.沈陽飛機設計研究所綜合航電部, 遼寧 沈陽110034;3.西北工業(yè)大學軟件學院, 陜西 西安 710072; 4.西北工業(yè)大學電子信息學院, 陜西 西安 710072
AFDX(avionics full duplex switched ethernet)作為目前大型飛機的主干通信網絡,其安全性尤為重要。近年來,故障檢測和診斷技術在機載通信設備中已有應用,但AFDX網絡設備監(jiān)控診斷方法大多在機上無法快速搭建網絡驗證環(huán)境,更難以實現飛行狀態(tài)下實時監(jiān)控,并且需要專門的檢測工具,而且診斷工具價格昂貴。本文研究如何在機上已有環(huán)境下對AFDX網絡設備運行狀態(tài)進行實時監(jiān)控,同時結合故障檢測和診斷技術,提供更加可靠的故障報警依據,以此降低AFDX網絡設備管理的人力成本、時間成本和維護成本。本文貢獻如下:
1) 給出故障和故障類型的定義,為每類故障類型設計合理的故障特征參數標識故障類型,并給出檢測結果和故障特征參數的關聯關系;
2) 針對檢測中的數據采集環(huán)節(jié)設計一級篩選二級緩存的數據存儲管理方法。改進了傳統(tǒng)的基于被動式采集故障診斷方法,并進行分析驗證;
3) 研制了一套針對AFDX網絡設備異常狀態(tài)監(jiān)控的工具,覆蓋每類故障的驗證范圍,并進行相應的實驗驗證。
目前常見的故障診斷方法主要有以下5種:
1) 基于解析模型的方法,其思想是利用檢測到的信息與解析模型得到的先驗信息做殘差分析再獲取故障診斷的結果[1]。目前仍有許多故障診斷研究使用解析模型中的狀態(tài)估計法[2]、參數估計法[3]以及等價空間法[4]等;
2) 基于數據驅動診斷方法,其通過采樣數據進行建模[5]?;跀祿寗拥脑\斷方法常用的有3種。第一種是基于信號處理的方法[6],該類方法通過監(jiān)測可測信號的輸入和輸出,分析振幅、相位、方差等特征值的變化,進而診斷出系統(tǒng)中的故障[7]。第二種是基于統(tǒng)計分析的方法[8]。第三種是基于機器學習的方法[9];
3) 基于知識的檢測方法,根據先驗知識,建立所有故障事件的推理模型進行故障診斷[10],領域知識包括專家系統(tǒng)、故障樹等。
4) 基于數據挖掘的方法能夠在大量的網絡流量數據中找到潛在的相關參數之間的關系[11],從而檢測異常;
5) 基于網絡演算的方法常用于網絡性能診斷[12],其原理基于非線性代數確定性排隊理論以及最小加代數和最大加代數的計算,能夠實時評估設備的性能狀況[13]。但由于網絡演算能夠對節(jié)點的性能進行實時分析,該方法也可以運用于網絡故障診斷中[14]。
目前,國內外的一些科研團隊和科技公司開發(fā)了相應故障診斷系統(tǒng)和方案平臺,部分產品已進入市場,具有非常大的應用價值。例如,由惠普公司的OpenView系統(tǒng)所提供的故障診斷服務[15],通過輪詢實現網絡設備的運行狀態(tài)控制,并以此做出故障告警[16];Cabletron公司的Spectrum網絡系統(tǒng),提出了基于案例推理的故障診斷方法[17],檢查不同的網絡對象和事件,歸納出同一本質或故障[18]。SMARTS公司提供的產品InCharge是基于編碼本的診斷方法[19]。美國IBM公司開發(fā)的TivoliNetView是通過對設備進行性能輪詢和狀態(tài)輪詢進行診斷,但容易導致故障響應的延遲,且不能找出相關故障的內在聯系[20]。北京游龍網網絡科技有限公司研發(fā)的SiteView NNM是基于SNMP[21]的網絡設備管理軟件,它可以管理所有主流廠商的各種設備,能夠實時獲取網絡設備的信息[22]。
近年來,雖說故障檢測和診斷技術在機載通信設備中已有應用,但目前為止,AFDX網絡設備監(jiān)控診斷方法大多在機上無法快速搭建網絡驗證環(huán)境,更難以實現飛行狀態(tài)下實時監(jiān)控,并且需要專門的檢測工具,而且診斷工具價格昂貴。王竹清等[23]設計了一種采用并聯方法進行數據采集監(jiān)控的方法,通過監(jiān)控設備、數據匯聚設備和數據分析設備完成網絡監(jiān)控,故障的診斷全部集中到數據分析設備中,提取網絡設備中所有通信數據進行分析,該方式存在較大延時且占用大量帶寬。景文君等[24]借鑒航電系統(tǒng)向機載維護系統(tǒng)實時上報健康狀態(tài)并對啟動自檢命令做出響應的機制,通過FIDO軟件對機載軟件進行監(jiān)控并實時獲取維護數據。中國電子科技集團公司通過機內測試和自動測試裝備聯合進行故障診斷[25],當設備發(fā)生故障時,需要根據機內測試的報告,將異常部件取出,采用自動測試裝備繼續(xù)檢測[26],這種離線方法的診斷效率低、成本高、時間長,且機內測試自檢覆蓋面不夠,機載設備的大部分故障不能檢測,存在虛警的問題[27]。
本文研究面向AFDX網絡層面的故障監(jiān)控和診斷,應用智能化的故障診斷方法和監(jiān)控機制,解決當前機載網絡監(jiān)控難以保障實時性、額外的檢測設備昂貴等復雜問題,設計并實現了AFDX網絡設備監(jiān)控診斷工具,用于對機載網絡的運行狀態(tài)、健康狀態(tài)進行實時的監(jiān)控、管理和維護。
本文將AFDX網絡設備常見故障進行分類,給出5類故障類型的定義,并在此基礎上,總結分析了共計23種故障及其故障特性。
定義1關鍵器件故障 該類故障指在網絡設備中處于管理控制或通信地位的元器件發(fā)生損壞,關鍵器件共11種,主要包括RTC、FLASH、CPU、SDRAM、DPRAM、硬件端口狀態(tài)、PCI總線,針對交換機額外選取管腳編程、默認應用程序及配置表、交換機芯片、引導代碼。
定義2物理層故障 該類故障是指網絡設備本身的接口故障和連接交換機的物理鏈路故障。當接收端接收數據幀時出現以下3種情況時指示物理層故障:①字節(jié)非對齊;②CRC錯誤;③接收到相同的數據幀。
定義3VL鏈路層故障 該類故障是指VL鏈路層中提供的虛擬鏈路技術、流量整形模塊、完整性檢查模塊、冗余管理模塊和發(fā)送接收控制模塊功能失效,導致VL虛擬鏈路層無法或錯誤提供服務,無法保障AFDX網絡數據傳輸的確定性和可靠性。
定義4UDP/IP層故障 該類故障是指UDP/IP網絡協議的配置或操作錯誤、IP分片功能失效等。
本文定義的物理層故障、VL虛擬鏈路層故障、UDP/IP層故障類型的具體故障特性如表1所示。
表1 物理層、VL虛擬鏈路層、UDP/IP層故障類型標識
表2 BIT檢測項及檢測方法
定義5設備性能故障 該類故障是指網絡設備高負載狀態(tài)導致存儲和處理數據的能力不足、速率下降,進而導致網絡擁塞、數據丟包問題。本文探究網絡設備性能故障的指標包括CPU利用率、內存占用率、帶寬的利用率以及緩沖區(qū)滿標識。
本節(jié)通過被動式采集方式對關鍵元器件、通信過程以及設備性能進行狀態(tài)檢測,獲取當前設備的運行狀態(tài)數據,設計合理的數據存儲管理方案保存獲取的數據,并根據數據解析定義指示故障類型的特征參數。
2.2.1 網絡設備運行狀態(tài)檢測
本文選取PBIT對關鍵器件的狀態(tài)進行測試。PBIT是BIT的一種,在設備的工作過程中周期性地進行檢測。執(zhí)行測試項時,根據測試結果將對應的位清零或置1。表 2是BIT檢測項及檢測方法的描述,其中0表示檢測結果正常,1表示出現故障。
2.2.2 通信過程的狀態(tài)檢測
在AFDX網絡中,與底層關鍵器件的故障不同,物理層、VL虛擬鏈路層、UDP/IP層構成網絡協議、流量整形、緩沖管理、分組調度等通信網絡運行規(guī)則,捕獲并存儲網絡設備運行過程中實際發(fā)送和接收的原始通信數據,通過有效的協議分析可以反映數據在各層傳輸的通信過程。對其進行有效性的統(tǒng)計可觀測網絡的錯誤,完成網絡故障的類型確認。針對2.1節(jié)所述的故障類型,結合狀態(tài)檢測的方法,本文將關鍵器件故障的故障特征參數用0和1表示,0表示當前檢測結果為正常,1表示當前檢測結果為故障。
2.2.3 網絡性能狀態(tài)檢測
網絡中某一時刻的CPU利用率、內存占用率、帶寬利用率并不能直接反映網絡中某一段時間的網絡性能,因此,為體現設備當前的負載狀況需要對一段時間內的性能數據進行采樣處理。網絡狀態(tài)檢測程序對設備該段時間內的網絡性能參數進行抽樣統(tǒng)計之后,才可以得到網絡在本段時間內的性能。
本文設計了基于多鏈路分組技術的網絡演算算法,用于驗證機載網絡的實時性和確定性。但網絡演算的方法并不能明確表明故障的具體問題,因此本文將其運用于異常分析中,提出了一種綜合診斷的方法。
2.3.1 設備通信異常診斷方法相關定義及描述
本文基于網絡演算理論建立了針對設備通信異常的診斷方法。首先,將AFDX網絡抽象為有向圖G=(V,E)進行建模。其中,V={v}為網絡中的設備集,包括AFDX網絡中的端系統(tǒng)和交換機。E={eij|vi,vj∈V}為設備vi指向設備vj的弧,其中vi稱為弧尾,vj為弧頭。則弧vi→vj表示vi到vj存在數據流。將[0,t]時間內的總數據量表示為Rij(t),則弧尾vi在時間[0,t]內的輸入過程記為Ri,in(t),計算過程表達為
(1)
式中:Ni,in為發(fā)送數據到弧尾vi的設備集,即Ni,in={vi|eij∈E}。
(1)式中,輸入過程的數據量由設備集Ni,in發(fā)送數據到vi的所有數據量求和得到。同理,當vi作為弧頭時,在時間[0,t]內的輸出過程記為
(2)
式中:Ni,out為接收來自弧頭vi數據的設備集,即Ni,out={vj|eji∈E}。
(2)式中,與輸入過程相反,輸出過程的數據量由vi發(fā)送數據到設備集Ni,out的所有數據量求和得到。
服務曲線是對網絡設備的服務能力進行描述,從而對流的輸入、輸出行為進行限制和描述[28]。
定義1服務曲線S(t)
若設備的輸入過程為Rin(t),設備的輸出過程為Rout(t),則當存在函數S(t)滿足Rout(t)≥(Rin?S)(t)時,稱S(t)為設備的服務曲線。其中,當設備vi正常工作時,為數據流提供的服務曲線函數為[24]
Si(t)=max(0,r(t-τ))
(3)
式中:Si(t)為設備vi的服務曲線函數;r為設備服務的最低速率;τ為設備開始服務的最大時延。
(3)式中,服務曲線Si(t)表示設備服務能力的下界。
不同設備(端系統(tǒng)或交換機)的性能等參數不同,可能導致網絡設備的服務曲線形態(tài)有所變化,但不影響對其異常情況的分析。
2.3.2 設備通信異常類型及診斷算法
通過上述定義及描述,設備正常服務時輸入、輸出過程滿足為Rout(t)≥Rin(t)?S(t),發(fā)送的數據總量不超過接收的數據總量,即Rout(t)≤Rin(t)。設備正常服務時對于數據積壓也有限制,當數據積壓過大時,設備性能下降不在正常服務狀態(tài)范疇。因此需滿足在設備正常服務的任一時間段內輸入的累計數據量不大于最低服務速率下服務的數據量總和,表示為在時間(s,s+t]內有
(4)
且輸入過程Rin(t)是嚴格單調遞增的,即
?s,t>0,Rin(s+t)-Rin(s)>0
(5)
基于公式(5),設備服務正常時的輸入輸出過程如圖1所示。
圖1 設備服務正常時的輸入輸出過程
圖1中,輸入過程與輸出過程基本吻合。此時,設備通信異常診斷問題轉化為判斷檢測設備vi的輸入過程Rin(t)和輸出過程Rout(t),即當在時刻t不滿足公式(4)時,則設備vi在[0,t]內存在異常。
在設備通信的異常診斷中,將非正常工作狀態(tài)分為以下3種異常情況:無服務、服務減慢、錯誤服務,診斷以上3種異常的算法時間復雜度均為O(1)。
1) 無服務通信異常類型分析
無服務指設備不再對數據流提供服務,不再向網絡系統(tǒng)中發(fā)送數據。此時對任意形式的輸入過程和任意積壓,在無服務(s,s+t]期間,均有
Ri,out(s+t)-Ri,out(s)=0
(6)
同時,在無服務期間不保存接收的數據。若時刻s+t恢復服務則對s+t后接收的數據服務。設備無服務時的輸入輸出過程如圖2所示。
圖2 設備無服務時的輸入輸出過程
在時間段的中段,輸出過程數據量停止增加且保持到該時間段結束,表明設備發(fā)生無服務異常,此時的判定條件為:若在時刻s出現Rout(s)<(Rin?S)(s)且Rout(s+t)-Rout(s)=0判定設備在時刻s無服務,若在時間(s+τ,s+t]不滿足Rout(t)≥Rin(t)?S(t)則判定設備在時間(s,s+t]內無服務。
2) 服務減慢通信異常類型分析
服務減慢指設備為數據量服務的速率遠小于數據輸入速率。此時對任意形式的輸入過程和積壓,在服務減慢(s,s+t]期間,存在r0>0滿足
(7)
發(fā)生設備服務減慢時的輸入輸出過程如圖3所示。
圖3 設備服務減慢時的輸入輸出過程
3) 錯誤服務通信異常類型分析
錯誤服務指設備大量發(fā)送與輸入過程無關的數據。此時對任意形式的輸入過程和積壓,在錯誤服務(s,s+t]期間,存在
(8)
發(fā)生設備錯誤服務時的輸入輸出過程如圖4所示。
圖4 設備錯誤服務時的輸入輸出過程
設備輸入輸出過程都是通過數據包的形式,因此,為了建立連續(xù)的輸入輸出過程模型,本文設置了一個采樣周期,該采樣周期遠大于連續(xù)發(fā)送2條消息的時間間隔,且采樣周期保持不變。因此,離散的輸入輸出過程可以被視為連續(xù)的,不影響檢測結果。
基于上述3種通信異常類型分析,本文使用type值表示設備狀態(tài),其中,0為正常,1為無服務,2為服務減慢,3為錯誤服務。設備通信異常類型診斷算法如Algorithm 1所示。
Algorithm 1. Node communication abnormal diagnosis
Input:Rin——the input process after sampling
Rout——the output process after sampling
δt——sampling period
tdelay——after the sample delay
Output:type
1.llowbound←0;
2.t←0;
3. type←0;
4.llowbound←min(llowbound+rδt,Rin[t-tdelay]);
5. if (llowbound>Rout[t]andRout[t]==Rout[t-1]) then
6. type←1;
7. else if (llowbound>Rout[t]andRout[t]>Rout[t-1]) then
8. type←2;
9. else if (Rout[t]>Rin[t]) then
10. type←3;
11. end if
Algorithm 1中,輸入過程Rin和輸出過程Rout均為采樣后的結果,δt為采樣周期,delay為采樣后的延遲。首先,初始化下界、時間、狀態(tài)為0。由于當前type類型碼為0,通過公式(9)更新下界。
llowbound=min(llowbound+rδt,Rin[t-tdelay])
(9)
式中:llowbound為累積數據下界/bit;r為設備服務的最低速率。
若更新后的下界大于當前時刻t的輸出過程且當前時刻t的輸出過程與前一時刻t-1的輸出過程相等,則判定狀態(tài)為1,即設備服務停止。若更新后的下界大于當前時刻t的輸出過程且當前時刻t的輸出過程大于前一時刻t-1的輸出過程,則判定狀態(tài)為2,即設備服務緩慢。當輸出過程大于輸入過程時,更新type類型碼為3,即認為此時發(fā)生設備錯誤服務。若均不滿足上述情況,認為當前設備通信狀態(tài)正常。
2.3.3 異?;謴偷脑\斷算法
由于部分干擾而產生的偶發(fā)異常對于設備來說不必進行維護和處理,通過檢測出設備從異?;謴驼顟B(tài)的時間,對比發(fā)生異常的時間可獲悉偶發(fā)的異常現象。
在判定設備通信產生異常后,進入后續(xù)的異常恢復檢測過程,首先在時刻s對輸入過程和輸出過程進行初始化:
(10)
在設備異常服務恢復的診斷中,分為以下3種異常情況:設備無服務恢復、設備服務減慢恢復、設備錯誤服務,診斷以上3種異常的算法時間復雜度均為O(1)。
1) 設備無服務恢復算法
設備從無服務到恢復正常的判定條件為:s時刻處于服務停止狀態(tài),若?t>0,Rout(s+t)-Rout(s)>0時,表明設備已開始發(fā)送數據,判定設備在時刻s+t恢復正常,若在時間(s+τ,s+t]滿足?a∈(s+τ,s+t],Rout(s+t)-Rout(s)>0,表明設備恢復服務,則判定設備在時間(s,s+t]內恢復正常。Algorithm 1判定后,此時,type類型碼為1,根據Algorithm 2進行恢復正常狀態(tài)診斷。
Algorithm 2. Node service stopped
Input:Rin——the input process after sampling
Rout——the output process after sampling
Output:type
1.llowbound←0;
2.t←0;
3. type←1;
4. if (Rout[t]>Rout[t-1]) then
5.Rin←Rin-Rin[t];
6.Rout←Rout-Rout[t];
7.llowbound←0;
8. end if
Algorithm 2中,輸入過程Rin和輸出過程Rout均為采樣后的結果,在1~3行,對下界、時間、狀態(tài)分別初始化。當時刻t的輸出過程大于前一時刻t-1的輸出過程時,分別更新輸入過程、輸出過程和下界。如5~7行所示。
2) 設備服務減慢恢復算法
設備從服務減緩到恢復正常的判定條件為:s時刻處于服務緩慢狀態(tài),若?t>0,Rout(s+t)-Rout(s)>rt時,表明設備發(fā)送速率增加,則判定設備在時刻s+t已恢復正常,輸出過程滿足?a∈(s,s+τ],b-a,Rout(b)-Rout(a)>r(b-a)。此時執(zhí)行恢復算法如Algorithm 3所示。
Algorithm 3. Slow node service
Input:Rin——the input process after sampling
Rout——the output process after sampling
δt——sampling period
tdelay——after the sample delay
T0——after sampling normal continuous upper bound
Output:type
1.llowbound←0;
2.t←0;
3.tcon←0;
4. type←2;
5.llowbound←min(llowbound+rδt,Rin[t-tdelay]);
6. if (Rout[t]-Rout[t-1]>r×tdelay) then
7. type←1;
8. end if
9. if (llowbound 10. if (tcon≥T0) then 11. type←0; 12.tcon←0; 13. else 14.tcon←tcon+1; 15. end if 16. else 17.tcon←0 18. end if Algorithm 3中,δt為采樣周期,delay為采樣后的延遲。初始化正常持續(xù)時間為0,狀態(tài)為2,如第3~4行所示。接下來通過公式(11)更新下界。 llowbound=min(llowbound+rδt,Rin[t-tdelay]) (11) 式中:llowbound為累積數據下界/bit;r為設備服務的最低速率;δt為采樣后周期;tdelay為采樣后的時延。 如第6行所示,若當前輸出過程與前一時刻輸出過程的差大于設備服務的最低速率與采樣后時延的乘積,則更新type類型碼為1。若下界小于當前輸出過程且正常持續(xù)時間大于正常持續(xù)時間上界,更新type類型碼和正常持續(xù)時間為0。若下界小于當前輸出過程而正常持續(xù)時間小于等于正常持續(xù)時間上界,將正常持續(xù)時間加1。否則,正常持續(xù)時間繼續(xù)保持為0。 3) 設備錯誤服務恢復算法 設備從錯誤服務狀態(tài)到恢復到正常服務狀態(tài)應滿足:在時刻s初始化,若?t>0使得初始化后的輸入輸出過程在 (s,s+t]內滿足Rout(t)≤Rin(t)時,表明設備發(fā)送的數據小于接收的數據,從時刻s后由錯誤服務狀態(tài)恢復為正常服務狀態(tài)。具體過程如Algorithm 4所示。 Algorithm 4. Node error output Input:Rin——the input process after sampling Rout——the output process after sampling δt——sampling period tdelay——after the sample delay T0——after sampling normal continuous upper bound Output:type 1.llowbound←0; 2.t←0; 3.tcon←0; 4. type←3; 5. if (tcon==0) then 8.llowbound←0; 9.tcon←0; 10. end if 11. if (tcon>0) then 12.llowbound←min(llowbound+rδt, 14. if (tcon≥T0) then 17. type←0; 18.tcon←0; 19. end if 20. end if 21. end if Algorithm 4中,前3行與算法3一致,初始化下界、時間、正常持續(xù)時間為0,狀態(tài)為3。若正常持續(xù)狀態(tài)為0,則更新輸入輸出過程。并將下界、正常持續(xù)時間重新賦值為0。若正常持續(xù)時間大于0,通過公式(11)更新下界。在t時刻,若初始化后的輸入過程小于輸出過程,且正常持續(xù)時間不小于采樣后正常持續(xù)時間上界,則使用初始化后的輸入輸出過程更新輸入輸出過程。同時,置type類型碼和正常持續(xù)時間為0。 2.3.5 基于通信數據的異常診斷流程 網絡故障診斷不僅僅是檢測網絡連通與否、當前設備是否通信異常,而需要用更為具體的標準去衡量和判別當前網絡的故障問題。在網絡設備的運行狀態(tài)檢測中已完成數據幀的捕獲和存儲,而設備通信異常診斷提供通信異常的時間點,因此故障類型分析就是提取該時間點前后存儲的歷史數據幀,對數據幀進行校驗,通過統(tǒng)計相應特征參數反映當前網絡的具體故障問題。本文提出的基于通信數據的異常診斷流程如圖5所示。 圖5 IP頭部校驗和特征參數統(tǒng)計 故障診斷實驗分為發(fā)生異常診斷階段和異?;謴偷脑\斷階段。故障診斷流程如圖6所示。首先根據設備的輸入輸出過程建立設備通信異常診斷,分析設備是否發(fā)生異常以及何時發(fā)生異常,當發(fā)生異常時通過查詢歷史的通信數據診斷出具體的故障類型。當發(fā)生異常后才進入異?;謴驮\斷流程,重置輸入輸出過程,根據異常類型進行相應的異?;謴蜋z測,當診斷為異?;謴秃罂赏V构收项愋头治鲞^程,降低資源消耗。 圖6 故障診斷流程 3.2.1 狀態(tài)檢測測試用例設計 狀態(tài)檢測測試用例主要測試對注入的關鍵器件故障、通信過程故障、設備性能故障能否準確進行檢測,具體測試用例集如下: 狀態(tài)檢測測試用例集的標識為NMDF-Test-01,模塊名稱為狀態(tài)檢測。 測試項分別為:①檢測器件功能;②獲取設備性能參數;③數據幀捕獲;④更新故障參數。 測試輸入為系統(tǒng)控制句柄(包括初始化結果和系統(tǒng)狀態(tài)等信息)。 針對該類用例集合的測試步驟為:①輸入系統(tǒng)控制句柄;②調用狀態(tài)檢測主接口,依次啟動器件檢測線程、數據幀捕獲檢測線程和獲取設備性能參數的線程;③更改系統(tǒng)狀態(tài)為激活狀態(tài);④注入硬件端口故障、FLASH故障、VL錯誤的數據幀、MAC源地址錯誤的數據幀;⑤根據檢測結果,更新故障參數。 期望的測試結果為:①系統(tǒng)狀態(tài)為未激活時,狀態(tài)檢測線程掛起,不執(zhí)行檢測操作;②未注入故障之前,所有故障參數均為0;③注入故障之后硬件端口故障參數、FLASH故障參數計數均為1,緩沖區(qū)中tail的值+2。 3.2.2 故障診斷測試用例設計 故障診斷測試用例主要測試能否診斷發(fā)生異常以及異?;謴?并能在發(fā)生異常時進行故障類型的分析。具體測試用例集如下: 故障診斷測試用例集的標識為NMFD-Test-02,模塊名稱為故障診斷。 測試項分別為:①加載診斷策略;②異常類型診斷;③異常恢復診斷;④數據幀解析和特征參數統(tǒng)計;⑤診斷結果生成。 測試輸入為系統(tǒng)控制句柄、故障參數。 針對該類用例集的測試步驟為:①輸入系統(tǒng)控制句柄和故障參數;②將系統(tǒng)狀態(tài)改為策略加載狀態(tài);③調用故障診斷主接口,開啟異常診斷線程;④將系統(tǒng)狀態(tài)改為激活狀態(tài);⑤依次注入設備無服務異常、減緩服務異常、錯誤服務異常,并同時注入VL錯誤和MAC源地址錯誤的數據幀。 期望的測試結果為:①系統(tǒng)狀態(tài)為策略加載狀態(tài)時,故障診斷線程掛起,不執(zhí)行診斷操作;②系統(tǒng)狀態(tài)為激活狀態(tài)時,開始異常診斷,檢測到異常發(fā)生的時間,并生成診斷結果;③故障類型分析正確執(zhí)行;④診斷結果與累計的故障特征參數與實際注入的故障相符;⑤成功檢測到異?;謴偷臅r間,并停止故障類型分析。 為保證AFDX網絡設備監(jiān)控診斷工具可以在機載軟件系統(tǒng)上正常運行,本文從實時性、并發(fā)性等方面對工具進行非功能性測試,以確保工具自身滿足機載軟件的要求。 1) 實時性測試 實時性是機載軟件質量的重要評價指標,本文通過“程序插樁”來計算各功能的運行時間。本文插樁主要記錄程序運行時刻,具體測試方案及結果如表3所示。 2) 并發(fā)性測試 AFDX網絡設備監(jiān)控診斷工具包含多進程和多線程,本文通過模擬運行時情況來測試工具的并發(fā)性,具體測試方案及結果如表4所示。 表4 并發(fā)性測試 本文是根據機載故障診斷的局限性以及AFDX網絡故障診斷的復雜性等問題,結合實際的項目需求,研究了AFDX網絡設備監(jiān)控診斷技術方案,并設計實現了AFDX網絡設備監(jiān)控診斷工具,可以很大程度上拓寬機載維護的范圍,能在網絡層面上進行監(jiān)控,降低虛警概率,提高了診斷效率,能夠實現對AFDX網絡的實時監(jiān)控和診斷。3 實驗驗證
3.1 網絡設備故障診斷實驗流程
3.2 網絡設備故障診斷測試用例設計
3.3 實驗結果
4 結 論