Bahr-style System Safety Engineering and Risk Assessment 深度
本质与导读
本质 Bahr-style system safety 不是某一种 HARA、FTA 或 FMEA 技法,而是一条管理闭环:先把系统边界和运行语境定义清楚,再识别 hazard、评价风险、按 hazard reduction precedence 选控制、显式接受 residual risk,最后用 hazard tracking、review、audit 和 change management 证明控制确实落地。它保护的工程不变量是:安全分析不能停在"发现危险",必须停在"控制有效且残余风险被有权限的人接受"。
主线坐标:横轨 · 功能安全(跨站) · 系统安全工程方法论层。
学习目标
读完本页后,你应该能把一本跨行业系统安全书里的方法压缩成可执行的车规工程流程,并知道它与现有 ISO 26262 分析页如何分工。
- 解释 system safety、risk assessment、safety management system 三者的边界。
- 列出 Bahr hazard analysis 的五步闭环,并把每步映射到汽车 E/E 项目产物。
- 用 hazard reduction precedence 判断优先消除、隔离、防护、告警还是程序控制。
- 选择 HAZOP、what-if、FTA、FMEA/FMECA、人因、软件安全、bow tie 等工具的合适入口。
- 判断 residual risk 是否进入 ALARP / tolerable 区域,并识别哪些结论需要 management acceptance。
- 把 HARA、STPA、FTA、FMEDA 接到同一条 hazard tracking 与 safety case 证据链上。
1. Bahr 工作流的边界
Bahr 的写法对汽车功能安全最有价值的地方,不是重新定义某个单项工具,而是把"工程分析"和"管理闭环"合在一起。单项工具负责发现某类危险路径;system safety program 负责保证这些路径被追踪、控制、复核并在变更后重新评估。
1.1 System safety 不是 risk assessment 的同义词
System safety 关注系统是否对人员、环境、设备和任务保持安全; risk assessment 则把不同方案的概率、后果、成本、社会接受度和业务影响放到同一个决策框架里。前者产出 hazard、cause、control 和 verification;后者决定 residual risk 是否值得接受、是否还要投入资源继续降低。
| 概念 | 主要问题 | 典型输出 |
|---|---|---|
| System safety engineering | 什么会伤人或损坏系统,控制是否有效 | hazard log、控制措施、验证证据 |
| Risk assessment | 哪些风险可接受,哪些需要继续降低 | risk matrix、风险排序、acceptance 决策 |
| Safety management system | 组织如何持续执行、审计、改进安全过程 | governance、audit、training、change process |
1.2 工作对象是完整系统而不是硬件清单
Bahr 反复强调系统不只是设备本体,还包括人、流程、软件、硬件、设施、支持设备、运行环境和外部接口。对汽车 E/E 项目来说,这意味着 item definition 不能只画 ECU 方框;还要写清 driver、maintenance、诊断仪、OTA、供应链、生产测试和退役维修这些会改变 hazard 的上下文。
这种边界观能补上很多 ISO 26262 项目的盲区。HARA 常从驾驶场景出发,FMEDA 常从 BOM 出发,FTA 常从顶事件出发;Bahr-style 工作流要求在这些分析之前先回答"系统的真实交互面在哪里",否则工具再精细也只是在错误边界内自洽。
2. 风险问题先被框住
风险评估最常见的错误是直接跳到 event scenario 或工具模板,没有先定义目标、范围、damage state 和受众。Bahr 把"定义参数"放在前面,因为安全报告最终要让工程、管理、监管和公众理解同一件事:我们到底在管理哪一种损失,以及哪些损失不在本次评估边界内。
2.1 Hazard analysis 五步
Bahr 的 hazard analysis 方法可以压缩成五步: define system、identify hazards、evaluate hazards、resolve hazards、follow up。关键不在步骤名字,而在最后两步把分析从"知识发现"变成"工程闭环"。
| 步 | Bahr-style 动作 | 汽车 E/E 对应产物 |
|---|---|---|
| 1 | 定义系统、目标、环境、接口和分析准则 | item definition、operational situation、boundary |
| 2 | 识别 hazard 与 root cause | hazard list、UCA、failure mode、energy path |
| 3 | 评价 severity、probability、exposure 和可控性 | ASIL、risk class、top event priority |
| 4 | 选择并实施 hazard control | FSC/TSR/HSR/SSR、安全机制、程序控制 |
| 5 | 跟踪、验证、复核和变更后重评估 | hazard log、verification evidence、audit record |
2.2 Accident sequence 比单点故障更宽
Bahr 把事故看作 preliminary event、initiating event、intermediate event、ameliorative event 到 consequence 的演化链。这个链条提醒汽车工程师:危险不一定从元件失效开始,也可能从工作时长、维修状态、信息延迟、错误程序、错误人机界面或外部环境开始。
| 链条位置 | 车规例子 | 安全分析抓手 |
|---|---|---|
| Preliminary event | 维修后连接器未锁紧、标定包版本错 | change review、configuration control |
| Initiating event | 传感器 stuck、MCU SEU、司机误操作 | FMEA、FTA、human factors |
| Intermediate event | 诊断未识别、fallback 过慢、控制器继续输出 | FTTI、safety mechanism、state machine |
| Ameliorative event | 降扭、ASC、报警、机械备份 | safe state、limp-home、operator response |
| Consequence | 失控、触电、热事件、碰撞 | HARA、risk acceptance、emergency plan |
2.3 风险不是只有一个数字
经典工程公式可把风险粗略写成 $R = P \cdot C$,其中 $P$ 是发生概率,$C$ 是后果严重度。Bahr 的风险章节提醒读者:真正的接受度还受自愿性、可控性、是否灾难性、是否新技术、是否被公众理解等因素影响,所以安全沟通和 acceptance authority 也是工程流程的一部分。
这对汽车尤其重要。相同的随机硬件失效率,放在车窗舒适功能和 steer-by-wire 横向控制里,公众、监管和 OEM 的接受度完全不同;相同的技术风险,在量产召回、试验车封闭道路、OTA 灰度发布和售后维修中也不能用同一套阈值机械处理。
3. Hazard reduction precedence
Bahr 的 hazard control 顺序是本页最实用的工程判断工具:先设计消除 hazard,再用 safety device 隔离或保护,再用 warning device 提醒,最后才依赖 procedure 和 training。顺序越靠后,越依赖人和组织长期正确执行,因此也越不该作为高 ASIL hazard 的主要控制。
3.1 先消除,再防护,最后程序
如果一个危险能通过架构或物理设计消除,就不该先写培训和警告。比如高压互锁开盖暴露风险,优先级应是机械互锁和能量释放设计,其次是检测与断电,再其次才是标签和维修程序;把最后一层当主控制,本质上是在要求未来所有人永远不犯错。
3.2 Safe state 要写成状态而不是口号
Hazard control 只有在定义了可验证的状态后才可审计。"进入安全状态"不是状态,"三相关断后母线电压低于阈值且扭矩命令锁定为零"才是状态。Bahr-style 流程要求把控制措施写到能被测试、能被验收、能被追踪关闭。
这也是它和单纯 risk matrix 的区别。矩阵只能告诉你风险等级高低,不能告诉你控制是否存在、是否有效、是否已验证、是否在变更后仍有效;hazard log 必须承载这些 closure 字段。
4. 方法选择
Bahr 把各种工具视作工具箱,而不是互相排斥的宗派。正确选择取决于生命周期阶段、系统成熟度、是否需要定量、人员/软件是否主导、数据是否可得、时间和成本是否允许。
4.1 用问题选工具
工具选择的第一问不是"公司模板要求什么",而是"现在缺哪类证据"。如果缺系统边界和 hazard 清单,先做 PHL / PHA / STPA;如果缺顶事件路径,做 FTA;如果缺元件失效模式和单点故障,做 FMEA/FMECA 或 FMEDA;如果缺流程偏差,做 HAZOP;如果缺人机任务证据,做人因任务分析。
4.2 组合工具要有主从
组合工具不是把所有模板都填一遍。更健康的做法是先用宽工具找范围,再用深工具钻高风险路径:STPA 或 PHA 找出危险控制动作和场景,再把高优先级 hazard 交给 HARA 评级;FTA 拆顶事件路径,再用 FMEDA 给基本事件失效率和诊断覆盖;bow tie 用于向管理层说明 prevention barrier 与 mitigation barrier 的完整性。
这种主从关系能控制成本。Bahr 反复提醒不要 fault tree everything,也不要把昂贵的 FMEA/FMECA 铺到全系统每个角落;深分析应该被 hazard priority 触发,而不是被模板焦虑触发。
5. 风险接受与闭环
系统安全工程的终点不是"风险降为零",而是 residual risk 被降低到可辩护、可审计、可接受的水平。Bahr 借 ALARP 思想把工程控制和成本-收益放在一起讨论:如果进一步降低风险的成本与收益严重不成比例,并且已有控制符合良好实践,残余风险可以进入接受流程。
5.1 Risk acceptance 要在分析前定义
如果 acceptance criteria 在结果出来后才调整,评审就会怀疑团队是在为既有设计找理由。Bahr-style 流程要求在分析开始前定义 risk class、damage state、probability band、severity band、acceptance authority 和升级规则。
| 风险区 | 工程含义 | 决策动作 |
|---|---|---|
| Intolerable | 后果或概率不可接受 | 必须改设计或停止活动 |
| ALARP | 可容忍但需证明已合理降低 | 做 cost-benefit、good practice、残余风险论证 |
| Tolerable | 风险低且可由常规流程管理 | 记录理由,保持监控 |
5.2 Hazard tracking 是真正的闭环
一个 robust hazard log 至少要记录 hazard、cause、risk before、control、owner、due date、verification method、risk after、acceptance authority 和 change impact。没有 owner 和 verification 的 hazard log 只是清单,不是闭环。
汽车项目里,这张表应跨越需求、架构、硬件、软件、测试、生产、售后和供应商接口。否则 HARA 里的 hazard 会停在概念阶段,FTA / FMEDA 的发现会停在工程师电脑里,field incident 又无法反向更新 safety case。
5.3 变更会重开已经关闭的 hazard
Bahr 在 SMS 章节强调 closed-loop process、review、audit 和 change management。对汽车 E/E 来说,一次供应商替代料、一次软件阈值修改、一次 PCB layout 改版、一次 OTA 策略改变,都可能让已关闭的 hazard 重新打开。
所以"已关闭"不是永久状态,而是在当前配置、当前运行环境、当前证据下有效。配置控制和变更影响分析是 safety case 的生命线,不是文档管理的行政动作。
6. 汽车功能安全接入
把 Bahr-style 工作流接到 ISO 26262 时,不要把它看成另一个标准流程。更准确的定位是:它给 HARA、STPA、FTA、FMEDA、DFA 和 safety case 提供上层控制回路,确保每个工具的输出有入口、有出口、有 owner、有 closure。
6.1 与现有页面的分工
现有页面已经详细解释单项方法,本页只负责它们之间的编排逻辑。读者先从本页理解"什么时候该用哪把工具,产物如何闭环",再进入对应 deep 页学习具体算法、表格和量化公式。
| 车规节点 | Bahr-style 问题 | 下游工具 |
|---|---|---|
| Item definition | 系统边界、接口和环境是否完整 | STPA、HARA |
| Hazard identification | 是否覆盖功能、失效、人机、环境、流程 | STPA、PHA、what-if |
| Risk classification | 后果、概率、暴露、可控性如何评级 | HARA、risk matrix |
| Causal analysis | 顶事件由哪些路径导致 | FTA、FMEA、DFA |
| Control selection | 控制是否符合 precedence | safety mechanism、FSC/TSR |
| Quantitative evidence | 随机硬件风险是否达标 | FMEDA、FTA quantification |
| Closure | 控制是否验证并在变更后仍有效 | hazard log、safety case、audit |
6.2 对 ASIL 项目的补强点
ISO 26262 项目容易把 HARA、FMEDA、FTA 写成相互独立的交付物。Bahr-style 视角会追问三件事:第一,这些交付物是否共享同一个系统边界;第二,每条高风险 hazard 是否能追到控制和验证;第三,field data、near miss、audit finding 和 design change 是否能反向更新分析。
这三个问题比再多填一张模板更有杀伤力。它们直接指向 safety case 的可信度:不仅证明当时做过分析,还证明组织有能力在系统生命周期内持续管理风险。
7. 反模式
Bahr 的实践色彩很强,因此最值得保留的是反模式清单。它们通常不会让文档立刻失败,但会让项目在事故、审计、变更或诉讼中暴露出"看起来做过安全,实际没有闭环"的问题。
7.1 工具替代判断
最典型的反模式是"做了某个工具,所以安全了"。比如做了 FTA 就认为底层失效模式充分,做了 FMEDA 就认为系统级交互充分,做了 HARA 就认为人因和运行维护充分,做了 IV&V 就认为软件安全充分。工具只能回答它被设计来回答的问题。
7.2 Risk matrix 替代工程控制
第二个反模式是把 risk matrix 当成控制措施。矩阵能排序,不能降低风险;真正降低风险的是设计改变、安全机制、报警、程序、培训、维护、测试和审计。矩阵之后没有控制和验证,风险等级只是颜色。
7.3 程序控制越级当主控制
第三个反模式是高风险 hazard 主要靠 procedure、warning 或 training 关闭。Bahr 的 precedence 明确把这类控制放在最后,因为它们对人、组织、时间和文化高度敏感。高 ASIL 或高后果场景如果只能靠程序控制,必须把"为什么无法采用更高层控制"写成显式论证。
7.4 关闭后不再监控
第四个反模式是 hazard once closed, always closed。实际系统会被修改、老化、维修、升级、外包、换料、换人、换运行环境;安全闭环必须能被这些变化重新触发。没有 change impact analysis 的 closed hazard 是静态文档,不是活的 safety case。
缩写表
本页缩写只覆盖 Bahr-style workflow 里反复出现的跨方法术语,单项方法的详细符号进入对应 deep 页。
| 缩写 | 全称 | 含义 |
|---|---|---|
| ALARP | As Low As Reasonably Practicable | 风险已降到合理可行的低水平 |
| HAZOP | Hazard and Operability Study | 用 guide word 识别流程偏差的团队方法 |
| PHA / PHL | Preliminary Hazard Analysis / List | 早期 hazard 分析 / 清单 |
| SMS | Safety Management System | 组织层安全管理系统 |
| SSPP | System Safety Program Plan | 系统安全计划 |
| HRA | Human Reliability Analysis | 人因可靠性分析 |
| IV&V | Independent Verification and Validation | 独立验证与确认 |
核心要点
把 Bahr 的书用于汽车 E/E,重点不是搬运跨行业案例,而是把它压缩成能穿透 ISO 26262 交付物的闭环检查器。
- System safety 找 hazard、cause、control 和 evidence; risk assessment 决定 residual risk 是否可接受; SMS 保证这套动作跨生命周期持续发生。
- Hazard analysis 的五步是 define system、identify、evaluate、resolve、follow up;最后两步决定它是不是闭环。
- 系统边界必须包含 people、process、software、hardware、facilities、support equipment、environment 和 interfaces。
- Hazard reduction precedence 的优先级是 design out、safety device、warning device、procedure / training;越往后越不能单独承担高后果风险。
- Risk matrix 只能排序,不能控制风险;没有 owner、verification 和 acceptance authority 的 hazard log 不算关闭。
- 工具选择由证据缺口决定:STPA/PHA 找覆盖,HAZOP 找流程偏差,FTA 找顶事件路径,FMEA/FMEDA 找失效模式和诊断覆盖,HRA 找人因任务风险。
- ALARP 不是"风险低就行",而是要证明进一步降低风险的成本与收益严重不成比例,且现有控制符合良好实践。
- 变更会重开 hazard;供应商换料、软件阈值、PCB 改版、OTA 策略和维修流程都应触发 impact analysis。
Cross-references
- ← 索引
- 功能安全 — 顶层 hub,承接本页的 ISO 26262 生命周期入口。
- Bahr Safety Management System 深度 — 展开 Ch. 4/10/12 的 SMS、governance、training、audit 和 oversight 闭环。
- Bahr Hazard Analysis 深度 — 展开 Ch. 5 的 PHL/PHA/SSHA/SHA/FHA/O&SHA 到 hazard log closure。
- Process HAZOP 深度 — 展开 Ch. 6/9 的 HAZOP、what-if、checklist、barrier 和 bow tie 技法选择。
- Human Factors and Software Safety Analysis 深度 — 展开 Ch. 8 的 FMECA、人因任务和软件 systematic fault 接口。
- Accident Investigation and Lessons Learned 深度 — 展开 Ch. 11 的 near miss、独立调查、root cause chain 和 lessons learned 回流。
- Event-Tree Risk Evaluation 深度 — 深挖 Bahr Ch. 13-14 的 PRA、event tree、risk profile 和 acceptance gate。
- HARA — 把 hazard 和 operational situation 转成 ASIL 与 Safety Goal。
- Fault Tree Analysis 深度 — 从危险顶事件向下展开故障组合与最小割集。
- FMEDA 深度 — 用失效率、诊断覆盖和故障分类计算 SPFM/LFM/PMHF。
- STPA 深度 — 在 HARA 前用 control structure 系统化发现 UCA 与 loss scenario。
- DFA / FMEDA / FTA — 三种 ISO 26262 安全分析方法的快速对照。
- Safety Case — 把 hazard closure、验证证据和 residual risk acceptance 组织成论证包。
来源: Nicholas J. Bahr, System Safety Engineering and Risk Assessment: A Practical Approach, Second Edition, CRC Press / Taylor & Francis, 2015 copyright page / 2014 PDF metadata;本页为工程综合与改写,未复制书中长段落。