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