閱讀660 返回首頁    go 汽車大全


係統的可靠性分析與設計

可靠性分析


SFTA(Software Fault  Tree Analysis) 軟件故障樹分析。

軟件故障樹分析(SFTA)是一種自頂向下的軟件可靠性分析方法,即從軟件係統不希望發生的事件(頂事件),特別是對人員和設備的安全及可靠性產生重大影響的事件開始,向下逐步追查導致頂事件發生的原因,直至基本事件(底事件),從而確定軟件故障原因的各種可能組合方式和(或)發生概率。 

割集:它是導致頂上事件發生的基本事件的集合。最小割集就是引起頂上事件發生必須的最低限度的割集。

布爾代數法求計算機軟件求取最小割集和最小徑集。

故障樹:


T=A1+A2
    =X1 X2 A3+X4 A4
     =X1 X2 (X1+X3)+ X4 (X5+X6)
     =X1 X2 A1+X1 X2 A3+ X4 X5+X4 X6
     =X1 X2+ X4 X5+X4 X6
    所以最小割集為{X1,X2},{X4,X5},{X4,X6}。結果得到三個交集的並集,這三個交集就是三個最小割集E1={X1,X2},E2={X4,X5},E3={X4,X6}。用最小割集表示故障樹的等效圖如圖:


Reference: https://www.safe001.com/anping/ap_zhishi/8_fenxi.htm


可靠性設計



  • 容錯設計技術:常用的軟件容錯技術主要有恢複快設計N版本程序設計冗餘設計
    1. 恢複快設計中包含有若幹功能相同、設計差異的程序塊,每一時刻有一個處於運行狀態,一旦某程序出現故障,則用備份程序塊予以替換。
    恢複塊法適合隻有一台計算機的情況;
    允許隻對較為複雜、容易出故障的程序段進行冗餘;
    基本塊與替換塊的設計應盡可能相異
    接收測試的作用非常重要,應能檢測程序執行結果與預期結果的偏離,或檢測和防止能觸發安全事故的輸出
    2. N版本設計的核心是通過設計出多個模塊或不同版本,對於相同初始條件和相同輸入的操作結果進行多數表決(防止因其中某一軟件模塊/版本的故障而提供了錯誤的服務,以實現軟件容錯)。
    3. 冗餘設計的思路來源於硬件係統,但有所不同。軟件冗餘設計技術是采用多種不同路徑,不同算法或不同實現方法的模塊或係統作為備份,在出現故障時進行替換,維持係統的正常運行。
  • 檢錯技術:在無須在線容錯或不能采用冗餘設計技術的部分,但又有較高可靠性需要時,一般采用檢測性設計,在軟件出現故障後能及時發現並報警,明顯的缺點是不能自動解決故障。
    被動式錯誤檢測
    在程序的若幹部位設置檢測點,等待錯誤征兆的出現  

    看門狗的設計:看門狗技術是控製運行時間的一種有效方法。看門狗實際上是一種計時裝置,當計時啟動後看門狗在累計時間,當累計時間到了規定值時觸發到時中斷(即狗叫)。

    主動式錯誤檢測
    對程序狀態主動進行檢查
  • 避錯設計(降低複雜度設計): 軟件的複雜性與軟件可靠性有密切關係,軟件複雜性是產生軟件缺陷的重要根源。降低複雜度設計的思想就是在保證實現軟件功能的基礎上,簡化軟件結構。

最後更新:2017-04-02 15:15:05

  上一篇:go 係統的安全性和保密性設計
  下一篇:go 黑客道德準則 不是所有的黑客都是罪犯