孫毅剛,徐 暢,劉哲旭
(1.中國(guó)民航大學(xué) 航空工程學(xué)院,天津 300300; 2.中國(guó)民航大學(xué) 電子信息與自動(dòng)化學(xué)院,天津 300300)
隨著技術(shù)的發(fā)展與人們生活質(zhì)量的提高,現(xiàn)役民用飛機(jī)經(jīng)常需要進(jìn)行相應(yīng)的升級(jí)改裝,以面對(duì)適航安全的要求或是來(lái)自客戶(hù)的個(gè)性化需要。新一代客機(jī)采用了綜合模塊化航空電子(Integrated Modular Avionics, IMA)系統(tǒng),允許應(yīng)用開(kāi)發(fā)商根據(jù)ARINC-653等標(biāo)準(zhǔn)獨(dú)立開(kāi)發(fā)客戶(hù)所需的安全、娛樂(lè)等航電軟件[1],再由系統(tǒng)集成商將應(yīng)用程序載入IMA模塊,與航空電子全雙工交換式以太網(wǎng)(Avionics Full Duplex switched Ethernet, AFDX)集成為IMA平臺(tái)網(wǎng)絡(luò)[2-3]。IMA平臺(tái)網(wǎng)絡(luò)承擔(dān)了航電系統(tǒng)數(shù)據(jù)通信、功能交互的重要職能,其良好的可靠性與健壯性是航電軟件正確運(yùn)行的前提,因此,IMA平臺(tái)網(wǎng)絡(luò)的測(cè)試驗(yàn)證工作是整個(gè)航電系統(tǒng)升級(jí)改裝測(cè)試性驗(yàn)證與安全評(píng)估的關(guān)鍵[4]。故障注入技術(shù)能夠在較短的時(shí)間內(nèi)高效地提供豐富、充分的故障現(xiàn)象以供分析,是測(cè)試性驗(yàn)證工作中的重要手段[5-6]。傳統(tǒng)的故障注入策略,采用簡(jiǎn)單列舉可注入故障類(lèi)型并依次注入待測(cè)試系統(tǒng)的方式,運(yùn)用到具有復(fù)雜通信結(jié)構(gòu)的IMA平臺(tái)網(wǎng)絡(luò)時(shí),存在難以選取合適的測(cè)試路徑、存在大量等效故障與無(wú)效故障等問(wèn)題,使故障注入工作繁瑣復(fù)雜,測(cè)試成本也隨之增加[7]。因此,尋找一種能夠滿(mǎn)足故障注入測(cè)試要求,又能最大限度簡(jiǎn)化測(cè)試任務(wù)、降低測(cè)試成本的故障注入策略,是航電系統(tǒng)測(cè)試驗(yàn)證工作中需要解決的關(guān)鍵問(wèn)題之一。
目前,關(guān)于IMA平臺(tái)網(wǎng)絡(luò)故障注入的研究普遍是針對(duì)IMA模塊或AFDX總線(xiàn)本身特性的故障測(cè)試。文獻(xiàn)[8]通過(guò)故障注入的方式對(duì)IMA模塊自有的健康管理功能進(jìn)行了驗(yàn)證;文獻(xiàn)[9]通過(guò)修改數(shù)據(jù)幀時(shí)標(biāo)與內(nèi)容的方式進(jìn)行故障注入,驗(yàn)證了AFDX總線(xiàn)的健壯性與容錯(cuò)性;文獻(xiàn)[10]提出一種3+1整合法,提高對(duì)AFDX總線(xiàn)的測(cè)試速度與測(cè)試數(shù)據(jù)深度。然而,以上研究文獻(xiàn)只針對(duì)IMA模塊與AFDX總線(xiàn)的自身特性進(jìn)行了故障測(cè)試與驗(yàn)證,但未將二者所集成的IMA平臺(tái)網(wǎng)絡(luò)作為研究對(duì)象,因此難以解決傳統(tǒng)故障注入策略運(yùn)用到IMA平臺(tái)網(wǎng)絡(luò)中時(shí)測(cè)試次數(shù)較多、測(cè)試時(shí)間較長(zhǎng)的問(wèn)題。
針對(duì)上述問(wèn)題,本文提出了一種新的IMA平臺(tái)網(wǎng)絡(luò)故障注入策略。通過(guò)對(duì)傳統(tǒng)測(cè)試路徑選取算法的改進(jìn),生成能夠覆蓋所有通信鏈路的最優(yōu)測(cè)試路徑,保證測(cè)試的有序性,并減少了路徑中的測(cè)試任務(wù)數(shù)。確定測(cè)試路徑后,采用建立故障注入測(cè)試案例生成模型的方式,排除等效與無(wú)效故障,精簡(jiǎn)了每個(gè)測(cè)試任務(wù)中所需的測(cè)試案例的個(gè)數(shù)。與傳統(tǒng)故障注入策略相比,本文方法縮減了測(cè)試時(shí)間,減少了測(cè)試成本,解決了傳統(tǒng)策略在測(cè)試路徑選取與測(cè)試案例生成時(shí)的無(wú)序性與盲目性的問(wèn)題,可以為航電系統(tǒng)升級(jí)改裝的安全性驗(yàn)證提供一種高效的數(shù)據(jù)樣本采集方案。
IMA平臺(tái)網(wǎng)絡(luò)的基礎(chǔ)結(jié)構(gòu)如圖1所示,由發(fā)送端、接收端與AFDX雙網(wǎng)組成,AFDX數(shù)據(jù)在發(fā)送端進(jìn)行冗余復(fù)制后發(fā)送,到達(dá)雙網(wǎng)AFDX交換機(jī),基于虛擬鏈路(Virtual Link, VL)配置進(jìn)行尋址,到達(dá)接收端后經(jīng)完整性檢查與冗余校驗(yàn)處理,將數(shù)據(jù)傳遞到IMA模塊的上一層。
圖1 IMA平臺(tái)網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu)
各個(gè)IMA模塊中加載的應(yīng)用程序通過(guò)AFDX總線(xiàn)進(jìn)行數(shù)據(jù)通信,該數(shù)據(jù)通信過(guò)程的配置有效性與容錯(cuò)性是軟件正確行使其職能的基礎(chǔ)[11]。在如圖1所示的雙模塊IMA平臺(tái)網(wǎng)絡(luò)中,只存在一條通信鏈路,是IMA平臺(tái)網(wǎng)絡(luò)通信的最簡(jiǎn)單形式。
結(jié)合IMA平臺(tái)網(wǎng)絡(luò)的工作機(jī)制,在故障注入策略設(shè)計(jì)時(shí)主要有兩方面問(wèn)題需要解決:
1)采取何種順序進(jìn)行故障注入的問(wèn)題,即故障注入測(cè)試路徑生成問(wèn)題。實(shí)際應(yīng)用中的IMA平臺(tái)網(wǎng)絡(luò)如圖2所示,所連接IMA模塊較多,通信鏈路交聯(lián)情況復(fù)雜。對(duì)于復(fù)雜通信網(wǎng)絡(luò)的故障注入順序應(yīng)是以確保覆蓋所有模塊與通信鏈路為前提,使總測(cè)試路徑長(zhǎng)度最短,即測(cè)試任務(wù)最少;同時(shí)測(cè)試方向應(yīng)與網(wǎng)絡(luò)通信方向保持統(tǒng)一,以便故障定位。此類(lèi)問(wèn)題屬于路徑優(yōu)化選取問(wèn)題,解決方法是結(jié)合網(wǎng)絡(luò)特性使用合適的路徑優(yōu)化算法,求取最優(yōu)故障注入順序。
圖2 多模塊IMA平臺(tái)網(wǎng)絡(luò)通信
2)該注入哪些故障的問(wèn)題,即故障注入測(cè)試案例生成問(wèn)題。IMA平臺(tái)網(wǎng)絡(luò)可注入故障較多,若采用傳統(tǒng)的故障注入策略,列舉所有可注入故障并依次注入,將會(huì)花費(fèi)大量的時(shí)間與計(jì)算成本;同時(shí),IMA平臺(tái)網(wǎng)絡(luò)可注入故障之間存在較多的等效故障,如VL調(diào)度時(shí)抖動(dòng)過(guò)大與端口配置時(shí)轉(zhuǎn)發(fā)時(shí)延過(guò)高,產(chǎn)生的故障現(xiàn)象都為通信延時(shí)。進(jìn)一步考慮到IMA平臺(tái)網(wǎng)絡(luò)的雙冗余機(jī)制,單網(wǎng)注入故障不會(huì)在總體上觀察到故障現(xiàn)象,例如,向A網(wǎng)注入導(dǎo)致丟幀的故障時(shí),B網(wǎng)正常工作,AFDX總線(xiàn)的冗余管理(RM)機(jī)制能夠于B網(wǎng)獲取正確的數(shù)據(jù)流,該注入行為屬于無(wú)效故障注入。如何排除等效與無(wú)效故障,生成精簡(jiǎn)的測(cè)試案例,也是IMA平臺(tái)網(wǎng)絡(luò)故障注入策略設(shè)計(jì)中需要解決的問(wèn)題。
針對(duì)上述兩個(gè)問(wèn)題,采用的故障注入策略對(duì)應(yīng)地分為兩個(gè)部分:故障注入測(cè)試路徑設(shè)計(jì)與故障注入測(cè)試案例設(shè)計(jì)。
IMA平臺(tái)網(wǎng)絡(luò)故障注入測(cè)試路徑設(shè)計(jì)指的是將IMA模塊視為測(cè)試路徑上的節(jié)點(diǎn),選用合適的方法覆蓋網(wǎng)絡(luò)各節(jié)點(diǎn)及節(jié)點(diǎn)間的通信鏈路,生成故障注入順序。傳統(tǒng)的方法是沿用信息學(xué)中路徑遍歷的思路,采用路徑覆蓋算法對(duì)復(fù)雜結(jié)構(gòu)進(jìn)行簡(jiǎn)化??紤]IMA平臺(tái)網(wǎng)絡(luò)通信過(guò)程需保證實(shí)時(shí)性與確定性,路徑選取時(shí)應(yīng)盡可能與模塊間通信的順序一致,而單獨(dú)采用深度優(yōu)先搜索算法進(jìn)行路徑選取時(shí),每當(dāng)訪(fǎng)問(wèn)到終止節(jié)點(diǎn)或是重復(fù)節(jié)點(diǎn),都會(huì)回到上一層節(jié)點(diǎn)重新選擇,這個(gè)過(guò)程影響了IMA平臺(tái)網(wǎng)絡(luò)測(cè)試的有序性。同樣作為常見(jiàn)的路徑遍歷算法,基于節(jié)點(diǎn)的完全路徑覆蓋算法[12]所生成的路徑都為由初始節(jié)點(diǎn)開(kāi)始,至葉子節(jié)點(diǎn)結(jié)束的完全測(cè)試路徑,在一定程度上體現(xiàn)出了測(cè)試有序性。
基于節(jié)點(diǎn)的完全路徑覆蓋算法:
步驟1 訪(fǎng)問(wèn)路徑的初始節(jié)點(diǎn)并標(biāo)記為當(dāng)前節(jié)點(diǎn),記層數(shù)n=1。
步驟2 尋找當(dāng)前節(jié)點(diǎn)能夠到達(dá)的其他節(jié)點(diǎn),標(biāo)記為子節(jié)點(diǎn),記子節(jié)點(diǎn)所在層為n=n+1。
步驟3 判斷第n層是否有未被訪(fǎng)問(wèn)的節(jié)點(diǎn),若是,跳到步驟4;若否,輸出路徑覆蓋結(jié)果,算法結(jié)束。
步驟4 訪(fǎng)問(wèn)第n層中未被訪(fǎng)問(wèn)過(guò)的節(jié)點(diǎn),若該節(jié)點(diǎn)在x(0 步驟5 若第n層中所有節(jié)點(diǎn)都已訪(fǎng)問(wèn),則n=n-1,返回步驟3;否則,返回步驟4。 該算法采用一種類(lèi)似于深度優(yōu)先的遍歷方式,考慮了IMA平臺(tái)網(wǎng)絡(luò)測(cè)試所需的有序性,能夠使故障注入測(cè)試遍歷IMA平臺(tái)網(wǎng)絡(luò),生成有效的測(cè)試路徑,但是該算法反復(fù)回到初始節(jié)點(diǎn)的過(guò)程同時(shí)也使測(cè)試任務(wù)數(shù)增多,增加了測(cè)試時(shí)間與計(jì)算成本[13]。作為對(duì)實(shí)時(shí)性有很高要求的動(dòng)態(tài)網(wǎng)絡(luò)系統(tǒng),IMA平臺(tái)網(wǎng)絡(luò)的測(cè)試對(duì)象應(yīng)側(cè)重于模塊間的通信鏈路,且由于單位時(shí)間內(nèi)每段通信鏈路都有數(shù)據(jù)幀傳遞,傳統(tǒng)方法中的初始節(jié)點(diǎn)與終止節(jié)點(diǎn)的概念相對(duì)不明顯。因此,本文在文獻(xiàn)[12]提出的基于變遷的路徑覆蓋算法的基礎(chǔ)上,根據(jù)IMA平臺(tái)網(wǎng)絡(luò)初始與終止節(jié)點(diǎn)不明確等特性進(jìn)行改進(jìn),提出一種基于通信鏈路的IMA平臺(tái)網(wǎng)絡(luò)測(cè)試路徑優(yōu)化算法: 定義1 令n為待測(cè)試IMA平臺(tái)網(wǎng)絡(luò)所連接的模塊總數(shù),構(gòu)建通信鏈路方陣:Tn×n=(tij),1≤i,j≤n;若第i個(gè)模塊無(wú)法向第j個(gè)模塊發(fā)送消息,令tij=0,否則,tij表示網(wǎng)絡(luò)中第i個(gè)模塊向第j個(gè)模塊發(fā)送消息時(shí)的通信鏈路;構(gòu)建全通信鏈路集合R,R中的元素為T(mén)n×n中所有非0的tij;構(gòu)建路徑集合W; 步驟1 初始化,令W為空集,i=j=1,計(jì)數(shù)變量k=1; 步驟2 判斷tij是否為0或不屬于集合R,若是,跳到步驟3;若否,將tij加入路徑集合W,并將tij從R中刪除,令i=j,j=1,重新開(kāi)始步驟2; 步驟3 令j=j+1;判斷是否j>n,若是,跳到步驟4;若否,返回步驟2; 步驟4 判斷W是否為空集,若是,i=i+1,j=1,返回步驟2;若否,構(gòu)建集合Yk,令Yk=W,輸出Yk,跳到步驟5; 步驟5 判斷R是否為空集,若否,令W為空集,i=j=1,k=k+1,返回步驟2;若是,算法結(jié)束。 該算法以通信鏈路作為測(cè)試對(duì)象,路徑選取的過(guò)程遵循了IMA平臺(tái)網(wǎng)絡(luò)通信的方向,路徑選取時(shí)因訪(fǎng)問(wèn)到終止節(jié)點(diǎn)而跳到其他通信鏈路的破壞測(cè)試有序性的現(xiàn)象較少。該算法生成的測(cè)試路徑,含有的測(cè)試任務(wù)數(shù)等于IMA平臺(tái)網(wǎng)絡(luò)的通信鏈路數(shù),避免了重復(fù)測(cè)試的情況。 結(jié)合常見(jiàn)的AFDX總線(xiàn)故障注入工具的功能與IMA平臺(tái)網(wǎng)絡(luò)的故障傳播特性,本文將可注入的故障劃分為兩個(gè)層面: 1)鏈路層故障。包括VL調(diào)度時(shí)可能出現(xiàn)的延時(shí)與抖動(dòng)(Jitter),以及幀間隙(Inter-Frame Gap, IFG)異常;造成的故障現(xiàn)象均為所傳輸數(shù)據(jù)延時(shí)。另外,在AFDX端系統(tǒng)與交換機(jī)的配置表中,記錄著允許通過(guò)的VL的配置參數(shù),如VL工作參數(shù)有VL ID、最大與最小幀長(zhǎng)、帶寬分配間隙(Bandwidth Allocation Gap, BAG)、允許抖動(dòng)、最大偏移時(shí)間(SkewMax)等,端口配置參數(shù)有端口號(hào)、開(kāi)關(guān)狀態(tài)、最大緩沖配置、端口延時(shí)等。其中,BAG參數(shù)過(guò)大、SkewMax參數(shù)過(guò)大、端口緩沖配置不當(dāng)、端口轉(zhuǎn)發(fā)時(shí)延過(guò)大等故障會(huì)造成所傳輸數(shù)據(jù)單網(wǎng)延時(shí);幀長(zhǎng)超范圍、BAG參數(shù)過(guò)小、SkewMax參數(shù)過(guò)小、端口關(guān)閉等故障造成所傳輸數(shù)據(jù)單網(wǎng)丟幀。 2)協(xié)議層故障。 IMA平臺(tái)網(wǎng)絡(luò)協(xié)議層故障表現(xiàn)為數(shù)據(jù)幀的格式與內(nèi)容出現(xiàn)異常,包括地址有誤、序列號(hào)SN有誤以及有效載荷有誤等,在傳輸過(guò)程中導(dǎo)致尋址錯(cuò)誤等問(wèn)題,影響航電應(yīng)用程序的正常工作。其中,地址又分為MAC、IP、UDP的目標(biāo)地址與源地址,其中任一的地址字段出現(xiàn)格式或內(nèi)容錯(cuò)誤,會(huì)造成所傳輸數(shù)據(jù)單網(wǎng)尋址有誤,即目標(biāo)IMA模塊及分區(qū)端口接收不到信息,信息丟失或被轉(zhuǎn)發(fā)至錯(cuò)誤模塊與端口;SN有誤會(huì)造成所傳輸數(shù)據(jù)單網(wǎng)次序錯(cuò)誤,影響實(shí)時(shí)性與確定性;有效載荷有誤會(huì)造成所傳輸數(shù)據(jù)誤碼失實(shí),造成應(yīng)用程序經(jīng)由錯(cuò)誤的信息產(chǎn)生錯(cuò)誤判斷,影響適航安全。 本文以上述兩個(gè)層面中的故障作為待注入故障,通過(guò)有色Petri網(wǎng)(Colored Petri Net,CPN)形式化建模方法,建立IMA平臺(tái)網(wǎng)絡(luò)測(cè)試案例生成模型。其中,將故障注入對(duì)象分為4個(gè)類(lèi)型:1)VL調(diào)度、2)VL工作參數(shù)、3)端口工作參數(shù)、4)數(shù)據(jù)幀格式與內(nèi)容。所造成的故障現(xiàn)象分為5個(gè)方面:1)單網(wǎng)延時(shí)、2)單網(wǎng)丟幀、3)單網(wǎng)尋址錯(cuò)誤、4)單網(wǎng)次序錯(cuò)誤、5)單網(wǎng)有效載荷誤碼。造成的故障現(xiàn)象相同的故障,即等效故障,在建模時(shí)通過(guò)編程的方式隨機(jī)選取其一,在確保覆蓋故障現(xiàn)象的前提下,避免重復(fù)注入;同時(shí),針對(duì)IMA平臺(tái)網(wǎng)絡(luò)的冗余雙網(wǎng)工作特性,采取的策略為對(duì)雙網(wǎng)分別生成測(cè)試案例。由于單個(gè)網(wǎng)絡(luò)擁有5類(lèi)故障現(xiàn)象,所以在雙網(wǎng)故障集生成中共有25種組合;考慮AB雙網(wǎng)屬于完全相同的冗余網(wǎng)絡(luò),因此通過(guò)CPN編程排除其中10種重復(fù)的組合方式,最終生成共15種故障現(xiàn)象組合的故障注入測(cè)試案例。 本文所選取研究對(duì)象為某半實(shí)物仿真IMA平臺(tái)網(wǎng)絡(luò),該網(wǎng)絡(luò)在正常擁有機(jī)載狀態(tài)監(jiān)控模塊(Airborne Condition Monitor, ACM)、飛行管理計(jì)算機(jī)(Flight Management Computer, FMC)與飛行數(shù)據(jù)記錄儀(Flight Data Recorder, FDR)三個(gè)IMA模塊的情況下,加裝了機(jī)載北斗通信模塊(Airborne Beidou Communication Module, ABCM)與機(jī)載娛樂(lè)系統(tǒng)(In Flight Entertainment, IFE),通過(guò)故障注入為進(jìn)一步的測(cè)試性驗(yàn)證工作收集故障數(shù)據(jù)。該網(wǎng)絡(luò)的模塊間通信交聯(lián)情況如圖3所示。 圖3 一種IMA平臺(tái)網(wǎng)絡(luò)通信交聯(lián)情況 3.1.1 傳統(tǒng)策略中的測(cè)試路徑生成方法 采用基于節(jié)點(diǎn)的完全路徑覆蓋算法,對(duì)研究對(duì)象進(jìn)行化簡(jiǎn),網(wǎng)絡(luò)中各節(jié)點(diǎn)的編號(hào)如圖5所示。算法輸出結(jié)果:Y1={1,2,3};Y2={1,2,4};Y3={1,2,5};Y4={1,3,2};Y5={1,3,5};Y6={1,5};Y7={1,4,2};Y8={1,4,5}。該算法共生成8條路徑,其中每個(gè)路徑集合中的元素表示網(wǎng)絡(luò)中模塊的編號(hào),例如,第二條測(cè)試路徑Y(jié)2表示先進(jìn)行模塊1與模塊2通信過(guò)程的故障注入,再進(jìn)行模塊2與模塊4通信過(guò)程的故障注入。該算法生成的8條路徑共含有2×7+1=15個(gè)測(cè)試任務(wù)。 3.1.2 本文所提策略中的測(cè)試路徑生成方法 一、從蝴蝶、剪紙、故宮建筑等對(duì)稱(chēng)圖形入手,借生活中的對(duì)稱(chēng)美來(lái)感受對(duì)聯(lián)。而后,講述王羲之、朱元璋、蒲松齡等人巧對(duì)故事激發(fā)興趣,具體感受對(duì)聯(lián)的魅力。 采用3.1節(jié)提出的基于通信鏈路的IMA平臺(tái)網(wǎng)絡(luò)測(cè)試路徑優(yōu)化算法,對(duì)研究對(duì)象進(jìn)行化簡(jiǎn)。構(gòu)建的通信鏈路方陣Tn×n如表1所示。 表1 通信鏈路方陣 算法輸出結(jié)果:Y1={t12,t23,t32,t24,t42,t25};Y2={t13,t35};Y3={t14,t45};Y4={t15}。得到4條針對(duì)該IMA平臺(tái)網(wǎng)絡(luò)的故障注入測(cè)試路徑,其中每個(gè)路徑集合中的元素表示一個(gè)測(cè)試任務(wù),例如,第二條測(cè)試路徑Y(jié)2表示的意思是:先進(jìn)行模塊1到模塊3的通信過(guò)程的故障注入,再進(jìn)行模塊3到模塊5通信過(guò)程的故障注入。4條測(cè)試路徑共含11個(gè)測(cè)試任務(wù)。 3.2.1 傳統(tǒng)策略中的測(cè)試案例生成方法 傳統(tǒng)的故障注入策略通過(guò)列舉所有可注入故障的方式,生成測(cè)試案例。本實(shí)驗(yàn)所使用故障注入工具支持15種可注入故障,考慮IMA平臺(tái)網(wǎng)絡(luò)雙網(wǎng)冗余的工作特性,共225種故障組合,測(cè)試案例數(shù)過(guò)大,因此此處對(duì)測(cè)試案例的選取進(jìn)行簡(jiǎn)單的優(yōu)化:根據(jù)每種故障現(xiàn)象選擇對(duì)應(yīng)的一種可注入故障,作為故障注入測(cè)試案例。根據(jù)ARINC-664協(xié)議中對(duì)故障現(xiàn)象與產(chǎn)生方式的說(shuō)明[2],選擇對(duì)應(yīng)的可注入故障,如表2所示??紤]雙網(wǎng)冗余,由單網(wǎng)5個(gè)可注入故障可知雙網(wǎng)共25種可注入故障組合,即測(cè)試案例數(shù)為25。 3.2.2 本文所提策略中的測(cè)試案例生成方法 在3.1.2節(jié)中,通過(guò)測(cè)試路徑優(yōu)化算法,得到了故障注入測(cè)試的具體順序,即測(cè)試任務(wù)的先后順序。此處采用2.2節(jié)提出的基于CPN模型的故障注入測(cè)試案例設(shè)計(jì)方法,建立測(cè)試案例生成模型,為測(cè)試任務(wù)生成具體的測(cè)試案例。CPN工具以圖形與編程相結(jié)合的方式描述系統(tǒng)網(wǎng)絡(luò)的交聯(lián)與演變,憑借其可執(zhí)行性與仿真便攜性,被認(rèn)為是網(wǎng)絡(luò)復(fù)雜系統(tǒng)建模和分析的最佳工具之一[14-15]。CPN模型結(jié)構(gòu)分為庫(kù)所、變遷、弧與標(biāo)記,其中,庫(kù)所用橢圓形表示,代表系統(tǒng)的某個(gè)階段或狀態(tài);變遷用矩形表示,代表引發(fā)系統(tǒng)狀態(tài)改變的事件;弧將庫(kù)所與變遷連接,代表狀態(tài)與事件的演變關(guān)系;標(biāo)記表示模型中的數(shù)據(jù),以“著色”的方式劃分類(lèi)型,可以通過(guò)變遷在庫(kù)所之間轉(zhuǎn)移。本文所建立模型如圖4所示。 表2 傳統(tǒng)策略中選擇的可注入故障 圖4 基于CPN的故障注入測(cè)試案例生成模型 模型中的標(biāo)記顏色集(即數(shù)據(jù)類(lèi)型)被定義為S,由整型變量a,b與字符串變量s組成,其中a表示故障現(xiàn)象序號(hào),b表示循環(huán)次數(shù),s表示故障注入行為描述。模型采取了類(lèi)似逆向故障樹(shù)的結(jié)構(gòu)模式:空白標(biāo)記從初始庫(kù)所“Begin”出發(fā),經(jīng)變遷Loop A復(fù)制到5個(gè)故障現(xiàn)象庫(kù)所,且各標(biāo)記顏色集中的a被賦值為所在庫(kù)所的序號(hào);然后,隨機(jī)地通過(guò)與故障現(xiàn)象庫(kù)所相連的可注入故障變遷,進(jìn)入代表故障類(lèi)型的庫(kù)所,記錄該過(guò)程,作為A網(wǎng)測(cè)試案例;接著,5個(gè)標(biāo)記由Loop B回到初始庫(kù)所,在Loop A處復(fù)制至序號(hào)小于或等于a的故障現(xiàn)象庫(kù)所,經(jīng)過(guò)又一次的隨機(jī)選擇過(guò)程,記錄并生成B網(wǎng)測(cè)試案例。模型首先通過(guò)隨機(jī)選擇的方式,在保證覆蓋所有故障類(lèi)型的前提下,使得每次仿真生成的測(cè)試案例具有隨機(jī)性,提高測(cè)試強(qiáng)度;并且通過(guò)第二次循環(huán)中只復(fù)制標(biāo)記到序號(hào)小于或等于a的庫(kù)所,測(cè)試案例數(shù)由5×5=25個(gè)降至5+4+3+2+1=15個(gè),排除了由于A/B雙網(wǎng)案例對(duì)稱(chēng)重復(fù)而導(dǎo)致的等效故障,減少了測(cè)試案例數(shù)。模型的某次仿真運(yùn)行的結(jié)果如表3所示;其中每條測(cè)試案例表示應(yīng)執(zhí)行的故障注入操作,例如第二條測(cè)試案例表示的意思是:“A網(wǎng)-VL工作參數(shù)-注入幀長(zhǎng)超出范圍故障-A網(wǎng)丟幀;B網(wǎng)-端口工作參數(shù)-注入轉(zhuǎn)發(fā)時(shí)延過(guò)大故障-B網(wǎng)幀延時(shí)。” 表3 故障注入測(cè)試案例生成結(jié)果 實(shí)驗(yàn)硬件環(huán)境:裝有旋極eiMAX故障注入系統(tǒng)的工控機(jī)、TTTech_AFDX端系統(tǒng)板卡、華力創(chuàng)通HWA-ASW-24型AFDX交換機(jī)。分別使用兩種故障注入策略,對(duì)該IMA平臺(tái)網(wǎng)絡(luò)進(jìn)行故障注入,觀測(cè)各個(gè)IMA模塊應(yīng)用程序的工作狀態(tài)并記錄測(cè)試時(shí)間。在測(cè)試任務(wù)數(shù)、每個(gè)測(cè)試任務(wù)所需的測(cè)試案例數(shù)、總注入次數(shù)以及總測(cè)試時(shí)間等方面,與使用傳統(tǒng)的故障注入策略的結(jié)果進(jìn)行對(duì)比,對(duì)比情況如表4所示。 可以看出,本文提出的以測(cè)試路徑選取結(jié)合測(cè)試案例生成的故障注入策略,相比傳統(tǒng)的故障注入策略,在故障注入實(shí)驗(yàn)中保證了注入成功率的同時(shí),減少了總注入次數(shù)與總測(cè)試時(shí)間。 表4 兩種策略的結(jié)果對(duì)比 本文在分析IMA平臺(tái)網(wǎng)絡(luò)工作機(jī)制與故障現(xiàn)象的基礎(chǔ)上,提出一種IMA平臺(tái)網(wǎng)絡(luò)故障注入策略。通過(guò)故障注入測(cè)試路徑優(yōu)化算法,提高測(cè)試有序性且減少測(cè)試任務(wù);運(yùn)用CPN工具進(jìn)行編程建模,精簡(jiǎn)每個(gè)測(cè)試任務(wù)中所需的故障注入測(cè)試案例。通過(guò)仿真實(shí)驗(yàn),總結(jié)得出以下結(jié)論: 1)在測(cè)試路徑優(yōu)化選取與測(cè)試案例生成模型的設(shè)計(jì)過(guò)程中,考慮了IMA平臺(tái)網(wǎng)絡(luò)的復(fù)雜結(jié)構(gòu)、通信機(jī)制與故障傳播特性,因此,本文提出的故障注入策略能夠適用于實(shí)際的IMA平臺(tái)網(wǎng)絡(luò)故障注入測(cè)試。 2)比較傳統(tǒng)策略,本文策略的故障注入總次數(shù)減少了56%,總測(cè)試時(shí)間減少了51%,減少了測(cè)試成本。 3)本文策略克服了傳統(tǒng)策略在設(shè)計(jì)測(cè)試路徑與測(cè)試案例時(shí)的無(wú)序性與盲目性缺陷,提高了故障注入的效率,為面向升級(jí)改裝的安全性測(cè)試驗(yàn)證提供一種高效的故障樣本收集方案。 [11] 王臣虎.AFDX航空網(wǎng)絡(luò)的可靠性建模與性能分析[D].上海:上海交通大學(xué),2012:1-2. (WANG C H. Reliability modeling and performance analysis of AFDX avionics network [D]. Shanghai: Shanghai Jiao Tong University, 2012:1-2.) [12] 劉繼華,陳策.基于變遷的完全路徑覆蓋測(cè)試[J].計(jì)算機(jī)應(yīng)用,2012,32(11):3075-3077. (LIU J H, CHEN C. Complete path coverage testing based on change [J]. Journal of Computer Applications, 2012, 32(11): 3075-3077.) [13] 楊寧寧.基于遺傳蟻群算法的路徑覆蓋測(cè)試數(shù)據(jù)生成的研究[D].邯鄲:河北工程大學(xué),2013:14-18. (YANG N N. Based on genetic and ant colony algorithm for path coverage test data generation [D]. Handan: Hebei University of Engineering, 2013:14-18.) [14] HU H S, ZHOU M C, LI Z W. Liveness and ratio-enforcing supervision of automated manufacturing systems using Petri nets [J]. IEEE Transactions on Systems, Man, and Cybernetics—Part A: Systems and Humans, 2012, 42(2): 392-403. [15] 董健.基于著色Petri網(wǎng)的列控系統(tǒng)等級(jí)轉(zhuǎn)換建模分析與半實(shí)物仿真[D].北京:北京交通大學(xué),2017:8-9. (DONG J. Modeling and semi-physical simulation of level transition based on colored Petri nets [D]. Beijing: Beijing Jiaotong University, 2017:8-9.)2.2 故障注入測(cè)試案例設(shè)計(jì)
3 實(shí)例分析
3.1 故障注入測(cè)試路徑生成
3.2 故障注入測(cè)試案例生成
3.3 結(jié)果對(duì)比
4 結(jié)語(yǔ)