系统的可靠性分析与设计

可靠性分析


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. 冗余设计的思路来源于硬件系统,但有所不同。软件冗余设计技术是采用多种不同路径,不同算法或不同实现方法的模块或系统作为备份,在出现故障时进行替换,维持系统的正常运行。
  • 检错技术:在无须在线容错或不能采用冗余设计技术的部分,但又有较高可靠性需要时,一般采用检测性设计,在软件出现故障后能及时发现并报警,明显的缺点是不能自动解决故障。
    被动式错误检测
    在程序的若干部位设置检测点,等待错误征兆的出现  

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

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

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值