AUTOMORPHSW Team

ASIL 等級怎麼判定?S、E、C 三軸與 ASIL 分解的實務解讀

ASIL 等級怎麼判定?S、E、C 三軸與 ASIL 分解的實務解讀

會議上最常聽到的一句話是「這顆 ECU 是 ASIL D 的」。嚴格說,這句話就是誤解的開始——ASIL 從來不是指派給零件的,它是指派給安全目標的。搞清楚這件事,後面的分解、繼承與測試要求才會順。

ASIL 是怎麼算出來的:S × E × C

ISO 26262 的危害分析與風險評估(HARA)對每一個危害事件評三個軸:

問的問題級距
S 嚴重度(Severity)事故發生時,人會傷得多重?S0(無傷害)~S3(危及生命)
E 暴露率(Exposure)這個駕駛情境多常出現?E0(極罕見)~E4(高機率)
C 可控性(Controllability)駕駛或其他人來不來得及化解?C0(一般可控)~C3(難以控制)

三軸查表得出 QM、ASIL A、B、C、D 五級。兩個常見的誤讀:

  • QM 不是「不用管」——它代表既有的品質管理流程已足夠,不觸發 ISO 26262 的額外要求
  • 同一個系統可以同時背著多個等級——不同安全目標各自有各自的 ASIL

等級決定的是「方法的嚴格度」

ASIL 往下傳遞:安全目標 → 功能安全需求 → 技術安全需求 → 軟硬體需求。等級每高一級,標準推薦(或強烈推薦)的方法就更嚴格。以軟體單元測試的結構覆蓋率為例:

  • ASIL A/B:敘述覆蓋、分支覆蓋為主
  • ASIL C:分支覆蓋是強烈推薦
  • ASIL D:MC/DC(修改條件/判定覆蓋)是強烈推薦

這就是為什麼「等級評高了」不只是文件問題——它直接決定測試工作量、工具鏈與證據形式。用人工方式做 MC/DC 幾乎不可行,這也是 VectorCAST 這類工具存在的理由。

ASIL 分解:合法的降級,有代價的降級

ASIL 分解(Decomposition)允許把一個高等級需求拆給兩個獨立的元素共同承擔,例如 ASIL D 拆成 ASIL B(D) + ASIL B(D)。兩個關鍵:

  1. 括號裡的 (D) 不會消失——它提醒你系統層的驗證仍然是 D 級要求
  2. 獨立性要能證明——共因失效分析(CCF)要做,兩條路徑共用電源、共用時脈、共用記憶體都可能讓分解不成立

分解是架構手段,不是文件手段。畫兩個框框不等於獨立。

實務上最常見的三個坑

  1. 把 ASIL 當成零件屬性採購——供應商給的是「按 ASIL D 流程開發的元件」,但它裝進您的系統後承擔哪個安全目標,要重新對
  2. E 值評得太樂觀——「這情境很少見」需要依據(市場資料、駕駛統計),不是感覺
  3. 降級之後測試沒跟著補——分解後兩個 B(D) 元素之間的介面與獨立性驗證,常常沒人認領

下一步

從 HARA 到覆蓋率證據,這條鏈的每一環都要接得起稽核的追問。歐特莫夫(Vector Informatik 合作夥伴)以 VectorCAST 建立由安全需求自動生成、可追溯的測試,覆蓋率含 MC/DC。