王力超 韓 江 張魁榜 夏 鏈
合肥工業(yè)大學,合肥,230009
基于加權組合模型的數(shù)控系統(tǒng)軟件可靠性估計
王力超韓江張魁榜夏鏈
合肥工業(yè)大學,合肥,230009
摘要:針對單一模型適應度不高的問題,提出一種采用加權組合模型對數(shù)控系統(tǒng)軟件進行可靠性評估的方法。首先根據(jù)數(shù)控系統(tǒng)軟件的特點,分別建立算術加權、幾何加權及調和加權三種組合模型;然后采用改進的遺傳算法實現(xiàn)模型最優(yōu)加權值的求解;最后將數(shù)控系統(tǒng)軟件的失效數(shù)據(jù)代入模型,預估出了系統(tǒng)軟件的錯誤情況,完成了對數(shù)控系統(tǒng)軟件可靠性的估計。實驗以四組軟件失效數(shù)據(jù)為對象,實驗結果表明加權組合模型比單一模型具有更高的適應性;將模型應用于自主研發(fā)的手持數(shù)控系統(tǒng),驗證了該方法的可行性和有效性。
關鍵詞:數(shù)控系統(tǒng);軟件可靠性;加權組合;遺傳算法
0引言
在過去的三十年里,國內外學者提出了許多軟件可靠性增長模型,這些模型已被廣泛地應用于工業(yè)領域[1]。工程師需要在測試階段收集失效數(shù)據(jù),以便對模型的參數(shù)進行估計。待模型成功建立之后,便能更加精確地預計系統(tǒng)的軟件可靠性、失效強度、初始錯誤數(shù)以及剩余錯誤數(shù)。這些模型在建模初期為了使模型不至于太復雜,提出了一些需要遵循的假設前提。但是,這些假設往往在實際情況中很難滿足,導致在實際的使用環(huán)境中很難選擇到最合適的模型[2]。另外,由于所采集的失效數(shù)據(jù)特征不同,使得這些模型計算結果出現(xiàn)估計偏差。盡管有很多學者致力于提高這些模型的預計準確度[3],但事實上還沒有一個單獨的模型能夠在不同的應用上提供準確的預計結果。于是,有一些學者建議工程師們同時使用一系列模型,或者使用一個組合模型以提高在不同場合下軟件可靠性預計的準確性[4]。但是在過去的文獻中,大部分組合模型都是對單個模型平均地組合,或者僅僅是一個簡單的線性組合,這些組合模型很難適合復雜的情況[4]。
綜上所述,本文根據(jù)數(shù)控系統(tǒng)可實時控制的特點,建立了一個加權組合模型對數(shù)控系統(tǒng)軟件可靠性進行估計。組合模型的加權形式分成三種:算術加權、幾何加權、調和加權,權重值的優(yōu)化將采用遺傳算法。同時,本文對遺傳算法進行了針對性的改進,通過降低其產生不滿足初始條件的個體的概率,使算法可以更快地收斂。為了驗證新模型的適應性、準確性及其他屬性,本文采用四組已公開發(fā)表的失效數(shù)據(jù),對新模型進行詳細的實驗評估。最后利用新模型對自主研發(fā)的手持數(shù)控系統(tǒng)進行軟件可靠性分析和評估。
1經(jīng)典基模型及其評價標準
多數(shù)經(jīng)典軟件可靠性增長模型假設在指定的時間間隔內所檢測出的錯誤數(shù)服從非齊次泊松過程[5]。不同模型基于一系列的假設前提,只適用于特定的驗證數(shù)據(jù)或測試條件。這個問題使得工程師在評估軟件可靠性時很難選擇合適的模型。
為了客觀與定量地比較不同的模型,本文將采用六個數(shù)值作為模型的評價指標,包括均方差、χ2值、準確度、偏差、偏差趨勢以及噪聲[6],這些指標可以從不同方面反映模型是否適用于當前的失效數(shù)據(jù)或測試條件。
(1)均方差。均方差定義為
(1)
其中,xi為模型預測值,μi為實際觀測值。均方差表示了模型的預測值與實際值之間的誤差水平,其值越小,表明模型越接近實際。
(2)χ2值。χ2值定義為
(2)
其中,Ai為實際頻數(shù),Ei為理論頻數(shù)。χ2值用來表示實際觀察到的頻數(shù)與一定假設下的理論頻數(shù)之間的偏離程度,其值越小,表明模型越接近實際。
(3)
那么對于Ti+1,Ti+2,…,Ti+n這種單步向前的預測,其序列似然函數(shù)(即準確度)為
(4)
由于這個數(shù)值通常非常接近于0,且其對數(shù)值為負值,所以原則上采用其對數(shù)值的絕對值來進行比較。絕對值越小,表示其預測的準確度越高。
(4)偏差。偏差定義為根據(jù)如下所示序列進行轉換的柯爾莫戈洛夫-斯米爾洛夫距離(Kolmogorov-Smirnovdistance),也叫KS距離:
(5)
(5)偏差趨勢。偏差趨勢定義為根據(jù)如下所示序列進行轉換的KS距離:
(6)
其中,k=s,s+1,…,i-1,xj=-ln(1-uj)。由于有些偏差不能被u-結構圖所核查到,比如某些模型在預測前期呈現(xiàn)出樂觀特性,而在后期又呈現(xiàn)出悲觀特性,在u-結構圖里這些偏差最后達到平衡,所以需要采用y-結構圖將ui的某種趨勢顯示出來。同樣,偏差趨勢越接近于0,表明模型適應變化的能力越好。
(6)噪聲。噪聲定義為
(7)
其中,mi為Ti的預測中值。n的數(shù)值越小,表示模型的預測行為擁有更小的噪聲及更好的平滑度。
為了比較幾種模型對同一組數(shù)據(jù)的預測結果,本文采用一個簡單的評估算法給出所有模型的每個評價指標的排名,然后通過取相同權重值的方式將它們累加起來。模型排名累加值越小,表明其越適合用于對所選取的失效數(shù)據(jù)的預測。
2建模方法
2.1加權組合模型
本文采用的加權組合的方式有三種,分別為算術加權、幾何加權、調和加權[5]。
假設有n個基模型,并且每個基模型都充分滿足其主要假設條件,可以獨立產生統(tǒng)計估計。因此,加權組合模型趨向于繼承基模型的特性。
(1)算術加權(WA)定義為
(8)
(2)幾何加權(WG)定義為
(9)
(10)
為了驗證加權組合模型的性能,實驗使用兩個經(jīng)典基模型和三個組合模型進行對比,將一組已公開發(fā)表的失效數(shù)據(jù)[5]作為實驗對象,如表1所示?;P偷膮?shù)采用最大似然估計方法來確定,并且計算均方差作為評價模型性能的指標。
表1 相同權重組合模型
實驗結果表明,每個基模型在這組失效數(shù)據(jù)上的預測能力有所不同。比如,GO模型在整個測試時間內普遍低估了錯誤數(shù);而Duane模型在測試的開始階段一直高估錯誤數(shù),在測試的后半階段低估錯誤數(shù);WA模型可減緩低估和高估的不平衡表現(xiàn),廣泛應用于一系列模型的線性組合;WG和WH模型往往加重了加權值的影響,所以它們一般可以作為模型間非線性組合的一種替代手段。從對這組數(shù)據(jù)的估計結果看,由于GO模型和Duane模型估計的不平衡,所以三個加權組合模型的均方差呈現(xiàn)了比基模型更好的結果。GO模型估計的均方差為44.42,Duane模型估計的均方差為39.84,而三個加權組合模型估計的均方差分別為23.16、25.33、27.91,預測效果要明顯優(yōu)于基模型預測效果。
2.2改進型遺傳算法
加權模型中的權重取相等的值顯然并不能達到組合模型最優(yōu)的結果,于是,如何尋找組合模型最合適的權重值成為一個尋求最優(yōu)解的問題。遺傳算法是計算數(shù)學中用于解決最佳化的搜索算法[7]。本文將針對組合模型中權重值的特點進行一些針對性的改進,以期提高算法的運算效率,縮短運算時間。
算法流程如圖1所示,主要分為染色體初始化、個體適應度計算及排序、個體選擇、染色體交叉以及染色體變異。
圖1 遺傳算法流程圖
(2)計算個體適應度。每個染色體的適應度是由適應度函數(shù)來計算的,它反映了染色體接近最優(yōu)值的程度。基于均方差的適應度函數(shù)和基于對數(shù)最大似然的適應度函數(shù)如下所示:
(11)
現(xiàn)階段,在鄉(xiāng)鎮(zhèn)中財政管理與會計核算分屬于兩個部門,但是在功能的角度上來看,這兩個部門之間的聯(lián)系非常密切的,既是相互監(jiān)督也相互協(xié)調的關系。只有實現(xiàn)二者之間的相互協(xié)調相互監(jiān)督才能實現(xiàn)鄉(xiāng)鎮(zhèn)財政工作的有序開展。但是,在一部分鄉(xiāng)鎮(zhèn)當中,相關管理部門對于兩項工作進行了混淆,甚至出現(xiàn)了一個部門兼顧兩個部門工作的情況,如果財政部門獨攬本職工作與會計核算工作,就會出現(xiàn)職權劃分的問題,增加了管理工作的難度,也會使得監(jiān)管部門無法有效實施監(jiān)管工作。
(3)個體選擇。個體選擇的方式眾多,本文采用比例選擇方式。抽樣方式采用輪盤賭方法抽樣。其主要方法與傳統(tǒng)遺傳算法基本一致。
(4)染色體交叉。本文采用有性交叉,即兩個父體產生兩個子代。父體由之前的輪盤賭選擇產生。由于父代的選擇具有一定的隨機性,因此可能會出現(xiàn)被選擇交叉的兩個父體是同一個染色體,那么無論如何進行交叉操作,其子代都將會是父代的復制,這無疑使算法進行了一次無意義的計算。所以,在個體選擇的時候會采取一定的措施來避免這種情況的出現(xiàn)。
由于交叉操作后將產生新的染色體,而新染色體同樣要滿足之前提到的權重值的條件。為了避免由于新染色體不滿足預設條件而使算法產生空運算,在交叉時除了傳統(tǒng)遺傳算法設定的交叉概率外,本文還設置了一個輔助概率值,目的是使染色體的二進制串高位被交叉的概率低于低位被交叉的概率。這樣的方法可以提高新染色體滿足預設條件的概率,也可減少新群體的多樣性,使算法收斂更快。
(5)染色體變異。變異主要是為了對當前的個體引入新的基因,增加群體的多樣性,避免算法過早地收斂于局部最優(yōu)解。同樣,由于變異后的染色體不一定滿足之前的預設條件,故可以通過設置輔助概率值來提高新染色體滿足預設條件的概率。
表2所示的是分別采用傳統(tǒng)遺傳算法和改進型遺傳算法在對同一組失效數(shù)據(jù)進行尋優(yōu)的對比實驗。表2中,w1、w2、w3、w4分別表示GO模型、Musa模型、Duane模型和MO模型的權重值。實驗選擇群體大小為100,最大迭代次數(shù)為5000,算法選擇輪盤賭方法,交叉算法選擇均勻交叉,交叉率為0.6,變異率為0.05。
表2實驗結果表明,改進型遺傳算法在計算時間上明顯縮短了。
表2 傳統(tǒng)遺傳算法與改進型遺傳算法計算時間比較
3仿真分析與性能評價
3.1數(shù)據(jù)選擇與趨勢分析
為了驗證加權組合模型的預測能力,根據(jù)最終需要建模的對象----移動手持數(shù)控系統(tǒng)單元的特點,本文選取了四組已公開發(fā)表的真實的失效數(shù)據(jù)。這四組數(shù)據(jù)分別來自于實時命令與控制系統(tǒng)、無線網(wǎng)絡系統(tǒng)以及監(jiān)控與實時系統(tǒng)。
如果對失效數(shù)據(jù)不加分析地盲目套用模型,很有可能得到無意義的評估結果。因此,在使用失效數(shù)據(jù)對系統(tǒng)軟件進行可靠性估計前,如果能對失效數(shù)據(jù)集進行有效的趨勢分析,就可以選取更加合適的可靠性模型,避免模型選擇的盲目性[8]。
拉普拉斯法是用分析法檢驗失效數(shù)據(jù)趨勢的一種最常用和最重要的方法。當收集的數(shù)據(jù)是累積失效數(shù)時,設N(k)為第k個時間單位(含)前的累積失效數(shù),其拉普拉斯因子的計算式為
(12)
根據(jù)拉普拉斯方法計算出失效數(shù)據(jù)在每一點上的拉普拉斯因子u,如圖2所示。
圖2 四組失效數(shù)據(jù)的拉普拉斯因子
3.2加權組合模型性能評價
將3.1節(jié)中所選取的四組失效數(shù)據(jù)作為實驗對象,用GO模型、Musa基本執(zhí)行時間模型、Duane模型以及MO模型對其進行估計。然后通過算術加權、幾何加權以及調和加權三種方式組合模型,采用改進型遺傳算法確定每個基模型的權重值。最后通過模型評價指標均方差、χ2值、準確度、偏差、偏差趨勢以及噪聲來對每個參與比較的模型進行排序,結果如表3~表6所示。
表3 模型評價(DS1)
表4 模型評價(DS2)
表5 模型評價(DS3)
表6 模型評價(DS4)
通過對比實驗可以看出,基模型可能對某組失效數(shù)據(jù)具有很好的預測效果,但是對其他組卻不能達到同樣的效果。例如,GO模型在以DS2為對象的實驗中各項評價指標綜合排名第一,甚至略優(yōu)于本文提出的加權組合模型,但是其在以DS3為對象的實驗中綜合評價位列倒數(shù)第一。也就是說,基模型的適應性比較差。綜合觀察三個加權組合模型,它們對各組數(shù)據(jù)的預測效果基本都排名前列。對比各基模型,加權組合模型的適應性要高出很多。實驗結果證明了這種建模方法是可行的,尤其對此前未有建模經(jīng)驗的系統(tǒng)或失效數(shù)據(jù)趨勢變化較大的系統(tǒng)是非常有效的。
4實驗
本文研究數(shù)控系統(tǒng)軟件可靠性加權組合模型的目的是對一套手持數(shù)控系統(tǒng)的軟件可靠性進行預測。該手持數(shù)控系統(tǒng)由合肥工業(yè)大學CIMS研究所自主研發(fā)設計,既是一個實時監(jiān)控系統(tǒng),也是一個無線網(wǎng)絡系統(tǒng),同時也具有數(shù)控系統(tǒng)上層的部分功能。該系統(tǒng)由手持設備端和數(shù)控系統(tǒng)端兩部分組成。手持設備端采用通用的智能移動設備(如智能手機、平板電腦等)作為終端,利用Wi-Fi無線通信技術可以實時地遠程訪問與操作現(xiàn)場數(shù)控設備。手持數(shù)控系統(tǒng)如圖3所示。
表7所示的是手持數(shù)控系統(tǒng)在開發(fā)與測試階段所記錄的失效數(shù)據(jù),并利用加權組合模型對數(shù)據(jù)進行了估計。
圖3 手持數(shù)控系統(tǒng)
表7 手持數(shù)控系統(tǒng)軟件可靠性估計
模型的預測結果表明,該手持數(shù)控系統(tǒng)中共存在159個錯誤(估計值),在20個觀測期的檢測與修改后還存在11個錯誤(估計值),在第21個觀測期內檢測出的錯誤期望數(shù)為1.39。這些數(shù)據(jù)對研發(fā)人員修改手持數(shù)控系統(tǒng)軟件中的錯誤具有非常重要的意義。
5結語
本文為了解決傳統(tǒng)單個模型適用范圍非常有限的問題,按照加權組合方式的不同提出了三個加權組合模型(WA、WG、WH),以便對數(shù)控系統(tǒng)軟件可靠性進行估計與預測。為了驗證模型的性能,本文采用四組已公開發(fā)表的失效數(shù)據(jù)作為實驗對象,對傳統(tǒng)單個模型與三個加權組合模型進行了全面的比較。實驗結果表明,加權組合模型比單個模型擁有更高的適應度,適用于各種趨勢的失效數(shù)據(jù)。
在尋求最優(yōu)組合權重值時,本文對遺傳算法進行了改進,降低了產生不適合初始假設條件的個體的概率。實驗結果表明,改進型遺傳算法可以提高15%~25%的運算速度。
最后,利用已得到驗證的模型對自主研發(fā)的手持數(shù)控系統(tǒng)進行軟件可靠性估計和預測,得出的數(shù)據(jù)對研發(fā)人員修正系統(tǒng)軟件中的錯誤具有非常重要的意義,同時也驗證了基于加權組合模型的數(shù)控系統(tǒng)軟件可靠性估計方法的可行性和有效性。
參考文獻:
[1]MusaJD,IanninoA,OkumotoK.SoftwareReliability:Measurement,Prediction,Application[M].NewYork:McGraw-HillBookCompany,1987.
[2]SuYushen,HuangChinyu.Neural-network-basedApproachesforSoftwareReliabilityEstimationUsingDynamicWeightedCombinationalModels[J].TheJournalofSystemsandSoftware,2007,80(4):606-615.
[3]HuangChinyu,LinChuti.AnalysisofSoftwareReliabilityModelingConsideringTestingCompressionFactorandFailure-to-FaultRelationship[J].IEEETransactionsonComputers,2010,59(2):283-288.
[4]KibriaBMG,NadarajahS.ReliabilityModeling:LinearCombinationandRatioofExponentialandRayleigh[J].IEEETransactionsonReliability,2007,56(1):102-105.
[5]HsuChaojung,HuangChinyu.OptimalWeightedCombinationalModelsforSoftwareReliabilityEstimationandAnalysis[J].IEEETransactionsonReliability,2014,63(3):731-749.
[6]LyuRM,NikoraA.AHeuristicApproachforSoftwareReliabilityPrediction:theEqually-weightedLinearCombinationModel[C]//InternationalSymposiumonSoftwareReliabilityEngineering.Austin,1991:172-181.
[7]郭平. 軟件可靠性工程中的計算智能方法[M]. 北京:科學出版社,2012.
[8]陸民燕. 軟件可靠性工程[M]. 北京:國防工業(yè)出版社,2011.
(編輯王艷麗)
CNCSystemSoftwareReliabilityEstimationBasedonWeightedCombinationalModels
WangLichaoHanJiangZhangKuibangXiaLian
HefeiUniversityofTechnology,Hefei,230009
Abstract:According to the problems of weak adaptability of single model, a method for CNC system software reliability estimation by using weighted combinational models was proposed. Firstly, three weighted combinational models, namely weighted arithmetic, weighted geometric, and weighted harmonic combinations, were proposed according to the characteristics of CNC system software. Secondly, the improved genetic algorithm was adopted to solve optimal weights for model combinations. Lastly, CNC system software failure data was taken into the models to estimate the faults of system, and then the estimation of CNC system software reliability was completed. Experiments were performed based on four sets of software failure data, and numerical results show that the weighted combinational model has a greater adaptability than that of single models. Then, the proposed models were applied to a self-developed handheld CNC system, and results verifies the feasibility and validity of the proposed method.
Key words:CNC system;software reliability;weighted combination;genetic algorithm
收稿日期:2015-09-01
基金項目:國家自然科學基金資助項目(51575154)
中圖分類號:TP27; TP391
DOI:10.3969/j.issn.1004-132X.2016.04.003
作者簡介:王力超,男,1986年生。合肥工業(yè)大學機械與汽車工程學院博士研究生。主要研究方向為數(shù)控系統(tǒng)軟件可靠性、數(shù)控裝備網(wǎng)絡化等。韓江,男,1963年生。合肥工業(yè)大學機械與汽車工程學院教授、博士研究生導師。張魁榜,男,1987年生。合肥工業(yè)大學機械與汽車工程學院講師、博士。夏鏈(通信作者),女,1964年生。合肥工業(yè)大學機械與汽車工程學院教授、博士。