日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 模擬 > 可靠性雜壇
[導讀]本篇介紹幾個主要的軟件可靠性指標及其云模型表示,并在不同的論域上基于云模型定義軟件可靠性的概念劃分,最后提出基于云對傳統(tǒng)軟件可靠性模型進行改進的方法。 一、軟件可靠性指標的云表示 1.可靠度 傳統(tǒng)軟件可靠度是指軟件在規(guī)定的條件下、規(guī)定的時間段內


本篇介紹幾個主要的軟件可靠性指標及其云模型表示,并在不同的論域上基于云模型定義軟件可靠性的概念劃分,最后提出基于云對傳統(tǒng)軟件可靠性模型進行改進的方法。

一、軟件可靠性指標的云表示

1.可靠度

傳統(tǒng)軟件可靠度是指軟件在規(guī)定的條件下、規(guī)定的時間段內完成預定的功能的概率,或者說是軟件在規(guī)定時間內無失效發(fā)生的概率。設隨機變數T表示從軟件運行時間(t=0)開始到系統(tǒng)失效所經歷的時間,則在時刻t的軟件可靠度

R(t)=P{T>t},

不可靠度或稱為失效分布函數

F(t)=1-R(t)。

對要求在規(guī)定時間內能無失效工作比較高的系統(tǒng),可選可靠度作為軟件可靠性參數,如工業(yè)過程控制系統(tǒng)軟件。

語言原子值的云的數字特征為(Ex,En,He);當云的熵和超熵均為0,即其數字特征為(Ex,0,0),則云就是某個精確數值Ex;當云的超熵為0,即其數字特征為(Ex,En,0),則云可以看成是模糊集理論意義下的模糊數。可見,定性語言原子值的云表示具有普遍意義,精確數值和模糊數均可理解為云表示的特例。

下面,對應于軟件可靠度和軟件不可靠度,我們給出基于云模型的定義方式。

軟件在規(guī)定的條件下和規(guī)定的時間內,完成規(guī)定功能的可能程度稱為云可靠度,用定義于軟件可靠度域[0,1]的虛擬云?R^~表示。

軟件在規(guī)定的條件下和規(guī)定的時間內,不能完成規(guī)定功能的可能程度稱為云不可靠度,用定義于軟件不可靠度域[0,1]的虛擬云?F^~表示。

2.失效率和失效強度

如果F(t)是可微的,則還可獲得軟件在t時刻的失效概率,即失效密度函數


軟件失效率(Failure Rate),又稱之為風險函數(Hazard Function),表示軟件在時刻t沒有發(fā)生失效的條件下,單位時間內(即在(t,t+Δt)區(qū)間內,當Δt很小時)發(fā)生失效的概率,即



假設軟件在t時刻發(fā)生的失效數為N(t),顯然N(t)是一個隨機數,且隨時間t的變化而不同,即{N(t),t>0}為一隨機過程。設H(t)為隨機變量N(t)的均值,即有

H(t)=E[N(t)],

h(t)=H′(t)

為t時刻的失效強度(Failure Intensity)。

從定義可以看出,失效率和失效強度是兩個不同的概念,失效率的定義和硬件可靠性中瞬時失效率的定義是完全一致的,是基于壽命的觀點給出的,它是一個條件概率密度。而失效強度則是基于隨機過程定義的,是失效數均值的變化率。

可以證明,如果在穩(wěn)定使用軟件,且不對軟件作任何修改的條件下,軟件的失效強度應為一常數值。事實上,在這種情況下,{N(t),t>0}為一齊次泊松過程(HPP過程),或者稱失效時間服從參數為λ的指數分布,任一時間點上的失效率都為λ。

如果在測試或使用中,對發(fā)生的錯誤采取糾正措施,且不引入新的錯誤,那么隨著測試和錯誤糾正的交替進行,失效率/失效強度應呈現下降趨勢,相應地,可靠性應呈現增長趨勢。如果隨著測試和錯誤糾正的不斷進行,失效率/失效強度呈現增長趨勢,則說明軟件測試和錯誤糾正可能存在著以下問題:例如由于錯誤糾正引入了更多的錯誤,從而導致更頻繁的失效;非均勻測試等。

如果僅就一個軟件給出軟件可靠性要求,選擇失效率或失效強度作為可靠性參數都是可以的,但是由于增長模型常常直接給出失效強度的變化規(guī)律,因此選用失效強度作為參數可能更直接一些,而選用失效率則還要進行轉換。目前,美國的AT&T公司在軟件開發(fā)中就使用失效強度作為參數加以控制。

在確定可靠性要求時,如果軟件可靠性是系統(tǒng)可靠性要求的一部分,則選擇失效率參數比較合適,因為它不僅和硬件的概念是一致的,而且也是硬件中常用的可靠性參數,這樣便于理解和進行系統(tǒng)綜合。當然,在可靠性增長預計過程中,由于我們常常得到的是失效強度的變化規(guī)律,因此如果給出的是失效率指標要求的話,則應把失效率指標要求轉換為失效強度指標要求,這種轉換隨模型的不同而不同。

失效率/失效強度適用于失效發(fā)生頻率較低的系統(tǒng),比如操作系統(tǒng)、民用電話交換系統(tǒng)等。

據文獻,高可靠性軟件的失效率要求小于10^-7/h,一般可靠性軟件的失效率介于10^-7/h到10^-3/h之間,低可靠性軟件的失效率則大于10^-3/h。

為反映軟件失效的不確定性,可分別用虛擬云?λ(t)^~,h(t)^~表示軟件失效率、失效強度。

3 .平均失效前時間和平均失效間隔時間

軟件的平均失效前時間MTTF(Mean Time To Failure)指軟件在失效前正常工作的平均統(tǒng)計時間。MTTF和軟件可靠度存在函數關系


軟件的平均失效間隔時間MTBF(Mean Time Between Failures)指軟件在相繼兩次失效之間正常工作的平均統(tǒng)計時間。在失效率為常數λ的情況下,可得MTBF=1/λ。

MTTF和MTBF的主要差異在于研究的時間對象是TTF還是TBF。TTF是指從當前時間開始運行軟件到出現下次失效的時間,而TBF是指上次失效到下一次失效的時間間隔,該時間間隔嚴格的說,除了包括重新啟動系統(tǒng)直到下一次發(fā)生失效的時間外,還應包括重新啟動系統(tǒng)之前的諸如失效處理等工作時間。但這一部分時間在整個程序運行時間中一般占相當小的比例,如果不考慮這一部分工作時間的話,TTF和TBF是完全一致的。事實上,目前MTBF和MTTF的使用都比較多,并未加以特別的區(qū)分。對于失效率為常數和系統(tǒng)恢復正常時間很短的情況下,MTBF與MTTF幾乎是相等的。

對于系統(tǒng)云平均失效前時間,用定義于軟件MTTF域[0,+∞)的虛擬云?MTTF~表示。對于云平均失效間隔時間,用定義于軟件MTBF域[0, +∞)的虛擬云?MTBF~表示。

4.軟件可靠性指標的概念劃分

一般地,自然語言中可用“很低”、“低”、“一般”、“高”、“很高”等五個語言值來表示軟件在規(guī)定的條件下和規(guī)定的時間段內完成預定的功能的可能性的大小,或者說作為軟件可靠性這個語言變量的取值范圍。我們稱包含這五個語言值的集合構成一個軟件可靠性評價概念集,記為Re1。根據具體問題的要求還可約定更細的語言值集合作為系統(tǒng)可靠性評價集,記為Re2,即“極低”、“非常低”、“很低”、“低”、“較低”、“一般”、“較高”、“高”、“很高”、“非常高”、“極高”等十一個語言值;當然還可以更粗,記為Re3,即“低”、“一般”、“高”等三個語言值。這三個概念集Re2,Re1,Re3對應不同的抽象層次,其概念粒度是依次增加的。

顯然,這些詞之間不存在明確的界線,往往存在含混的“重疊區(qū)”。因此,從定量的角度,我們也需要考慮對軟件可靠性水平實現類似自然語言的軟性劃分。由于云模型是一種可以有效實現語言值表示的定性概念與其定量表示之間不確定性轉換的模型。我們嘗試應用云模型,賦予不同的軟件可靠度(或其他軟件可靠性指標)以隨機的確定度,來統(tǒng)一刻畫軟件可靠性評價的不同語言值中的隨機性、模糊性及其關聯性。通常采用云變換方法根據軟件可靠性的不同指標域中數據值的分布情況,自動生成一系列由云模型表示的基本概念,實現對論域的軟劃分。

以軟件可靠度為論域,軟件可靠性評價的概念集Re1和Re2可分別用圖1中的兩個云滴圖來直觀表示。從圖中可見,不同概念之間有著明顯的區(qū)別,但又不存在明確的界線來嚴格劃分。同一層次中各個概念之間的區(qū)分不是硬性的,允許一定的交疊,相同的屬性值可能分屬不同的概念,不同屬性值對概念的貢獻程度也不同。特別在其中的一些交界處,比如Re2,當軟件可靠度為0.86時,也許某個專家會判斷軟件的可靠性“非常高”了,但也有人會認為只是“很高”而已,云滴確定度的隨機性恰好能夠反映這種現象。在重疊區(qū)中同一個屬性值在不同的情況下可能會分配給不同的云,這與人類認知過程中的分類情況顯然是吻合的。若用模糊數學中的隸屬函數(如正態(tài)分布曲線,三角形或梯形分布曲線)來表示這些模糊概念,如圖2所示。根據最大隸屬度原則總會給出唯一的判定——軟件可靠性“非常高”,從這點而言,模糊數學徹底地走向了精確數學,不再有絲毫模糊可言。


圖1軟件可靠性評價概念集的云圖表示



圖2 軟件可靠性評價概念集的模糊數學表示

若我們得到了軟件可靠度(或其他軟件可靠性指標)的虛擬云表示,給定置信水平1-α后,可使用Y條件云發(fā)生器計算系統(tǒng)可靠度的下限值。為獲得該系統(tǒng)的定性評價,以虛擬云的期望為輸入值,使用X條件云發(fā)生器計算對應概念評價集中不同語言值的確定度,最后根據隸屬概念的極大判定法選擇最合適的語言值。

二、傳統(tǒng)軟件可靠性模型的局限性及其改進

1.傳統(tǒng)軟件可靠性模型

軟件可靠性工程中的重要研究內容就是軟件可靠性建模,其目的是根據與軟件可靠性有關的數據,以統(tǒng)計方法給出軟件可靠性的估計值或預測值。軟件可靠性模型是軟件可靠性定量分析技術的基礎。以軟件可靠性模型為支撐的軟件可靠性定量分析技術,在軟件開發(fā)過程中具有重要的作用。

對于軟件可靠性研究中所使用的可靠性模型,根據模型的建模對象與時間的關系可分為兩大類型:一類是可靠性預計模型,另一類是可靠性結構模型。

軟件可靠性預計模型即黑盒模型,此類模型將與運行時間有關的信息或數據作為主要的研究對象,本質上屬于描述軟件失效數與測試執(zhí)行時間之間關系的模型。若錯誤能完全排除,且不引入新的錯誤,則該類模型亦稱為軟件可靠性增長模型(Software Reliability Growth Model,簡稱為SRGM)[83]。借助這類模型,可以對軟件的可靠性特征作出定量的預計(Prediction)或估計(Estimation)。例如,可以預計或估計軟件在預定工作時間的可靠度,預計軟件在任意時刻發(fā)生失效的平均值、軟件在規(guī)定的時間間隔內發(fā)生失效次數的平均值、軟件在任意時刻的失效率、軟件失效時間間隔的概率分布和軟件預期的交付時間等。估計和預計是兩個有區(qū)別又有聯系的概念。估計是指對軟件現有的可靠性水平作出評價。預計是對軟件未來的可靠性特征進行預測。預測未來的前提是認識現狀,所以二者難以截然分開。軟件可靠性估計和軟件可靠性預計總稱為軟件可靠性評估(Evaluation)。必須指出,在使用數學模型進行預測時,蘊涵的假定是,事物發(fā)展規(guī)律在未來的一段時間內保持不變。對于短期預測,這個假設是合理的。但是,隨著預測期的延長,其近似性減弱。用可靠性模型進行預計時,為了得到較準確的結果,如果發(fā)現軟件的失效規(guī)律有明顯改變,必須對參數加以修正或重新收集失效數據,重新確定模型參數。

對于已經交付使用的程序,用戶一般不具有獨立排錯能力,只能將失效數據情況通知承制方,經過承制方分析、更正后,統(tǒng)一發(fā)出改錯通知或程序的修改版本。程序在正式更改之前可認為模型參數保持不變。對于處于測試階段的程序,程序錯誤不斷排除。模型參數應及時調整,這時失效率函數是不連續(xù)的階梯形線段。

軟件可靠性結構模型即白盒模型,此類模型不考慮與運行時間直接相關的信息或數據,而根據軟件自身特點和各組成部分的不同可靠性通過判斷系統(tǒng)結構邏輯關系來對系統(tǒng)整體可靠性作出評估。軟件可靠性結構模型是軟件系統(tǒng)可靠性分析的重要工具,既可以用于軟件系統(tǒng)的可靠性綜合,也可用于軟件系統(tǒng)的可靠性分解。

2.傳統(tǒng)軟件可靠性模型的局限性分析

目前許多可供實際使用的軟件可靠性模型,其共同特點就是每一個模型的理論基礎都建立在不同的統(tǒng)計假設之上。這些假設是軟件可靠性模型建立的主要依據,也是全部軟件可靠性分析和評估的理論基礎和先決條件。由此可見,模型的成功與否,與模型的基本假設有著很大的關系。模型假設的局限性太多,勢必影響到它們的應用范圍。目前,對于軟件可靠性模型的諸多疑慮,也多半來自于此。從具體工程實踐的角度而言,軟件可靠性模型越簡單越好,模型假設越接近現實越好,但不幸的是,這二者之間的矛盾很難平衡。

通過對數種軟件可靠性模型假設進行分析研究,其中的假設主要包括下幾個方面的內容:

(1)關于軟件中初始錯誤數N0的描述;

(2)關于軟件中失效率λ(t)的描述;

(3)關于軟件失效間隔時間的描述;

(4)關于軟件剩余錯誤數的描述;

(5)關于軟件排錯方面的描述;

(6)關于軟件測試方面的描述。

傳統(tǒng)軟件可靠性模型的假設往往與軟件開發(fā)實際不相符合,有的模型總是假定失效過程一定服從某一個經典概率分布,比如說二項分布或泊松分布,但是失效過程到底是否服從某一經典分布是不能肯定的。另外有的模型總是假定失效強度曲線按某一預定規(guī)律變化,比如G-O模型認為失效強度是按指數衰減的,J-M模型則認為失效強度是幾何衰減的。這樣,模型當然就不可能有很高的精度,只能碰運氣。當某一工程項目的失效強度碰巧是指數型的或是幾何衰減型的時候,它們的精度顯得很好,一旦換一個工程項目,當它的失效強度不按這些規(guī)律變化時,這些模型的精度就很糟糕。

下面通過兩條實例來討論模型假設的局限性。

假設1:軟件排錯不引入新的錯誤。即認為軟件修改總是完美的,這與軟件開發(fā)實際不相符合。許多現存模型(特別是那些早期的軟件可靠性模型),考慮到排錯引入新的錯誤會使問題復雜化,于是假設排錯不引入新的錯誤。這樣做的結果雖然使理論上的處理簡單明了,但與實際情況相距太遠。軟件的開發(fā)靠人完成,且排錯問題由人工完成,人類行為的不可預測性無論在開發(fā)還是排錯一個軟件,同樣要表現出來。事實上,由于排錯時的某些處置失當,往往會產生許多副作用,引入一些始料不及的新錯誤。這些新的錯誤的發(fā)生率有可能比先前更正過的那些錯誤要高,因此系統(tǒng)的可靠性可能變得更壞而不是更好。這也正好解釋了我們觀察記錄軟件中出現的錯誤時,錯誤數為什么經常會大幅度地振蕩。引入新的錯誤,另一方面的原因還在于軟件產品各模塊(指結構化的軟件產品而言)間的邏輯關系錯綜復雜、互為因果,故而使得局部的某些改動甚至可能產生牽涉全局性的許多問題。

假設2:軟件的失效率為常數。此假設與軟件開發(fā)實際也不太相符合,局限性很大,根據實際的觀察,不同錯誤的發(fā)生率因人而異,變化也很大。那些將所有錯誤處理成具有相同出現率的模型是十分不現實的。理論證明也表明,這樣做的結果,必然會產生樂觀的估計偏差。另一方面,對具體錯誤不加區(qū)分,我們實際觀察到的結果,也顯示出失效率不可能為常數。一般而言,在系統(tǒng)測試的初期,錯誤是多發(fā)性的,而且可能有大幅度地振蕩。究其原因,在于測試初期,軟件產品未經過充分排錯,而在系統(tǒng)測試的后期,軟件產品經過了較充分的排錯以后,失效率自然也就隨之下降了。

3.傳統(tǒng)軟件可靠性模型的改進思路

傳統(tǒng)軟件可靠性模型往往都是根據失效數據給出參數或某個可靠性指標(為敘述方便,不妨都記為θ)的一個估計數值,而不同的樣本給出的點估計值是不同的,即使是同一樣本,不同的點估計統(tǒng)計量計算的估計值也不同。區(qū)間估計方法考慮了點估計的隨機性,給出的置信區(qū)間[θL,θU]是在一定置信水平1-α要求下的區(qū)間,區(qū)間的上限θU、下限θL分別稱為置信上限和置信下限,公式表達即

P{θL≤θ≤θU}=1-α,

上式表明該置信區(qū)間包含θ真值的概率為1-α,其中:α是事先選定的,我們常取0.1,0.05,0.01等作為α的值。置信區(qū)間能被表示為雙側或者單側置信區(qū)間。用雙側界限值表示在一定的置信度下這個區(qū)間的大小。用單側界限值表示在一定的置信度下的置信上限或置信下限。根據應用情況,來選擇單側或者雙側區(qū)間。例如,分析者在可靠度方面用單側置信下限,在失效率方面用單側置信上限估計,并且用雙側置信區(qū)間來估計分布參數。

相應地,在模糊數學中,可用模糊區(qū)間數[θL,θU]/(1-α)、模糊中心數((θL+θU)/2,(θU-θL)/2)/(1-α)或者三角形模糊數(θL,(θL+θU)/2,θU)等方法來表示θ可能的取值范圍。顯然,θ真值落在置信區(qū)間中的可能性是不同的,盡管三角形模糊數(或者正態(tài)模糊數)假定一個簡單精確的隸屬函數來描述θ取值的隸屬度,但不能反映隸屬度的隨機性,即不同人對不確定信息的認識存在的差異性。

為了反映可靠性評估模型中θ的隨機性和模糊性,我們可以用定義于相應論域上的云C(Ex,En,He)來表示θ可能的取值范圍,其中:


一般地,若得到軟件可靠性指標的置信區(qū)間,則可直接通過上述公式計算得到相應軟件可靠性指標的虛擬云表示,進而可獲得軟件可靠性的定性評價。

下面具體分析下公式中He取值的物理意義。He是熵En的離散程度,即熵的熵,它反映了每個數值隸屬這個語言值程度的凝聚性,即云滴的凝聚程度。由于熵反映了在論域中語言值可被人們接受的范圍,而超熵He又是熵的熵,若He/En=α小,也就是說置信水平(1-α)高,由正向云發(fā)生器可知,隨機熵En(的變化就小,表明人們對定性概念的每一個量值隸屬于此定性概念的程度在認識上是比較一致的;相反,若He/En=α大,也就是說置信水平(1-α)低,隨機熵En(的變化就劇烈,表明人們對定性概念的每一個量值隸屬于此概念的程度在認識上有比較大的分歧,由此反映出人們對此定性概念在論域中被接受的范圍有多大在認識上是不一樣的。




長按二維碼識別關注我們


免責聲明:本文內容由21ic獲得授權后發(fā)布,版權歸原作者所有,本平臺僅提供信息存儲服務。文章僅代表作者個人觀點,不代表本平臺立場,如有問題,請聯系我們,謝謝!

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯系該專欄作者,如若文章內容侵犯您的權益,請及時聯系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關閉