ASIL decomposition. "D 하나를 B 둘로 나눈다" 는 발상이다.
왜 하나
ASIL D 개발은 비용이 매우 크다. 같은 안전 목표를 독립된 두 개의 경로가 함께 지킨다면, 각 경로는 더 낮은 등급으로 개발할 수 있다.
ASIL D → ASIL B(D) + ASIL B(D)
→ ASIL C(D) + ASIL A(D)
→ ASIL D(D) + QM(D) ← 괄호 안은 '원래 목표가 D였음'을 남긴 표기
괄호 표기가 중요하다. 원래 등급을 잊지 않기 위한 기록이며, 나중에 한쪽 경로가 사라지면 요구가 다시 올라간다.
조건이 까다롭다
- 독립성 — 두 경로가 같은 원인으로 함께 고장 나면 안 된다(공통원인 고장)
- 간섭 없음(freedom from interference) — 낮은 등급 코드가 높은 등급 데이터를 침범하지 못해야 한다. MPU로 메모리 접근을 막고, 타이밍은 스케줄링으로 보장한다
- 근거 문서 — "독립적이다"를 분석으로 증명해야 한다
실물 예
- 주 경로는 애플리케이션 코어가 계산하고, 감시 경로는 별도 코어나 외부 감시 칩이 검증
- 계산 결과가 서로 다르면 안전 상태로 전환
면접 포인트
"분해하면 싸진다"가 아니라 "독립성을 증명할 수 있을 때만 성립한다" 가 핵심이다.