生命攸关系统
生命攸关系统(life-critical system)或安全攸关系统(safety-critical system)也称为生命关键系统或安全关键系统,是指若系统失效或误动作,可能会产生以下后果的系统:
- 人员重伤或死亡
- 设备的严重毁损
- 环境的危害
安全相关系统(Safety-involved systems)类似安全关键系统,但安全性要求略低。若只有此系统失效,不会造成人员伤亡、设备的严重毁损或者环境危害等重大危害。安全相关系统的误动作只有和其他系统的失效或是人为错误时才会造造成危害。
安全相关系统或安全相关系统的风险一般会配合安全工程的工具进行管理。生命攸关系统一般会设计在失效率小于10-9 1/h的条件下[1]。常用的设计工具包括概率风险评估,是一种结合失效模式与影响分析(FMEA)及故障树分析的技术。越来越多的安全攸关系统是基于电脑的系统。
可靠度作法
在生命攸关系统中,有以下几种可靠度的作法:
- 失效可操作的系统(Fail-operational systems):在其重要或主要系统损坏时,仍可正常完成正常或最终的重要动作的系统,例如配有紧急或备用系统的电梯、家用的自动调温器,以及消极安全核反应堆。失效可操作的系统有时并不安全,例如美军的核武不允许使用通讯中断即发射(launch-on-loss-of-communications)的系统,因为后者是失效可操作的系统,若通讯中断就自动发射核武,这种运作方式风险太高。美军的思惟恰好和苏联死亡之手在失效后自动发射的失效致命特性相反[2]。
- 失效安全(Fail-safe)系统 :是指系统不运作时会处在安全状态,不会造成人员伤亡的系统。许多医疗系统都是这一类的,例如医疗的输液泵可能损坏,但因为其安全间隔期够长,可以用人工介入处理,只要它会停止输液,并且发出警告提醒护理人员,并不会造成人员的伤亡。像工业用或是家用的燃烧控制器可能损坏,但也一定要有失效安全的特性(在其侦测到损坏时,自动熄灭火源)。一个接收到发射命令才会发射(launch-on-command)的核武也是失效安全的,因为在通讯系统损坏时,核武不会发射。铁路信号也会设计成失效安全的。
- Fail-secure的中文也是失效安全(可理解为“失效保障”),但主要着重于事物不被毁损、场地不被入侵的安全性:例如Fail-safe的电动锁是为保护人员,在电力失效时自动开锁;而Fail-secure的电动锁是为保护场地安全,在电力失效时自动上锁。
- 失效消极防护系统(Fail-Passive systems)即使在系统失效的情形下仍可以用其他方式运作,例如倘若飞机的自动驾驶系统失效,飞机也会维持在一个可控制的状态,让飞行员可以接手完成航程,顺利降落。
- 容错系统(Fault-tolerant system)是在系统有错误或故障时不会让系统失效。像一般的核反应堆的控制系统就会是容错系统。一般容错的方式为数台电脑不间断地测试系统的各部分,若有子系统失效,直接线上热切换到其他正常的子系统。只要在正常的维修间隔内更换或修复有问题的子系统,此系统就视作是安全的。不过在一些系统中,会要求所用的电脑规格完全相同,电源供应器及人工控制面板等也不例外。
生命攸关系统的软件工程
生命攸关系统的软件工程格外困难,有三个层面的考量会对生命攸关系统的软件工程有帮助。首先是流程的工程及管理,再来是为此系统选择适当的工具及开发环境,这可以让系统开发者可以利用仿真的方式有效地测试系统,观察其是否有效果。第三,需解决所有法律及法规上的要求,像是飞行系统需要处理的美国联邦航空总署(FAA)要求。若有设定在系统开发时需要符合的标准,也就强制了设计者需依循相关要求进行开发。航空电子产业已成功提出了制作生命攸关航空电子软件的标准方法,即DO-178B。汽车业的ISO 26262、医疗产品的IEC 62304及核能的IEC 61513也是类似的法规。这些标准作法目的是要小心地编程、检视、测试、验证及分析系统,并书写说明文件。另一种作法是验证一产品系统、编译器,再依规格产生系统的代码。还有一种方式是用形式方法,用数学证明来证明代码符合要求。这些方法都可以提升生命攸关系统的软件品质,方式可能是透过测试,或是减少开发程序中的人工步骤,因为人可能会出错,这也是最常见的生命攸关系统潜在错误的原因。
生命攸关系统的例子
基础设备
医疗设备[3]
其技术要求可能超过避免失效的程度,甚至可能包括建立医疗照护(有关病人的医疗)及生命维持(有关稳定病人的生理状态)。
- 人工心肺机
- 机械通气
- 输液泵及胰岛素泵
- 放射线疗法机器
- 机器人手术
- 去颤机器
- 透析机器
- 电子式监控生命机能的仪器(例如心电图,ECG或EKG,以及脑电图EEG)
- 医疗影像仪器(X光,X射线计算机断层成像- CT或CAT,核磁共振影像-MRI,正电子发射计算机断层扫描- PET)
核能工程[4]
- 核反应堆控制系统
娱乐或运动设备
运输
铁路[5]
汽车[7]
航空[8]
航天飞机[9]
相关条目
- 关键任务
- 核反应堆
- 生物医学工程
- 形式化方法
- Therac-25案例
- 可靠度理论
- 可靠度
- 冗余
- 生物医学工程
- SAPHIRE
- 区域安全性分析
- The Power of 10
- IEC 61508:《电气/电子/可编程电子安全相关系统的功能安全》法规
- 来历不明软件
参考文献
- ^ AC 25.1309-1A (PDF). [2012-10-25]. (原始内容存档 (PDF)于2014-02-11).
- ^ Inside the Apocalyptic Soviet Doomsday Machine. WIRED. [2016-03-29]. (原始内容存档于2014-03-22).
- ^ Medical Device Safety System Design: A Systematic Approach. mddionline.com. [2016-03-31]. (原始内容存档于2017-09-03).
- ^ Safety of Nuclear Reactors. world-nuclear.org. [2016-03-31]. (原始内容存档于2016-01-18).
- ^ 存档副本 (PDF). [2016-10-23]. (原始内容 (PDF)存档于2013-12-19).
- ^ 6.0 6.1 存档副本 (PDF). [2013-12-18]. (原始内容 (PDF)存档于2013-12-19).
- ^ Safety-Critical Automotive Systems. sae.org. [2016-03-31]. (原始内容存档于2013-12-19).
- ^ Leanna Rierson. Developing Safety-Critical Software: A Practical Guide for Aviation Software and DO-178C Compliance. [2016-03-31]. ISBN 978-1-4398-1368-3. (原始内容存档于2016-05-06).
- ^ 存档副本 (PDF). [2016-03-31]. (原始内容存档 (PDF)于2021-03-17).
外部链接
- An Example of a Life-Critical System (页面存档备份,存于互联网档案馆)
- Safety-critical systems Virtual Library
- They Write the Right Stuff (页面存档备份,存于互联网档案馆)
- Explanation of Fail Operational and Fail Passive in Avionics (页面存档备份,存于互联网档案馆)
- Useful Slides which explain Fault Tolerance and Fail * in distributed Systems[永久失效链接]