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