AUTOSAR 기능 안전 - 04 Logical Supervision
관련 글 목록
- AUTOSAR 기능 안전 - 01 FFI
- AUTOSAR 기능 안전 - 02 Memory Partitioning
- AUTOSAR 기능 안전 - 03 Timing Monitoring
- AUTOSAR 기능 안전 - 04 Logical Supervision <- 현재 포스팅
- AUTOSAR 기능 안전 - 05 End-2-End Protection
- AUTOSAR 기능 안전 - 06 Hardware Diagnostics
참고
- 개인적인 공부 목적으로 정리한 자료입니다.
- AUTOSAR_EXP_FunctionalSafetyMeasures.pdf 문서를 참고하여 작성하였습니다.
- 잘못된 내용이 있다면 댓글 달아주시면 수정하겠습니다 :)
Logical Supervision 개요
Logical Supervision은 control flow error에 초점을 맞추어 소프트웨어가 올바르게 실행됐는지 확인하는 기술입니다. 하나 이상의 instruction이 잘못된 순서로 처리되거나 처리되지 않았을 때 control flow error가 발생합니다. Control flow error는 데이터 불일치, 데이터 손상 혹은 다른 소프트웨어 failure를 일으킬 수 있습니다.
Fault Models
ISO 26262에 따르면 다음의 Timing과 Execution에 관련한 fault가 SWC 간 간섭의 원인으로 간주될 수 있습니다.
- Blocking of execution
- Deadlocks
- Livelocks
- Incorrect allocation of execution time
- Incorrect synchronization between software element
프로그램 시퀀스에 대한 논리적, 시간적 모니터링은 ISO 26262에서도 언급되며 자동차 산업에서 사용되고 있습니다. 프로그램 시퀀스의 실행 오류는 데이터 손상, 프로세스 충돌 또는 fail-silence violation으로 이어질 수 있습니다. ISO 26262에서도 프로그램 시퀀스에 대한 모니터링을 권장하고 있습니다.
Watchdog Manager
Watchdog Manager는 Supervised Entites(SE)를 사용하여 AUTOSAR ECU의 애플리케이션의 실행을 감시합니다. 각각의 Supervised Entites는 하나 이상의 Checkpoint를 가집니다. Checkpoint와 Checkpoint간 변이는 그래프를 형성합니다. 그래프는 하나 이상의 초기 Checkpoint를 하나 이상의 최종 Checkpoint를 가집니다.
런타임 시 Watchdog Manager는 SE가 설정된 그래프대로 실행되는지 확인하고 이를 Logical Supervision이라 합니다.
Detection and Reaction
설계 단계에서 타당한 프로그램 시퀀스가 모델링 됩니다. 런타임에 Watchdog Manager는 해당 모델을 사용해서 프로그램 시퀀스 대로 실행되는지 모니터링 합니다.
Supervised Entites(SE)는 deadline supervision, alive supervision 그리고 logical supervision과 같은 메카니즘에 따라 상태가 결정됩니다. 이를 Local Supervision Status라 합니다. 각 SE의 상태가 결정되면 각각의 Local Supervision Stutus에 따라 전체 MCU의 상태가 결정됩니다. 이를 Global Supervision Status라 합니다.
Watchdog Manager는 SE의 Local Supervision Status와 Global Supervision Status에 따라 회복하기 위한 여러가지 메카니즘을 수행합니다. 회복을 위해 수행하는 메카니즘에는 다음과 같은 것들이 있습니다.
- Error Handling in the SE
- Partition Shutdown
- Reset by HW Watchdog
- Immediate MCU Reset
Limitations
- Logical supervision의 경우, Watchdog Manager는 중복되는 그래프를 지원하지 않음 - 체크 포인트는 최대 하나의 그래프에 속해야 함
- Watchdog Manager는 동시적으로(concurrently) 실행되는 Supervised Entities에 대해 지원하지 않음
- Supervised Entities를 포함한 파티션을 재시작 혹은 셧다운 하려면 integrator code는 모든 파티션에 관련된 모든 Supervised Entities를 비활성화 해야 함