安全关键系统的意外处理与架构策略
1. 设计安全状态与危险故障
在安全关键系统中,设计安全状态是处理意外情况的重要手段。当系统遇到意外状况时,应恢复到设计安全状态,此时需要精确定义该状态,以供集成商考虑。
设计安全状态的目的是为设计者提供应对意外条件的方法。一个常见问题是,进入设计安全状态是否构成危险故障,是否应在计算IEC 61508的安全完整性等级(SIL)故障率时予以考虑。例如,要达到SIL 3的要求,需证明危险故障率低于每小时 $10^{-7}$ 次故障。若一个系统设计不佳,平均每1000小时就遇到一次意外情况,但总能检测到并进入设计安全状态,那么该系统能否被认为满足SIL 3的要求呢?这涉及到实用性与安全性的平衡。
从定义上讲,进入设计安全状态几乎不算是危险故障,但在IEC 61508计算中,应尽可能将其纳入考虑,因为即便大型系统应设计为能处理组件进入设计安全状态的情况,但这种转变总会给大型系统带来压力,使其更接近危险状态。
2. 恢复策略
2.1 恢复技术
当出现意外情况时,有两种可能的行动:尝试恢复,例如使用恢复块;或直接进入设计安全状态。基于软件的恢复通常采用执行“恢复树”脚本的形式,示例如下:
If process X reports that it has met an unexpected situation, then kill processes X, Y, and Z. Then restart Z, wait 200ms, restart Y, wait until flag A has been