黃 奇,張 慶,劉明星,王遠(yuǎn)兵,鐘 科
(中國核動(dòng)力研究設(shè)計(jì)院 核反應(yīng)堆系統(tǒng)設(shè)計(jì)技術(shù)重點(diǎn)實(shí)驗(yàn)室,四川 成都 610213)
隨著計(jì)算機(jī)技術(shù)的發(fā)展,改造與新建的核電廠逐步采用數(shù)字化儀控系統(tǒng)實(shí)現(xiàn)反應(yīng)堆的保護(hù)和控制功能,數(shù)字化儀控系統(tǒng)的安全性和可靠性是核電廠平穩(wěn)運(yùn)行的關(guān)鍵。目前國內(nèi)外對于數(shù)字化儀控系統(tǒng)硬件方面可靠性研究已取得了較大成就,然而對于數(shù)字化儀控系統(tǒng)軟件可靠性評估方面的研究基本還處于初始啟蒙狀態(tài)。
標(biāo)準(zhǔn)IEEE std 1633中將軟件可靠性評估模型分為3種通用類別,即呈指數(shù)分布的非齊次泊松過程模型(NHPP)、非指數(shù)分布的NHPP模型和貝葉斯模型。而Schneidewind模型是標(biāo)準(zhǔn)IEEE std 1633中推薦的一種呈指數(shù)分布的NHPP典型模型。由于該模型有一個(gè)基本思想,即部分測試周期中檢測的錯(cuò)誤率受某些客觀因素影響,不能更好地對軟件未來的可靠性進(jìn)行預(yù)計(jì)。
該模型有以下三種形式:模型1—利用n個(gè)時(shí)間單元中的所有錯(cuò)誤計(jì)數(shù)。其基本出發(fā)點(diǎn)是所有數(shù)據(jù)點(diǎn)都同樣重要;模型2—忽略從第一個(gè)到第s-1個(gè)時(shí)期的錯(cuò)誤數(shù),即只使用從第s個(gè)時(shí)期到第n個(gè)時(shí)期之間的數(shù)據(jù)。其基本出發(fā)點(diǎn)是早期數(shù)據(jù)對預(yù)計(jì)未來行為作用很??;模型3—使用從周期1到s-1的累積錯(cuò)誤計(jì)數(shù),作為第一個(gè)數(shù)據(jù)點(diǎn),而使用s到n的獨(dú)立錯(cuò)誤計(jì)數(shù)作為其他數(shù)據(jù)點(diǎn)。此方法介于前兩個(gè)模型之間,反映了以下思想:前s-1個(gè)周期的數(shù)據(jù)組合可以預(yù)計(jì)以后階段的失效率。
本文結(jié)合IEEE std 1633標(biāo)準(zhǔn)中Schneidewind模型,以核電廠數(shù)字化儀控系統(tǒng)為研究對象,研究數(shù)字化儀控系統(tǒng)軟件可靠性的分析方法,并結(jié)合某堆型核電廠數(shù)字化儀控系統(tǒng)典型功能模塊的軟件故障數(shù)據(jù)進(jìn)行研究。
在利用該模型進(jìn)行研究時(shí),需進(jìn)行以下假設(shè):
(3)每個(gè)時(shí)間間隔檢測出的錯(cuò)誤數(shù)是相互獨(dú)立的;
(4)軟件運(yùn)行方式與預(yù)期的運(yùn)行使用方式相似;
(5)每個(gè)錯(cuò)誤出現(xiàn)的機(jī)會(huì)相等,且各錯(cuò)誤的嚴(yán)重程度相同;
(6)軟件的失效是相互獨(dú)立的;
(7)觀測軟件的時(shí)間間隔都相同。
根據(jù)假設(shè),第i個(gè)時(shí)期的累積錯(cuò)誤數(shù)均值為:
(1)
因此第i個(gè)時(shí)期的期望錯(cuò)誤數(shù)為:
(2)
由于每個(gè)時(shí)間間隔檢測出的錯(cuò)誤數(shù)fi為可獨(dú)立非均勻泊松隨機(jī)變量,可構(gòu)建似然函數(shù)如下:
(3)
利用極大似然估計(jì),可以得出三種模型的參數(shù)α,β的估計(jì)值。
(1)模型1
(2)模型2
(3)模型3
根據(jù)某堆型核電廠數(shù)字化儀控系統(tǒng)典型功能模塊的軟件可靠性故障數(shù)據(jù),以“周”為測試周期,對故障數(shù)據(jù)進(jìn)行統(tǒng)計(jì)表1所示。
表1 故障數(shù)據(jù)統(tǒng)計(jì)(36周)Table 1 Fault data statistics(36 weeks)
從表1可以看出,該典型模塊功能軟件經(jīng)過36個(gè)周期的測試,共發(fā)現(xiàn)168個(gè)故障。測試初期,故障發(fā)現(xiàn)率較高,隨著測試不斷深入,發(fā)現(xiàn)的故障不斷修復(fù),通過測試發(fā)現(xiàn)的故障數(shù)量同比有所減少。從統(tǒng)計(jì)結(jié)果可以看出,數(shù)據(jù)滿足假設(shè)條件中任一周期期望的錯(cuò)誤發(fā)生數(shù)與此周期的期望未檢測出的錯(cuò)誤數(shù)成正比例的假設(shè)條件。
根據(jù)軟件故障數(shù)據(jù)統(tǒng)計(jì)結(jié)果,將36周數(shù)據(jù)代入到第2章構(gòu)建的模型1中,對參數(shù)α和β進(jìn)行估計(jì),得到估計(jì)值為:
α=6.386 419 403 300 72
β=0.018 446 464 462 79
參數(shù)α也稱為其初始失效強(qiáng)度。
累計(jì)失效數(shù)的計(jì)算公式如式(1)所示,通過對實(shí)際數(shù)據(jù)以及估計(jì)后擬合的曲線作圖如圖1所示。
圖1 累計(jì)失效數(shù)隨測試時(shí)間的變化曲線Fig.1 Variation curve of cumulativefailure number with test time
根據(jù)實(shí)際數(shù)據(jù)以及估計(jì)擬合的結(jié)果,可以得到數(shù)據(jù)方差MSE為:
MSE=65.75
殘余失效數(shù)的計(jì)算公式如式(4)所示:
(4)
通過該模型得到的軟件可靠度是一個(gè)分段過程,用R(tn+Δt)表示,其計(jì)算公式如式(5)所示:
(5)
并且可以計(jì)算得出此時(shí)當(dāng)測試周期為36時(shí),軟件殘余失效數(shù)為178.2,如圖2所示。同時(shí)可以得到軟件可靠度隨著測試時(shí)間的變化曲線如圖3所示。
圖2 殘余失效數(shù)隨測試時(shí)間的變化曲線Fig.2 Variation curve of residualfailure number with test time
圖3 軟件可靠度隨著測試時(shí)間的變化曲線Fig.3 Variation curve of softwarereliability with test time
從預(yù)計(jì)結(jié)果顯示,軟件可靠度隨著測試時(shí)間趨近于指數(shù)變化形式,根據(jù)圖3所示結(jié)果,目前階段,還需要繼續(xù)對軟件進(jìn)行測試以發(fā)現(xiàn)bug,從而提高軟件的可靠度水平,以滿足相關(guān)指標(biāo)要求。
從該模型的預(yù)計(jì)計(jì)算結(jié)果顯示,該模型可用于指導(dǎo)相關(guān)人員進(jìn)行軟件測試,明確何時(shí)應(yīng)加大測試力量的投入、評估何時(shí)測試結(jié)束等。
根據(jù)上述驗(yàn)證結(jié)果,測試周期36時(shí),內(nèi)部存在的故障還較多,還需繼續(xù)進(jìn)行測試以發(fā)現(xiàn)bug并進(jìn)行修復(fù),進(jìn)而提高軟件可靠性。通過繼續(xù)對軟件可靠性進(jìn)行測試,得到測試結(jié)果如表2所示。
表2 故障數(shù)據(jù)統(tǒng)計(jì)(65周)Table 2 Fault data statistics(65 weeks)
將后續(xù)測試得到的結(jié)果與前期預(yù)期的結(jié)果進(jìn)行對比,如圖4所示。
圖4 后續(xù)測試結(jié)果與前期預(yù)計(jì)結(jié)果對比Fig.4 Comparison of follow-up test resultswith previous expected results
根據(jù)圖4對比數(shù)據(jù)顯示,根據(jù)前36個(gè)測試周期得到的擬合結(jié)果基本與后續(xù)測試結(jié)果接近,但還是存在些許誤差,并且從圖中對比數(shù)據(jù)可以看出,隨著測試周期的逐步增加,誤差逐漸增大,因此在應(yīng)用該模型對該堆型核電廠數(shù)字化儀控系統(tǒng)軟件可靠性進(jìn)行預(yù)計(jì)評估時(shí),需根據(jù)實(shí)際結(jié)果對模型估計(jì)參數(shù)進(jìn)行不斷地迭代優(yōu)化。
根據(jù)所有65周測試結(jié)果進(jìn)行優(yōu)化后得到的參數(shù)估計(jì)結(jié)果如下所示,優(yōu)化后的曲線如圖5所示。
α=6.538 934 067 655 78
β=0.022 553 308 627 75
圖5 數(shù)據(jù)優(yōu)化后的累積失效數(shù)曲線Fig.5 Cumulative failure number curveafter data optimization
本文對IEEE std 1633中提到的Schneidewind軟件可靠性評估模型進(jìn)行研究,并結(jié)合某堆型核電廠數(shù)字化儀控系統(tǒng)典型功能模塊軟件故障相關(guān)數(shù)據(jù),研究Schneidewind模型對于核電廠數(shù)字化儀控系統(tǒng)的適用性。
本文對某堆型核電廠數(shù)字化儀控系統(tǒng)典型功能模塊的軟件可靠性進(jìn)行評估,計(jì)算了軟件的累積故障數(shù)以及殘余故障數(shù)。通過評估結(jié)果發(fā)現(xiàn),目前該堆型數(shù)字化儀控系統(tǒng)典型功能模塊的軟件還存在有殘余故障,將會(huì)影響該軟件可靠性,還需繼續(xù)對該堆型數(shù)字化儀控系統(tǒng)軟件進(jìn)行測試,發(fā)現(xiàn)軟件bug并修復(fù),從而提升軟件的可靠性,以使其滿足相關(guān)要求。
另外,應(yīng)用該軟件可靠性定量評估模型對核電廠數(shù)字化儀控系統(tǒng)軟件可靠性進(jìn)行定量評估時(shí),能夠很好地對軟件可靠性進(jìn)行擬合,但是隨著測試周期的逐步增加,需根據(jù)實(shí)際測試結(jié)果,不斷地對模型參數(shù)進(jìn)行迭代優(yōu)化,以貼近實(shí)際的結(jié)果,以利于有效地指導(dǎo)后續(xù)測試工作。同時(shí),可以選擇不同的典型功能模塊,以實(shí)現(xiàn)其對整個(gè)儀控系統(tǒng)軟件可靠性評估的覆蓋性。