zoukankan      html  css  js  c++  java
  • 系统的可靠性分析与设计

    可靠性分析


    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: http://www.safe001.com/anping/ap_zhishi/8_fenxi.htm


    可靠性设计



    • 容错设计技术:常用的软件容错技术主要有恢复快设计N版本程序设计冗余设计
      1. 恢复快设计中包含有若干功能相同、设计差异的程序块,每一时刻有一个处于运行状态,一旦某程序出现故障,则用备份程序块予以替换。
      恢复块法适合只有一台计算机的情况;
      允许只对较为复杂、容易出故障的程序段进行冗余;
      基本块与替换块的设计应尽可能相异
      接收测试的作用非常重要,应能检测程序执行结果与预期结果的偏离,或检测和防止能触发安全事故的输出
      2. N版本设计的核心是通过设计出多个模块或不同版本,对于相同初始条件和相同输入的操作结果进行多数表决(防止因其中某一软件模块/版本的故障而提供了错误的服务,以实现软件容错)。
      3. 冗余设计的思路来源于硬件系统,但有所不同。软件冗余设计技术是采用多种不同路径,不同算法或不同实现方法的模块或系统作为备份,在出现故障时进行替换,维持系统的正常运行。
    • 检错技术:在无须在线容错或不能采用冗余设计技术的部分,但又有较高可靠性需要时,一般采用检测性设计,在软件出现故障后能及时发现并报警,明显的缺点是不能自动解决故障。
      被动式错误检测
      在程序的若干部位设置检测点,等待错误征兆的出现  

      看门狗的设计:看门狗技术是控制运行时间的一种有效方法。看门狗实际上是一种计时装置,当计时启动后看门狗在累计时间,当累计时间到了规定值时触发到时中断(即狗叫)。

      主动式错误检测
      对程序状态主动进行检查
    • 避错设计(降低复杂度设计): 软件的复杂性与软件可靠性有密切关系,软件复杂性是产生软件缺陷的重要根源。降低复杂度设计的思想就是在保证实现软件功能的基础上,简化软件结构。

    版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 相关阅读:
    volatility 命令
    pikachu-SQL注入
    pikachu-环境搭建
    pikachu-暴力破解
    pikachu-XSS
    john and hydra using de-ice1.100
    web 攻击靶机解题过程
    网络对抗实验四
    网络对抗实验三
    网络对抗实验二
  • 原文地址:https://www.cnblogs.com/significantfrank/p/4875842.html
Copyright © 2011-2022 走看看