周 楠,李福川+,宣 萱
(1.中國(guó)航天科工集團(tuán)第二研究院 七〇六所,北京 100854; 2.中國(guó)航天科工集團(tuán)第二研究院 重點(diǎn)型號(hào)部,北京 100854)
基于排隊(duì)論的SRGM作為軟件可靠性建模[1,2]研究中的重要分支,更準(zhǔn)確地描述出由檢測(cè)和修正兩個(gè)子過(guò)程構(gòu)成的測(cè)試工作[3]中故障所經(jīng)歷的歷程,在可靠性的分析與評(píng)估方面展現(xiàn)出良好的能力。國(guó)內(nèi)外研究者使用無(wú)限服務(wù)臺(tái)排隊(duì)(infinite server queuing,ISQ)模型建模軟件測(cè)試過(guò)程,并逐步引入不完美排錯(cuò)和移動(dòng)點(diǎn)等影響因素。但研究發(fā)現(xiàn)服務(wù)臺(tái)數(shù)量是無(wú)限的假設(shè),違背了真實(shí)的測(cè)試過(guò)程,通過(guò)修正ISQ模型的假設(shè)條件,考慮到時(shí)間延遲現(xiàn)象,提出有限服務(wù)臺(tái)排隊(duì)(finite server queuing,F(xiàn)SQ)模型。隨著研究的深入,進(jìn)一步挖掘隊(duì)列平均長(zhǎng)度、平均等待時(shí)間等排隊(duì)論的核心內(nèi)容,提出擴(kuò)展的FSQ模型[4-8]。目前,隊(duì)列模型主要對(duì)故障修正過(guò)程進(jìn)行建模,忽略了軟件從交付到檢測(cè)過(guò)程中存在的排隊(duì)等待現(xiàn)象。
針對(duì)上述問(wèn)題,本文分析了資源相互獨(dú)立的故障檢測(cè)過(guò)程與故障修正過(guò)程,提出一種將排隊(duì)論同時(shí)應(yīng)用在檢測(cè)與修正過(guò)程的雙排隊(duì)系統(tǒng)模型,并在建模中考慮不完美排錯(cuò)現(xiàn)象,實(shí)現(xiàn)對(duì)修正過(guò)程中可能破壞程序內(nèi)部的邏輯結(jié)構(gòu),引入新故障現(xiàn)象的定量描述,從而提高模型對(duì)軟件可靠性評(píng)估與預(yù)測(cè)的精度。通過(guò)對(duì)比實(shí)驗(yàn)驗(yàn)證模型的性能,同時(shí)對(duì)未來(lái)的發(fā)展趨勢(shì)進(jìn)行了展望。
當(dāng)前的軟件可靠性增長(zhǎng)模型大多數(shù)都存在著與真實(shí)軟件測(cè)試過(guò)程不相符合的假設(shè)條件[5,9,10],如完美調(diào)試、故障立即被修正以及測(cè)試工作量統(tǒng)一考慮等。而在實(shí)際的測(cè)試過(guò)程中,檢測(cè)故障的工作通常由專業(yè)的軟件評(píng)測(cè)人員來(lái)完成,開(kāi)發(fā)人員則根據(jù)檢測(cè)過(guò)程反饋的故障信息對(duì)程序代碼進(jìn)行修改,完成修正階段的工作。兩組不同的人員花費(fèi)不同的CPU時(shí)間完成各自的任務(wù),是資源相互獨(dú)立的兩個(gè)過(guò)程,因此需要將檢測(cè)過(guò)程和修正過(guò)程消耗的工作量進(jìn)行區(qū)分,建立各自過(guò)程的函數(shù)模型。
ωd(t)=ξω(t)
(1)
ωc(t)=(1-ξ)ω(t)
(2)
式中:ξ表示在t時(shí)刻的規(guī)模比率,在這里設(shè)置為常數(shù)。
測(cè)試資源作為一個(gè)綜合性的影響因素,通常用執(zhí)行的測(cè)試用例數(shù)目、消耗的CPU時(shí)間以及測(cè)試人員的數(shù)量等信息來(lái)度量?;趯W(xué)習(xí)因素和軟件結(jié)構(gòu)的綜合影響,在測(cè)試的初期,測(cè)試工作量通常會(huì)迅速增長(zhǎng),而隨著過(guò)程的進(jìn)行,增長(zhǎng)速度會(huì)減緩,最后趨于平穩(wěn),呈現(xiàn)出一種S型變化趨勢(shì)[11,12]。考慮到測(cè)試工作量這一變化特點(diǎn),本文在建模過(guò)程中選用了變形S型TEF,如式(3)所示
(3)
式中:W表示最終消耗的總測(cè)試工作量;α表示測(cè)試工作量消耗率;A為一個(gè)常量。
將式(3)代入式(1)和式(2)后再對(duì)t進(jìn)行積分,可以得到故障檢測(cè)工作量函數(shù)以及故障修正工作量函數(shù),如式(4)和式(5)所示
(4)
(5)
(1)軟件中失效事件隨機(jī)發(fā)生,故障檢測(cè)過(guò)程與修正過(guò)程服從非齊次泊松過(guò)程(non-homogeneous poisson process,NHPP)[9],設(shè)到t時(shí)刻累計(jì)檢測(cè)出的故障數(shù)N(t)服從期望函數(shù)為m(t)的NHPP分布,滿足t=0時(shí), m(0)=0。 可以得到
(6)
(7)
式中:λ(τ) 表示τ時(shí)刻軟件的失效強(qiáng)度函數(shù)。
在 (t,t+x] 時(shí)間間隔內(nèi)不發(fā)生軟件失效的概率,即軟件可靠性為
R(x|t)=P{N(t+x)-N(t)=0}=e-m(t+x)+m(t)
(8)
(2)軟件故障之間互不干擾且失效行為均是由未檢測(cè)出的故障引發(fā)的[4]。
(3)在 (t,t+x] 時(shí)間區(qū)間內(nèi),累積檢測(cè)到的故障數(shù)量與t時(shí)刻剩余未檢測(cè)出的故障數(shù)量成正比,比例系數(shù)為故障檢測(cè)率[4,9]。
(4)在 (t,t+x] 時(shí)間區(qū)間內(nèi),累積修正的故障數(shù)量與t時(shí)刻檢測(cè)到但未被修正的故障數(shù)量成正比,比例系數(shù)為故障修正率[9]。
(5)引起軟件失效的故障最終都會(huì)被修正,且故障檢測(cè)過(guò)程在修正故障時(shí)會(huì)繼續(xù)執(zhí)行,故障的修正過(guò)程不會(huì)對(duì)故障的檢測(cè)造成影響[4]。
(6) 使用兩個(gè)不同的FSQ模型分別對(duì)故障檢測(cè)活動(dòng)以及故障修正活動(dòng)進(jìn)行描述,其中檢測(cè)過(guò)程模型滿足批量到達(dá),修正過(guò)程模型滿足NHPP到達(dá)。
(7)故障修正過(guò)程中,會(huì)引入新的故障且故障引入率為k[4]。
2.2.1 故障檢測(cè)過(guò)程
B(t)表示某個(gè)故障在(0,t]時(shí)間內(nèi)被檢測(cè)到的概率,包括兩個(gè)部分:一部分是假設(shè)故障在0時(shí)刻到達(dá),而且有空閑的檢測(cè)人員對(duì)其進(jìn)行檢測(cè),并在(0,t]時(shí)間內(nèi)被檢測(cè)到;另一部分則是假設(shè)有限數(shù)量的檢測(cè)服務(wù)人員都在工作中,故障在0時(shí)刻到達(dá),并沒(méi)有立即得到檢測(cè),而是在隊(duì)列中等待一段時(shí)間(0,y]后,才在(y,t]時(shí)間內(nèi)被檢測(cè)到,如圖1所示。
圖1 在0時(shí)刻到達(dá)的故障在(0,t]內(nèi)被檢測(cè)到
根據(jù)乘法公式,B(t)表示為
(9)
式中:Ta表示故障被送達(dá)的時(shí)間點(diǎn);Tb表示檢測(cè)故障時(shí)所用的時(shí)間;Te表示故障等待檢測(cè)時(shí)所用的時(shí)間。
軟件交付到故障檢測(cè)人員手中時(shí)也就意味著故障被送達(dá),則令 P{Ta=0}=1, 代入式(9)可得
(10)
式中:D(t)表示不存在排隊(duì)現(xiàn)象時(shí)服務(wù)人員檢測(cè)故障所用時(shí)間的累積分布函數(shù); D(t-y) 表示存在排隊(duì)現(xiàn)象時(shí)服務(wù)人員檢測(cè)故障所用時(shí)間的累積分布函數(shù);L(y)表示故障在隊(duì)列中等待檢測(cè)時(shí)所用時(shí)間的累積分布函數(shù)。
在實(shí)際的故障檢測(cè)過(guò)程中,需要考慮到軟件設(shè)計(jì)的復(fù)雜度、故障檢測(cè)人員的檢測(cè)水平、檢測(cè)工作量以及檢測(cè)環(huán)境等因素對(duì)檢測(cè)效果的影響。其中故障檢測(cè)工作量隨測(cè)試時(shí)間的變化情況對(duì)軟件的可靠性增長(zhǎng)曲線有顯著影響,為了全面和準(zhǔn)確地描述軟件故障檢測(cè)過(guò)程,在故障檢測(cè)過(guò)程中引入故障檢測(cè)工作量。另一方面,故障檢測(cè)工作量對(duì)檢測(cè)等待延遲也有一定的影響,隨著投入的故障檢測(cè)資源的增加,檢測(cè)等待延遲會(huì)減小。因此,在分析檢測(cè)等待延遲時(shí),也需要考慮故障檢測(cè)工作量。由于指數(shù)分布經(jīng)常被假定為排隊(duì)論中的服務(wù)時(shí)間分布[13,14],故假設(shè)故障檢測(cè)時(shí)間的分布函數(shù)如式(11)所示
D(z)=1-e-ρdWd(t)+ρdWd(t-z)
(11)
故障檢測(cè)等待時(shí)間的分布函數(shù)如式(12)所示
L(z)=1-e-μdWd(y)+μdWd(y-z)
(12)
式中:ρd表示每單位故障檢測(cè)工作量的故障檢測(cè)率;μd表示每單位故障檢測(cè)工作量的檢測(cè)等待率。
根據(jù)式(11)和式(12)可得
D(t)=1-e-ρdWd(t)
(13)
D(t-y)=1-e-ρdWd(t)+ρdWd(y)
(14)
L(y)=1-e-μdWd(y)
(15)
將式(13)~式(15)代入式(10),可得
[1-e-ρdWd(t)+ρdWd(y)]dy
(16)
對(duì)式(16)求導(dǎo)得故障檢測(cè)率函數(shù),如式(17)所示
(17)
其中
(18)
根據(jù)假設(shè)條件(7),考慮到故障修正過(guò)程存在引入新故障的現(xiàn)象,可以建立如下的微分方程
(19)
式中:a(t)表示隨t發(fā)生變化的隱藏的故障總數(shù),包括了初始故障數(shù)和引入故障數(shù);a表示初始故障總數(shù)。
代入初始條件md(0)=0, 可得如下故障檢測(cè)過(guò)程模型
(20)
2.2.2 故障修正過(guò)程
P(t)表示某個(gè)被檢測(cè)到的故障在 (0,t] 時(shí)間內(nèi)被完全修正的概率,包括兩個(gè)部分:一部分是假設(shè)故障通過(guò)檢測(cè)過(guò)程在x時(shí)刻被發(fā)現(xiàn),而且有空閑的修正人員對(duì)其進(jìn)行修正,并在 (x,t] 時(shí)間內(nèi)被完全修正;另一部分則是假設(shè)有限數(shù)量的修正服務(wù)人員都在工作中,故障在x時(shí)刻被檢測(cè)到,并沒(méi)有立即得到修正,而是在隊(duì)列中等待一段時(shí)間 (x,y] 后,才在 (y,t] 時(shí)間內(nèi)被完全修正,如圖2所示。
圖2 在x時(shí)刻檢測(cè)到的故障在(x,t]內(nèi)被修正
根據(jù)乘法公式,P(t)表示為
(21)
式中:Td表示故障被檢測(cè)到的時(shí)間點(diǎn);Tc表示修正故障時(shí)所用的時(shí)間;Tq表示故障等待修正時(shí)所用的時(shí)間。
對(duì)式(21)做進(jìn)一步變換,可得
(22)
式中: G(t-x) 表示不存在排隊(duì)現(xiàn)象時(shí)服務(wù)人員修正故障所用時(shí)間的累積分布函數(shù); G(t-y) 表示存在排隊(duì)現(xiàn)象時(shí)服務(wù)人員修正故障所用時(shí)間的累積分布函數(shù); F(y-x) 表示故障在隊(duì)列中等待修正時(shí)所用時(shí)間的累積分布函數(shù)。
在x時(shí)刻故障被檢測(cè)到的概率為b(x),代入式(22)可得
(23)
實(shí)際的故障修正過(guò)程同檢測(cè)過(guò)程一樣會(huì)受到多種因素的影響,同樣使用結(jié)合故障修正工作量的指數(shù)分布作為服務(wù)時(shí)間分布,故假設(shè)故障修正時(shí)間的分布函數(shù)如式(24)所示
G(z)=1-e-ρcWc(t)+ρcWc(t-z)
(24)
故障排錯(cuò)等待時(shí)間的分布函數(shù)如式(25)所示
F(z)=1-e-μcWc(y)+μcWc(y-z)
(25)
式中:ρc表示每單位故障修正工作量的故障修正率;μc表示每單位故障修正工作量的排錯(cuò)等待率。
根據(jù)式(24)和式(25),可得
G(t-x)=1-e-ρcWc(t)+ρcWc(x)
(26)
G(t-y)=1-e-ρcWc(t)+ρcWc(y)
(27)
F(y-x)=1-e-μcWc(y)+μcWc(x)
(28)
將式(26)~式(28)代入式(23)可得
(29)
根據(jù)假設(shè)條件(4),可得
(30)
式中:mdt表示到t時(shí)刻為止,運(yùn)用故障檢測(cè)過(guò)程模型估計(jì)出的累積故障數(shù)量。
代入初始條件mc(0)=0, 可得如下故障修正過(guò)程模型
mc(t)=mdt[1-e-P(t)]
(31)
為了評(píng)估和驗(yàn)證模型的擬合效果以及預(yù)測(cè)能力,本節(jié)給出了4個(gè)具有代表性的模型評(píng)價(jià)標(biāo)準(zhǔn),同時(shí)舉例介紹了模型的參數(shù)估計(jì)方法,并根據(jù)已經(jīng)公開(kāi)發(fā)表的,在系統(tǒng)開(kāi)發(fā)過(guò)程中所搜集到的4個(gè)軟件失效數(shù)據(jù)集進(jìn)行仿真實(shí)驗(yàn),最后對(duì)模型的復(fù)雜度進(jìn)行了分析。參與比較的所有模型見(jiàn)表1。
表1 參與比較的模型
模型擬合能力比較標(biāo)準(zhǔn):
(1)均方誤差
MSE是一個(gè)平均值,反映模型的輸出值與累積故障數(shù)的真實(shí)值之間的偏差程度。MSE值越小,說(shuō)明模型的擬合能力越好。
式中,n表示失效數(shù)據(jù)集中記錄的樣本條數(shù);m(ti)表示到時(shí)刻ti為止累積檢測(cè)或修正的故障數(shù)的估計(jì)值;mi表示到時(shí)刻ti為止累積檢測(cè)或修正的故障數(shù)的真實(shí)值。
(2)Bias評(píng)價(jià)標(biāo)準(zhǔn)
Bias表示累積故障數(shù)的估計(jì)值和真實(shí)值之間的誤差,反映模型本身的精確度。Bias值越小,說(shuō)明模型的擬合能力越好。
(3)回歸曲線方程的相關(guān)指數(shù)
R-square值距離1越近,說(shuō)明模型的擬合能力越好。
模型預(yù)測(cè)能力比較標(biāo)準(zhǔn):
(4)相對(duì)誤差
一般會(huì)將RE值制成RE圖,RE圖中接近x軸的預(yù)測(cè)點(diǎn)越多,說(shuō)明模型的預(yù)測(cè)能力越好。
失效數(shù)據(jù)集是對(duì)軟件可靠性增長(zhǎng)模型進(jìn)行評(píng)估與預(yù)測(cè)的基礎(chǔ),多以日歷時(shí)間作為故障檢測(cè)與修正的時(shí)間周期。記錄項(xiàng)依據(jù)軟件公司對(duì)數(shù)據(jù)的需求以及收集方式的不同存在差異,包含的基礎(chǔ)信息有累積檢測(cè)的故障數(shù)量和消耗的CPU時(shí)間,部分含有累積修正的故障數(shù)量,更全面的會(huì)有故障類型等信息。失效數(shù)據(jù)的質(zhì)量好壞會(huì)對(duì)實(shí)驗(yàn)結(jié)果準(zhǔn)確與否產(chǎn)生巨大影響,實(shí)驗(yàn)中選用的4個(gè)失效數(shù)據(jù)集是已經(jīng)公開(kāi)發(fā)表,并在軟件可靠性領(lǐng)域得到廣泛應(yīng)用的,因此可以保證數(shù)據(jù)的有效性和準(zhǔn)確性。
DS1:RADC-T1數(shù)據(jù)集[18]
RADC-T1失效數(shù)據(jù)集是羅馬空軍開(kāi)發(fā)中心發(fā)布的實(shí)時(shí)指令控制應(yīng)用系統(tǒng)的失效數(shù)據(jù),測(cè)試周期為21周,軟件測(cè)試人員花費(fèi)300.1CPU小時(shí),共檢測(cè)到并糾正了136個(gè)故障。
DS2:Okumoto數(shù)據(jù)集[19]
Okumoto失效數(shù)據(jù)集是K.Okumoto發(fā)布的Alcate/Lucent公司的失效數(shù)據(jù),測(cè)試周期為56周,軟件測(cè)試人員花費(fèi)6423.5CPU小時(shí),共檢測(cè)出124個(gè)故障。
DS3:Ohba數(shù)據(jù)集[19]
Ohba失效數(shù)據(jù)集是Ohba發(fā)布的PL/1項(xiàng)目的失效數(shù)據(jù),測(cè)試周期為19周,軟件測(cè)試人員花費(fèi)47.65CPU小時(shí),共檢測(cè)出328個(gè)故障。
DS4:Wood數(shù)據(jù)集[12]
Wood失效數(shù)據(jù)集是Alan Wood在1996年發(fā)表的一篇論文中收集的某個(gè)項(xiàng)目的失效數(shù)據(jù),測(cè)試周期為20周,軟件測(cè)試人員花費(fèi)10000CPU小時(shí),共檢測(cè)出100個(gè)故障。
由于失效數(shù)據(jù)集通常數(shù)據(jù)量較小,因此本文采用最小二乘法擬合模型參數(shù),以故障檢測(cè)過(guò)程模型為例:設(shè)數(shù)據(jù)集中一共采集到n組故障數(shù)據(jù)信息,在時(shí)間區(qū)間(0,ti)內(nèi),實(shí)際檢測(cè)出的累積故障數(shù)量為mi,模型預(yù)估出的累積故障數(shù)量的均值函數(shù)為md(ti), 其中i=1,2,…,n; 0 接下來(lái)只需對(duì)SSR中未知的參數(shù)逐個(gè)求偏導(dǎo),并令求導(dǎo)后的結(jié)果等于0,即可求出使得SSR達(dá)到極小化的參數(shù)估計(jì)值。本文采用分步方法,首先基于測(cè)試工作量數(shù)據(jù),擬合出Wd(t)中的參數(shù)估計(jì)值,見(jiàn)表2,然后將估計(jì)出的參數(shù)值代入模型中對(duì)md(t)中剩余的參數(shù)進(jìn)行計(jì)算,估計(jì)結(jié)果見(jiàn)表3。 表2 測(cè)試工作量函數(shù)的參數(shù)估計(jì)值 表3 參與比較的模型的參數(shù)估計(jì)值 3.4.1 故障檢測(cè)過(guò)程 檢測(cè)過(guò)程的擬合曲線如圖3所示,從中可以觀察到,在DS1和DS2上,G-O模型的擬合曲線嚴(yán)重偏離實(shí)測(cè)數(shù)據(jù)的失效曲線,主要原因在于G-O模型的建立沒(méi)有充分考慮真實(shí)情況,假設(shè)條件過(guò)于簡(jiǎn)化;Huang模型和Yamada模型在建模過(guò)程中本質(zhì)相同,但可以明顯看到Huang模型在測(cè)試周期開(kāi)始時(shí)擬合效果不佳,幾個(gè)周期過(guò)后表現(xiàn)得較好,兩個(gè)模型表現(xiàn)出的性能各異,原因在于模型之間采用的TEF存在很大的差異。新建模型在所有4個(gè)失效數(shù)據(jù)集上,性能表現(xiàn)穩(wěn)定,與真實(shí)失效曲線擬合程度較高,體現(xiàn)出良好的擬合能力。 圖3 各個(gè)模型的累積檢測(cè)的故障數(shù)量擬合曲線 為進(jìn)一步比較不同模型的性能差異,下面定量化地計(jì)算出各個(gè)模型在3個(gè)判定標(biāo)準(zhǔn)上的數(shù)值,具體數(shù)據(jù)見(jiàn)表4,其中帶有雙下劃線標(biāo)注的表示最優(yōu)標(biāo)準(zhǔn)值,帶有下劃線的表示次優(yōu)標(biāo)準(zhǔn)值,最差標(biāo)準(zhǔn)值采用波浪線表示。 表4 模型的擬合性能度量比較 從表4可以看出,在DS1上,新建模型表現(xiàn)最優(yōu),在3個(gè)比較標(biāo)準(zhǔn)中,2個(gè)最優(yōu),1個(gè)次優(yōu),且與最優(yōu)的標(biāo)準(zhǔn)值僅相差在小數(shù)點(diǎn)后第三位上;P-N-Z模型次之,1個(gè)最優(yōu),2個(gè)次優(yōu);G-O模型表現(xiàn)最差,3個(gè)標(biāo)準(zhǔn)均是最差。在DS2上,新建模型表現(xiàn)最優(yōu),在3個(gè)比較標(biāo)準(zhǔn)中均是最優(yōu);P-N-Z和Pham模型次之,3個(gè)均是次優(yōu);G-O模型表現(xiàn)最差,3個(gè)標(biāo)準(zhǔn)均是最差。在DS3上,新建模型表現(xiàn)最優(yōu),在3個(gè)比較標(biāo)準(zhǔn)中均是最優(yōu);P-N-Z模型和Pham模型性能表現(xiàn)相同,優(yōu)于剩下的模型,3個(gè)標(biāo)準(zhǔn)值均是次優(yōu);Huang模型表現(xiàn)不理想,MSE和S-square標(biāo)準(zhǔn)均是最差,而B(niǎo)ias接近最差。在DS4上,新建模型表現(xiàn)依舊穩(wěn)定,在3個(gè)比較標(biāo)準(zhǔn)中,1個(gè)最優(yōu),2個(gè)次優(yōu),且與最優(yōu)的標(biāo)準(zhǔn)值相差不大;Huang模型次之,1個(gè)最優(yōu),1個(gè)次優(yōu);Yamada模型表現(xiàn)不理想,MSE和R-square標(biāo)準(zhǔn)均是最差,而B(niǎo)ias接近最差。新建模型性能表現(xiàn)良好,可能基于以下原因: (1)新建模型在建模過(guò)程中考慮到FDR的復(fù)雜性,與TEF相結(jié)合構(gòu)建出復(fù)合型FDR,實(shí)現(xiàn)了對(duì)故障檢測(cè)過(guò)程更為真實(shí)的描述; (2)考慮到引入測(cè)試工作量因素,且選取了變形S型TEF,更準(zhǔn)確地反映了測(cè)試過(guò)程中測(cè)試工作量的變化情況; (3)應(yīng)用不完美排錯(cuò)對(duì)故障修正過(guò)程引入新故障的現(xiàn)象進(jìn)行建模,充分體現(xiàn)程序結(jié)構(gòu)的關(guān)聯(lián)性以及環(huán)境和人員的隨機(jī)性; (4)排隊(duì)論的引入進(jìn)一步挖掘了故障所經(jīng)過(guò)的活動(dòng)歷程,基于隊(duì)列的研究,時(shí)間延遲這一必不可少的環(huán)節(jié)得以進(jìn)行模型化表示。 另一方面,檢測(cè)過(guò)程的預(yù)測(cè)曲線如圖4所示,從中可以觀察到,G-O模型在DS1上預(yù)測(cè)效果很不理想,但在另外3個(gè)數(shù)據(jù)集上呈現(xiàn)出的效果明顯好于DS1,說(shuō)明模型適用性差,具有極強(qiáng)的不穩(wěn)定性;Huang模型的RE值在DS2、DS3和DS4上第一周期偏離0異常明顯,但是從第二周期開(kāi)始迅速趨近于0,并且預(yù)測(cè)效果越來(lái)越好;新建模型在4個(gè)數(shù)據(jù)集上的預(yù)測(cè)效果表現(xiàn)優(yōu)異,波動(dòng)范圍較小,可以清晰地看到優(yōu)于其它模型;所有模型的RE圖有一個(gè)共同特點(diǎn),后期預(yù)測(cè)性能均優(yōu)于前期,尤其是在12周之后。這是因?yàn)槔肧RGM進(jìn)行可靠性預(yù)測(cè),首先需要充足的數(shù)據(jù)作為支撐;同時(shí)由于模型中的參數(shù)數(shù)量不一,需要數(shù)據(jù)規(guī)模超過(guò)參數(shù)數(shù)目一定的比例,才能達(dá)到更好的預(yù)測(cè)性能。 圖4 各個(gè)模型的預(yù)測(cè)RE曲線 3.4.2 故障修正過(guò)程 失效數(shù)據(jù)集根據(jù)采集到的故障屬性列一般可分為兩種類型[12]:一種是只包含累積檢測(cè)的故障數(shù)量屬性,目前這種數(shù)據(jù)集在數(shù)量上占據(jù)著很大的優(yōu)勢(shì),但對(duì)于其應(yīng)用的局限性正在逐漸顯露出來(lái);另一種是除累積檢測(cè)到的故障數(shù)量外同時(shí)包含累積修正的故障數(shù)量屬性,全面的故障屬性列更符合當(dāng)前的研究趨勢(shì)。DS1屬于第二種數(shù)據(jù)類型,而DS2、DS3以及DS4均屬于第一種,故接下來(lái)只使用DS1對(duì)故障修正過(guò)程的模型進(jìn)行驗(yàn)證。前5個(gè)經(jīng)典模型在建模過(guò)程中并沒(méi)有將故障檢測(cè)過(guò)程與故障修正過(guò)程作為兩個(gè)不同的階段進(jìn)行考慮,因此5個(gè)經(jīng)典模型無(wú)法對(duì)DS1中故障修正過(guò)程進(jìn)行建模。本文只對(duì)新建模型的故障修正階段性能進(jìn)行分析,并與模型的檢測(cè)階段性能進(jìn)行縱向?qū)Ρ?,其中修正階段模型的參數(shù)估計(jì)值見(jiàn)表5。 表5 提出模型的參數(shù)估計(jì)值 修正過(guò)程的擬合曲線如圖5所示,從中可以看出,新建模型在故障修正過(guò)程中與真實(shí)數(shù)據(jù)的失效曲線貼合緊密,展現(xiàn)出較好的擬合能力,進(jìn)一步,通過(guò)表6中的擬合標(biāo)準(zhǔn),可以更直觀地判斷模型的性能。與故障檢測(cè)過(guò)程相比,模型的擬合標(biāo)準(zhǔn)值有一定的下降,但下降的幅度并沒(méi)有超過(guò)標(biāo)準(zhǔn)自身的量級(jí),仍然展現(xiàn)出比較好的擬合效果。原因在于故障修正過(guò)程的建模是以故障檢測(cè)過(guò)程為基礎(chǔ),會(huì)使用檢測(cè)過(guò)程中估計(jì)出的參數(shù)值,這些參數(shù)值本身與實(shí)際情況存在誤差,代入修正過(guò)程后導(dǎo)致最終結(jié)果的誤差進(jìn)一步擴(kuò)大。 圖5 提出模型在DS1上的擬合曲線 表6 提出模型的擬合性能度量 另一方面,修正過(guò)程的預(yù)測(cè)曲線如圖6所示,從中可以看出,模型故障修正過(guò)程的預(yù)測(cè)曲線與檢測(cè)過(guò)程呈現(xiàn)相同的變化趨勢(shì),后期預(yù)測(cè)性能明顯優(yōu)于前期,雖然沒(méi)有故障檢測(cè)過(guò)程的預(yù)測(cè)能力表現(xiàn)優(yōu)異,但RE值的最大變化范圍沒(méi)有超過(guò)1,還是展現(xiàn)出比較好的預(yù)測(cè)能力。 圖6 提出模型在DS1上的預(yù)測(cè)曲線 3.4.3 模型復(fù)雜度分析 新建模型由于結(jié)構(gòu)復(fù)雜以及參數(shù)量增多導(dǎo)致模型的復(fù)雜度有顯著提高,通過(guò)統(tǒng)計(jì)相同硬件條件下各個(gè)模型執(zhí)行1000次所用的平均CPU運(yùn)行時(shí)間以及參數(shù)和變量占用的內(nèi)存空間,對(duì)模型的計(jì)算性能進(jìn)行分析。具體數(shù)據(jù)見(jiàn)表7。 表7 模型的計(jì)算性能度量比較 由表7可知新建模型的CPU運(yùn)行時(shí)間相比于其它模型有數(shù)倍到數(shù)十倍的增加,在數(shù)據(jù)規(guī)模較大的DS2上表現(xiàn)尤為明顯,隨著輸入數(shù)據(jù)量的增大,模型的運(yùn)行時(shí)間差距會(huì)進(jìn)一步擴(kuò)大。但由于失效數(shù)據(jù)集的規(guī)模通常較小,模型的CPU運(yùn)行時(shí)間保持在零點(diǎn)幾秒到幾秒之間,相比于模型擬合和預(yù)測(cè)精度的提升,所付出的時(shí)間代價(jià)是可接受的。同時(shí)各個(gè)模型中參數(shù)和變量占用的內(nèi)存空間在幾十KB范圍,所有模型處于同一個(gè)數(shù)量級(jí),且差異很小,不會(huì)對(duì)當(dāng)前的計(jì)算機(jī)硬件環(huán)境形成挑戰(zhàn)。因此,新建模型雖然復(fù)雜度有顯著提升,但在解決軟件可靠性評(píng)估和預(yù)測(cè)的問(wèn)題上是可行的,并且結(jié)果是更精確的。 本文建立的基于雙排隊(duì)系統(tǒng)的SRGM,考慮到故障檢測(cè)過(guò)程和故障修正過(guò)程中存在的時(shí)間延遲現(xiàn)象,并基于測(cè)試工作量函數(shù)對(duì)故障檢測(cè)率進(jìn)行重構(gòu),實(shí)現(xiàn)了對(duì)真實(shí)測(cè)試過(guò)程更為符合現(xiàn)實(shí)的描述。通過(guò)對(duì)比實(shí)驗(yàn)驗(yàn)證在選定的失效數(shù)據(jù)集上與若干經(jīng)典SRGM相比,其展現(xiàn)出更好的預(yù)測(cè)效果和擬合能力。新建立的模型存在的問(wèn)題便是引入了更多的參數(shù),導(dǎo)致模型的復(fù)雜度上升和可理解性下降。未來(lái),通過(guò)對(duì)排隊(duì)論技術(shù)的進(jìn)一步研究,向著模型復(fù)雜度更低,性能更優(yōu)的方向發(fā)展。3.4 模型性能的比較分析
4 結(jié)束語(yǔ)