李長銀,孫學(xué)軍
(臨沂大學(xué)費縣校區(qū),山東 費縣 273400)
計算機隨著信息技術(shù)的發(fā)展被廣泛的應(yīng)用在不同行業(yè)中,控制計算機操作的控制軟件系統(tǒng)的復(fù)雜度越來越高、規(guī)模越來越大,軟件錯誤發(fā)生率也隨之增加[1]。通過對嵌入式控制軟件的可靠性進行分析,可以降低軟件故障損失造成的影響。在軟件可靠性工程中可靠性評估是核心內(nèi)容,利用軟件系統(tǒng)的相關(guān)信息對系統(tǒng)可靠性是否符合要求進行判斷。判斷軟件設(shè)計是否滿足要求,需要考慮控制軟件可靠性是否滿足規(guī)定指標(biāo)的同時還要考慮控制軟件是否滿足功能需求??煽啃苑治鍪沁\用概率論知識、人工智能和計算機技術(shù)等進行處理并分析嵌入式控制軟件可靠性的過程[2]。由于應(yīng)用環(huán)境和嵌入式控制軟件本身的復(fù)雜性,收集高質(zhì)量的相關(guān)信息是較為困難的,因此需要對嵌入式控制軟件的可靠性分析方法進行研究。
文獻[3]提出基于貝葉斯混合概率分布融合的軟件可靠性分析方法,該方法引入融合先驗分布、間接先驗分布和直接先驗分布對經(jīng)典貝葉斯推理算法進行優(yōu)化,利用優(yōu)化后的算法根據(jù)底層單元的數(shù)據(jù)對嵌入式控制軟件的可靠性進行分析,該方法沒有分析可靠性度量參數(shù),導(dǎo)致分析錯誤率高。文獻[4]等人提出基于概率盒理論的軟件可靠性分析方法,該方法對控制軟件的不確定參數(shù)進行概率盒建模,離散化處理各參數(shù)概率盒,在軟件可靠性方程的基礎(chǔ)上對笛卡爾積進行計算,根據(jù)計算結(jié)果,實現(xiàn)軟件可靠性的分析,該方法沒有選取度量參數(shù)對軟件的可靠性進行評估,選取的概率盒建模所用的時間較長,存在分析效率低的問題。文獻[5]提出基于影響因素與灰聚類的軟件可靠性分析方法,該方法在灰聚類系統(tǒng)理論的基礎(chǔ)上對軟件可靠性影響因素進行灰聚類計算和灰關(guān)聯(lián)分析,在不同階段中對軟件可靠性進行分析,該方法在灰聚類和灰關(guān)聯(lián)過程中沒有引入可靠性度量參數(shù),導(dǎo)致效益因子較低,存在適應(yīng)性差的問題。
為了解決上述方法中存在的問題,提出基于構(gòu)件技術(shù)的嵌入式控制軟件可靠性分析方法。
對嵌入式控制軟件的可靠性程度進行定量評價是軟件可靠性度量的實質(zhì)。
對嵌入式控制軟件可靠性程度進行分析時軟件可靠性度量是依據(jù),通常情況下衡量嵌入式控制軟件可靠性的參數(shù)通常包含以下幾種:
1)可靠度R(t)
軟件可靠度R(t)描述的是在規(guī)定時間段內(nèi)、規(guī)定條件下完成預(yù)定功能的概率,可以描述為在規(guī)定時間內(nèi)軟件無失效發(fā)生的概率。嵌入式控制軟件可靠性的定義通常是軟件的可靠度,描述的是嵌入式控制軟件在運行過程中發(fā)生失效行為的概率[6],軟件可靠度可以描述為R(t)=P(T≤t)。
2)失效概率F(t)
嵌入式控制軟件時效時間等于或小于t的概率即為失效概率F(t),可靠度R(t)與失效概率F(t)之間存在的關(guān)系可通過下式進行描述:
F(t)=1-R(t)
(1)
3)失效強度f(t)
失效概率對應(yīng)的密度函數(shù)即為失效強度f(t),失效強度f(t)當(dāng)失效概率F(t)為可微分時為失效概率F(t)關(guān)于時間的一階導(dǎo)數(shù)。其表達式如下
(2)
4)失效率λ(t)
失效率描述的是在t時刻嵌入式控制軟件在t時刻還沒有出現(xiàn)失效的條件下,在t時刻后單位時間內(nèi)嵌入式控制軟件出現(xiàn)失效的概率,失效率λ(t)又稱為失效強度[7],描述的是失效概率F(t)對應(yīng)的條件概率密度,其表達式如下
(3)
通過下式描述可靠性與失效率之間存在的關(guān)系
(4)
5)平均失效時間MTTF
當(dāng)前時間到下一次嵌入式控制軟件失效時間的均值即為平均失效時間MTTF,其表達式如下
(5)
6)平均失效間隔時間MTBF
平均失效間隔時間MTBF描述的是兩次相鄰失效時間間隔對應(yīng)的均值[8],如果從T1時刻到T2時刻嵌入式控制軟件出現(xiàn)了n次失效,則平均失效間隔時間MTBF可通過下式計算得到
(6)
在基于構(gòu)件技術(shù)的嵌入式控制軟件的開發(fā)過程中,嵌入式控制軟件是由連接件和構(gòu)件構(gòu)成的??梢杂肕arkvo過程描述基于構(gòu)件技術(shù)的嵌入式控制軟件。所提方法在可靠性度量參數(shù)的基礎(chǔ)上通過估算整個嵌入式軟件中連接件和構(gòu)件的平均使用次數(shù),對嵌入式控制軟件的可靠性進行分析。
當(dāng)嵌入式控制軟件中存在n個構(gòu)件時,Rci代表的是構(gòu)件Ci對應(yīng)的可靠性,θi代表的是構(gòu)件在嵌入式控制軟件中使用的次數(shù),Rs代表的是嵌入式控制軟件對應(yīng)的可靠性,其計算公式如下
(7)
嵌入式控制軟件的可靠性Rs,當(dāng)考慮構(gòu)件和連接件的應(yīng)用域時,可通過下式計算得到
(8)
用元組
可以用Markov過程描述構(gòu)件組成的嵌入式控制軟件
設(shè)SFR=
(9)
式中,SFInitC描述的是初態(tài)構(gòu)件在嵌入式控制軟件中的使用頻率集;SFMC代表的是非初態(tài)構(gòu)件和非吸收態(tài)構(gòu)件在控制軟件中構(gòu)成的使用頻率集;SFAC代表的是吸收態(tài)構(gòu)件在控制軟件中構(gòu)成的使用頻率集;SFNAL代表的是與非吸收態(tài)構(gòu)件連接的連接件在控制軟件中對應(yīng)的使用頻率;SFAL代表的是與吸收態(tài)構(gòu)件連接的連接件在控制軟件中對應(yīng)的使用頻率[9-10]。
訪問初態(tài)構(gòu)件的概率Pi決定了初態(tài)構(gòu)件的使用頻率FInitCi=Pi。
勝利油田全稱為中國石油化工股份有限公司勝利油田分公司,其業(yè)務(wù)范圍主要在山東省境內(nèi),公司主體位于黃河三角洲的東營市。按地質(zhì)構(gòu)造劃定區(qū)域,山東省境內(nèi)可供石油開發(fā)的區(qū)域主要有濟陽、昌濰、膠萊、臨清、魯西南5個坳陷,目前勝利油田已取得探礦權(quán)的面積為4.89萬平方公里,占5個坳陷總面積的74.9%。濟陽坳陷和渤海淺海是勝利油田石油開發(fā)工作的主要地區(qū)。迄今為止,勝利油田的總探礦權(quán)面積達19.4萬平方公里,石油和天然氣儲量分別為145億噸、24 739億立方米,原油產(chǎn)量居全國第二位。明確勝利油田的內(nèi)外部情況,進而提出相應(yīng)的戰(zhàn)略措施,無疑對國家經(jīng)濟發(fā)展具有重要意義。
初態(tài)構(gòu)件的概率與初態(tài)訪問Ci的次數(shù)乘積之和即為處于非初態(tài)和非吸收態(tài)的構(gòu)件Ci對應(yīng)的使用頻率FMCi,其計算公式如下
(10)
(11)
(12)
(13)
式中,Q代表的是狀態(tài)轉(zhuǎn)移概率矩陣;I代表的是單位矩陣。
訪問初態(tài)構(gòu)件的概率與各初態(tài)構(gòu)件到達吸收態(tài)構(gòu)件的使用頻率之間的乘積之和即為處于吸收態(tài)構(gòu)件對應(yīng)的使用頻率[11]
(14)
設(shè)FNALi→j代表的是與非吸收態(tài)構(gòu)件連接的連接件Li→j在嵌入式控制軟件中的使用頻率,其計算公式如下
FNALi→j=FMCi×PTi→j
(15)
FALi→j=FMCi×PTi→j
(16)
通過上述分析,獲得嵌入式控制軟件的可靠性Rs
Rs=Ppow×FALi→j
(17)
式中,Ppow代表的是執(zhí)行使用域時構(gòu)件對應(yīng)的可靠性。
為了驗證所提方法的整體有效性,需要對所提方法進行測試,分別采用基于構(gòu)件技術(shù)的嵌入式控制軟件可靠性分析方法(方法1)、基于貝葉斯混合概率分布融合的軟件可靠性分析方法(方法2)和基于概率盒理論的軟件可靠性分析方法(方法3)進行測試,對比上述方法分析嵌入式控制軟件可靠性時的錯誤率,測試結(jié)果通過圖1進行反映。
圖1 分析錯誤率測試結(jié)果
分析圖1中的數(shù)據(jù)可知,在多次迭代中方法1獲得的分析錯誤率均低于5%;方法2在第2次迭代過程中獲得的分析錯誤率高達15%;方法3在第3次迭代中獲得的分析錯誤率高達20%,對比方法1、方法2和方法3的測試結(jié)果可知,方法1在分析嵌入式控制軟件的可靠性時的分析錯誤率最低,表明方法1可準(zhǔn)確的對嵌入式控制軟件的可靠性進行分析,因為該方法對嵌入式控制軟件可靠性的度量參數(shù)進行了分析,為嵌入式控制軟件可靠性分析提供了可靠依據(jù),提高了嵌入式控制軟件可靠性分析結(jié)果的準(zhǔn)確率,降低了分析錯誤率。
采用方法1、方法2和方法3分析嵌入式控制軟件的可靠性,測試上述方法分析軟件可靠性時所用的時間,測試結(jié)果可通過圖2進行描述。
圖2 分析效率測試結(jié)果
由圖2可知,采用方法1分析嵌入式控制軟件的可靠性時,在多次迭代中所用的分析時間均低于20min,采用方法2和方法3分析嵌入式控制軟件的可靠性時,在多次迭代中所用的分析時間均高于30min,對比不同方法的測試結(jié)果可知,方法1分析所用的時間少于方法2和方法3分析所用的時間,表明方法1的分析效率高,因為方法1根據(jù)軟件可靠性度量參數(shù),利用Markvo過程描述基于構(gòu)件技術(shù)的嵌入式控制軟件,實現(xiàn)嵌入式控制軟件的可靠性分析,縮短了分析時間,提高了方法1的分析效率。
設(shè)置效益因子γ,在區(qū)間[0,1]內(nèi)取值,效益因子越高表明方法1的適應(yīng)性越高,分別采用方法1、方法2和方法3進行測試,測試結(jié)果如圖3所示。
圖3 效益因子測試結(jié)果
對圖3中的數(shù)據(jù)進行分析可知,在多次迭代中方法1獲得的效益因子遠遠高于方法2和方法3獲得效益因子,效益因子越高表明方法的適應(yīng)性越好,因為方法1根據(jù)嵌入式控制軟件可靠性度量參數(shù)結(jié)合融合容錯技術(shù)和軟件敏感度分析方法對嵌入式控制軟件的可靠性進行分析,提高了方法的適應(yīng)性。
計算機系統(tǒng)隨著計算機技術(shù)的發(fā)展被廣泛的應(yīng)用在社會的各個領(lǐng)域中,計算機系統(tǒng)所占的比重越來越大,在日常生活和工作過程中計算機已經(jīng)成為不可缺少的一部分。計算機硬件和軟件的復(fù)雜性隨著復(fù)雜工作的增加越來越高,增大了計算機失效的概率。人們的生活和工作會因為計算機失效受到影響,嚴(yán)重威脅著人們的生命安全和財產(chǎn)安全。軟件產(chǎn)生的問題是造成計算機系統(tǒng)失效的主要因素,因此需要對軟件可靠性進行分析。目前軟件可靠性分析方法存在分析錯誤率高、分析效率低和適應(yīng)性差的問題。提出基于構(gòu)件技術(shù)的嵌入式控制軟件可靠性分析方法,在軟件可靠性度量參數(shù)的基礎(chǔ)上采用構(gòu)件技術(shù)分析嵌入式控制軟件的可靠性,解決了目前方法中存在的問題,為計算機的穩(wěn)定運行提供了保障。