冷令, 吳偉斌
(1. 中山職業(yè)技術(shù)學(xué)院, 中山 528400; 2. 華南農(nóng)業(yè)大學(xué)工程學(xué)院, 廣州 510642)
基于GSPN和蒙特卡羅仿真的軟件可靠性研究
冷令1, 吳偉斌2
(1. 中山職業(yè)技術(shù)學(xué)院, 中山 528400; 2. 華南農(nóng)業(yè)大學(xué)工程學(xué)院, 廣州 510642)
提出了一種基于廣義隨機(jī)Petri網(wǎng)(Generalized Stochastic Petri Net,GSPN)和蒙特卡羅仿真的軟件可靠性建模與分析方法。在探討GSPN模型要素圖符表示及用法的基礎(chǔ)上,給出了基于GSPN的軟件可靠性建模流程。以軟件可靠性分析GSPN模型基礎(chǔ),采用蒙特卡羅仿真方法對模型中庫所、變遷持續(xù)時(shí)間等參數(shù)進(jìn)行統(tǒng)計(jì),計(jì)算軟件的可用度參數(shù)。實(shí)例研究驗(yàn)證了所提方法的有效性,該方法可以為軟件可靠性分析與設(shè)計(jì)提供有益參考。
軟件; 廣義隨機(jī)Petri網(wǎng); 蒙特卡羅仿真; 可靠性
軟件可靠性建模與分析是軟件開發(fā)與設(shè)計(jì)過程中的關(guān)鍵環(huán)節(jié)之一。傳統(tǒng)分析方法存在諸多不足[1],如:故障樹等模型不能模擬軟件動(dòng)態(tài)特性,Markov鏈等模型雖然能模擬軟件動(dòng)態(tài)特性,但模型可解算性較差。近年來,廣義隨機(jī)Petri網(wǎng)(generalized stochastic Petri net,GSPN)[2]在模擬軟件可靠性動(dòng)態(tài)行為方面表現(xiàn)出了良好的性能[3-5],但是由于模型大多復(fù)雜也無法克服狀態(tài)空間爆炸的問題。蒙特卡羅仿真方法[6-8]在系統(tǒng)可靠性分析中能夠適應(yīng)各種規(guī)模的系統(tǒng)可靠性求解,彌補(bǔ)了GSPN在可靠性參數(shù)求解方面的不足。
本文目的在于研究一種基于GSPN和蒙特卡羅仿真的軟件可靠性分析方法,以期為相關(guān)研究提供新思路。
1.1 GSPN定義
一個(gè)廣義隨機(jī)Petri網(wǎng)系統(tǒng)可以記為GSPN=(P,T,I,O,H,M0,W,λ),其中:
(1)P={P1,P2,…,Pn}為庫所的有窮集合;
(2)T={T1,T2,…,Tm}為變遷的有窮集合;
(3)I?P×T為輸入弧的有窮集合;
(4)O?T×P為輸出弧的有窮集合;
(5)H為禁止弧的有窮集合;
(6)M0為系統(tǒng)初始標(biāo)識(shí)的集合;
(7)W為弧權(quán)函數(shù)的有窮集合;
(8)λ={λ1,λ2,…,λm}為變遷的平均實(shí)施速率。時(shí)間變遷中λ為變遷所服從的泊松分布參數(shù);瞬時(shí)變遷中λ為變遷實(shí)施概率值。
1.2 GSPN模型要素圖符表示及用法
GSPN模型要素的圖符表示及用法[11-12],如表1所示。
1.3 建模流程
軟件可靠性的GSPN建模的具體步驟如下:
表1 GSPN模型要素圖符表示及用法
(1) 深入分析軟件的功能結(jié)構(gòu),將軟件分解為若干邏輯關(guān)系組合的功能模塊。
(2) 根據(jù)軟件中各功能模塊間的連接與因果邏輯關(guān)系,建立軟件的可靠性框圖模型。
(3) 應(yīng)用GSPN描述軟件的可靠性框圖模型,構(gòu)建基于GSPN的軟件可靠性分析模型。
(4) 根據(jù)軟件中構(gòu)件的故障率和維修率,設(shè)置GSPN模型相應(yīng)的參數(shù),采用蒙特卡羅仿真方法分析求解軟件的可用度。
GSPN模型可以有效地刻畫軟件的動(dòng)態(tài)行為及其演化過程,為計(jì)算軟件可靠性參數(shù)提供了條件[9-10]。如圖1所示。
圖1 基于蒙特卡羅仿真的軟件可用度計(jì)算流程
本文采用蒙特卡羅仿真方法統(tǒng)計(jì)軟件可靠性分析GSPN模型中庫所、變遷、軟件狀態(tài)的持續(xù)時(shí)間,進(jìn)而計(jì)算軟件平均無故障工作時(shí)間MTBF、平均維修時(shí)間MTTR及可用度As等參數(shù),相應(yīng)計(jì)算公式分別為式(1)、式(2)和式(3)。
(1)
(2)
(3)
其中:Mi表示軟件處于故障狀態(tài)i;tn表示第n次仿真所消耗的時(shí)間;t(Mi)表示軟件處于故障狀態(tài)i的持續(xù)時(shí)間;Pi表示軟件處于故障狀態(tài)i的概率;Mni表示第n次仿真中軟件處于故障狀態(tài)i;t(Mni)第n次仿真中軟件處于故障狀態(tài)i的持續(xù)時(shí)間;f(Mni)表示第n次仿真中軟件處于故障狀態(tài)i的次數(shù)。
本小節(jié)選擇某工程軟件服務(wù)流程作為研究對象,考察本文方法的有效性。該軟件服務(wù)流程中包括S1、S2、S3、S4、S5和S6共6個(gè)軟件子服務(wù),其中軟件子服務(wù)S2和S5屬于同類型服務(wù),共用一種異常處理模式進(jìn)行修復(fù)。按照所提方法的步驟,建立的可靠性框圖模型,如圖2所示。
圖2 某軟件服務(wù)流程可靠性框圖模型
在保證所建GSPN模型正確有效的基本前提下,做以下假設(shè):
(1) 以軟件子服務(wù)為建?;締卧?,不做進(jìn)一步更加細(xì)的劃分。
(2) 僅考慮軟件故障和正常兩種工作狀態(tài)。
(3) 軟件故障服從故障率為λ=1/MTBF的泊松分布。
(4) 軟件異常處理模式健全,軟件故障后即時(shí)處理,服從維修率為μ=1/MTTR的泊松分布,且修復(fù)如新。
基于上述假設(shè),根據(jù)該軟件服務(wù)流程可靠性框圖,建立其可靠性分析GSPN模型,如圖3所示。
圖3中:庫所Psf表示軟件整體處于故障狀態(tài);庫所Pwi(i=1,2,…,6)表示軟件子服務(wù)Si處于正常狀態(tài);庫所Pfi(i=1,2,…,6)表示軟件子服務(wù)Si處于故障狀態(tài);庫所Pr表示軟件子服務(wù)S2和S5的共用異常處理機(jī)制的使用權(quán);庫所Pcri(i=2,6)表示軟件子服務(wù)Si的異常處理機(jī)制處于可用狀態(tài);時(shí)間變遷Tfi(i=1,2,…,6)表示軟件子服務(wù)Si發(fā)生故障;時(shí)間變遷Tri(i=1,2,…,6)表示軟件子服務(wù)Si的故障被修復(fù);瞬時(shí)變遷Tsfi(i=1,2,…,6)表示軟件子服務(wù)Si發(fā)生故障導(dǎo)致軟件整體故障;瞬時(shí)變遷Tcri(i=2,6)表示軟件子服務(wù)Si的異常處理機(jī)制可以進(jìn)行工作;各軟件子服務(wù)的故障率與維修率,如表2所示。
圖3 某軟件服務(wù)流程可靠性分析GSPN模型
在Matlab 2011a軟件環(huán)境[9]下,對該軟件服務(wù)流程進(jìn)行蒙特卡羅仿真,進(jìn)而得到軟件可用度變化曲線,如圖4所示。
圖4 某軟件服務(wù)流程可用度曲線
由仿真結(jié)果可知:該軟件服務(wù)流程可用度曲線在時(shí)間段0≤t≤50 h內(nèi),隨著時(shí)間的增加迅速下降,從100%到80.3%;當(dāng)時(shí)間t≥50 h以后,系統(tǒng)的可用度大致趨于平穩(wěn),但略有微小浮動(dòng),最后為79.5%。這是由于該軟件服務(wù)流程的故障時(shí)候各個(gè)軟件子服務(wù)的故障累加的結(jié)果,因此在設(shè)計(jì)軟件流程時(shí),應(yīng)盡量采用精化設(shè)計(jì),減少?zèng)]必要的軟件子服務(wù)。
本文提出了一種基于GSPN和蒙特卡羅仿真的軟件可靠性分析方法,該方法可以有效地模擬軟件的動(dòng)態(tài)行為。在建立軟件可靠性分析GSPN模型的基礎(chǔ)上,采用蒙特卡羅仿真方法可以快速計(jì)算軟件的可用度參數(shù)。以某工程軟件服務(wù)流程為例,仿真驗(yàn)證了所提方法的有效性。下一步將結(jié)合智能算法研究各個(gè)軟件子服務(wù)在不同故障率和維修率分布條件下的可用度參數(shù)變化規(guī)律。
[1] 王少萍. 工程可靠性[M]. 北京:北京航空航天大學(xué)出版社, 2000:18-42.
[2] 林闖. 計(jì)算機(jī)網(wǎng)絡(luò)和計(jì)算機(jī)系統(tǒng)的性能評價(jià)[M]. 北京:清華大學(xué)出版社, 2001:133-162.
[3] 蘇春. 基于GSPN模型的系統(tǒng)動(dòng)態(tài)可靠性仿真研究[J].航空學(xué)報(bào),2006,19(1):1-5.
[4] 石健, 王少萍, 王康. 基于GSPN的機(jī)載液壓作動(dòng)系統(tǒng)可靠性模型[J].航空學(xué)報(bào),2011,32(5):920-933.[5] 谷春英, 姚青山. 基于GSPN的計(jì)算機(jī)硬件系統(tǒng)可靠性分析[J].微電子學(xué)與計(jì)算機(jī),2013,30(6):122-126.[6] 肖剛, 李天柁. 系統(tǒng)可靠性分析中的蒙特卡羅方法[M].北京:北京科學(xué)出版社,2003:32-76.
[7] 王圣金, 蘇春, 許映秋. 基于Petri網(wǎng)和蒙特卡洛仿真的液壓系統(tǒng)可靠性研究[J].機(jī)械科學(xué)與技術(shù),2006,25(10):1206-1237.
[8] 李世毅, 馬振利, 張承良,等. 廣義隨機(jī)Petri網(wǎng)和Monte Carlo仿真在系統(tǒng)可靠性分配中的應(yīng)用[J].科學(xué)技術(shù)與工程,2010,36:9035-9038.
[9] 張志涌. 精通Matlab 2011a[M].北京:北京航空航天大學(xué)出版社 ,2011:150-233.
[10] 戴志輝,王增平,焦彥軍. 基于動(dòng)態(tài)故障樹與蒙特卡羅仿真的保護(hù)系統(tǒng)動(dòng)態(tài)可靠性評估[J]. 中國電機(jī)工程學(xué)報(bào). 2011(19):107-115.
[11] 陳克偉,董利霞,李丹. 基于GSPN的網(wǎng)絡(luò)系統(tǒng)動(dòng)態(tài)可靠性建模方法[J]. 計(jì)算機(jī)測量與控制. 2012(04):1091-1094.
[12] 吳恒潤.計(jì)算機(jī)硬件系統(tǒng)維護(hù)原則與方法討論[J]. 無線互聯(lián)科技,2013(12):97-98.
Research on Software Reliability Based on Generalized Stochastic Petri Net and Monte Carlo Simulation
Leng Ling1,Wu Weibin2
(1. Zhongshan Polytechnic Institute,Zhongshan 528400,China;2. College of Engineering,South China Agricultural University,Guangzhou 510642,China)
This paper presents a new reliability analysis method for software based on generalized stochastic petri net(GSPN) and Monte Carlo simulation. By discussing the model element icons and their usage of GSPN, the reliability of modeling process of software based on GSPN is given. On the basis of reliability analysis of GSPN model for software, Monte Carlo simulation is used to obtain statistical parameters of duration time of transition and places, and calculate the availability of software. A certain engineering software is used to validate the proposed method. The work of this paper can provide theoretical guidance for the reliability analysis and design of software.
software; generalized stochastic petri net; Monte Carlo simulation; reliability
“十二五”農(nóng)村領(lǐng)域國家科技計(jì)劃項(xiàng)目(2014BAD16B0103);2015年度國家星火計(jì)劃(2015GA780063);廣東省省級科技計(jì)劃項(xiàng)目(2014A070713032)
冷令(1980-),男,遼寧沈陽人,碩士,信息系統(tǒng)項(xiàng)目管理師/講師,研究方向:計(jì)算機(jī)網(wǎng)絡(luò)技術(shù), 廣州 528400; 吳偉斌(1978-),男,廣東中山人,博士,教授,碩士生導(dǎo)師,中國農(nóng)業(yè)工程學(xué)會(huì)高級會(huì)員(E041200601S),研究方向:農(nóng)業(yè)工程、機(jī)電一體化和信息技術(shù)應(yīng)用研究。廣州 510642
1007-757X(2017)01-0009-03
TP391
A
2016.08.08)