ISO 26262-3 HARA 场景粒度陷阱:拆得越细,ASIL 反而越低
先说结论
- 运行场景拆得过细,会把暴露等级 E 拆低,导致 ASIL 被不当降低(ISO 26262-3:2018 §6.4.2.7)。
- 机理很直白:场景越细,每个子场景占全年运行时间的比例必然越小 ⇒ E 必然往下掉。
- S 和 C 都没变,变的只有 E;而 ASIL 是 S、E、C 三个参数一起查表定的,E 一掉整行等级跟着掉。
- 拆分判据只有一句:拆完这两行,S / E / C 会不会不一样?不会就是纯噪声。
- HARA 评的是不含内部安全机制的项目(§6.4.1.2)——先评危害,再谈手段。
- S / E / C 存在合理疑问时保守取更高等级(§6.4.3.1),等级之间不允许取平均。
1. 机理:拆细为什么必然压低 E
E 是暴露概率,评的是“这个运行场景有多常见”。
原场景“车辆在高速公路上行驶”可以评到E4。一旦拆成若干子场景:
| 拆后的子场景 | 占全年运行时间的比例 | E |
|---|---|---|
| 高速+晴天+白天+车流密集 | 显著变小 | 下降 |
| 高速+雨天+夜间+车流稀疏 | 显著变小 | 下降 |
| 高速+晴朗+黄昏+中等车流 | 显著变小 | 下降 |
每个子场景的占比都变小了,E 自然往下掉,掉到 E2、E1 都有可能。
图 1 · 依据 ISO 26262-3:2018 §6.4.2.7`
关键点:S 没变、C 没变,变的只有 E。而 ASIL 由 S、E、C 三者共同确定(§6.2),E 一掉,整行 ASIL 跟着掉。
*图 2 · 依据 ISO 26262-3:2018 §6.2 *
⇒ 结果是:同一个危害,场景拆得越勤奋,评出来的等级越低,安全目标写得越松。
§6.4.2.7 讲的正是这个风险:运行场景列表若拆得过于细致,各场景的暴露等级会被拆低,导致 ASIL 被不当降低。
2. 拆分判据:S / E / C 会不会不一样
拆之前先问一句:
这两个子场景,对同一个失效的S、E、C 会不会不一样?
- 不会⇒ 这次拆分是纯噪声。只增加表格行数,不增加信息,还顺手把 E 稀释了。
- 例:“高速晴天” vs “高速阴天”,对某个制动类失效,S 相同、C 相同,暴露概率的差别只是天气占比的差别。
- 会⇒ 值得分叉。
- 例:驾驶员在环 vs 不在环 ⇒C 不同
- 例:城市拥堵 vs 高速巡航 ⇒S 不同
图 3 · 依据 ISO 26262-3:2018 §6.4.2.7
判断标准很朴素:拆完之后,每一行是不是都得出了不同的结论。如果三十行里二十九行结论一模一样,就合并回去。
3. 同一毛病的另外两处
① HARA 不含内部安全机制(§6.4.1.2)
把诊断覆盖率算进 HARA,等于默认“反正我们有监控,真出事也能兜住”。但 HARA 评的是项目本身的危害;安全机制是后续用来满足安全目标的手段,不是把危害等级压下去的理由。混在一起,最初那张表就失真了。
② 有疑问就取高(§6.4.3.1)
S、E 或 C 的分级存在合理疑问时,取更高的那一级。等级之间不允许取平均值,也不能因为详细设计还没定就往后拖——HARA 基于的是功能行为,不是实现。
4. 落地检查清单
- 现有场景列表里,有没有结论完全相同的重复行可以合并?
- 每一行的细分,是否都能说出它改变了 S / E / C 中的哪一个?
- E 的取值依据是占总运行时间的比例吗?拆细之后有没有重新核算过?
- HARA 里的评估是否已剔除内部安全机制(§6.4.1.2)?
- 有合理疑问的格子,是否取了更高等级而不是平均值(§6.4.3.1)?
- 场景描述是否覆盖了可合理预见的误用(§6.4.2.1)?
参考
- ISO 26262-3:2018:6.2、6.4.1.2、6.4.2.1、6.4.2.7、6.4.3.1、Table 4
条款号按 ISO 26262-3:2018 标注。
北极星笔记|分享 ISO 26262 功能安全条款解读、工程案例与学习笔记。