Complete chain: SG → SYS → SA, SWE → SWA → Code (@arch) + Test (@reqs)
SG: 5 SYS: 10 SWE: 25 SA: 5 SWA: 10 Code-Files: 4 Test-Files: 4
| Safety Goal | System Requirement | System Arch | Software Req | Software Arch | Code | Test |
|---|---|---|---|---|---|---|
SG-001 D No unintended release of the parking brake during standstill |
SYS-001 D Holding the parking brake at standstill |
SA-001 D EPB ECU SA-002 D Actuators (calliper motors) |
SWE-001 D Apply controller maintains clamping force SWE-002 D Watchdog monitors the apply controller SWE-022 B Standstill detection from wheel speeds |
SWA-002 D Apply Controller SWA-004 B Wheel Speed Plausibilisation |
src/apply_controller.c |
tests/unit/test_apply_controller.c |
SG-001 D No unintended release of the parking brake during standstill |
SYS-004 D Auto-apply on engine off |
SA-001 D EPB ECU |
SWE-007 D Detect engine-off condition SWE-008 D Auto-apply after 2 s delay |
SWA-001 D Safety Manager |
src/safety_manager.c |
tests/unit/test_safety_manager.c |
SG-002 D No unintended clamping while driving |
SYS-002 D Apply on driver request |
SA-001 D EPB ECU SA-002 D Actuators (calliper motors) |
SWE-003 D Forward switch apply signal to the apply controller SWE-004 D Confirm target clamping force reached SWE-022 B Standstill detection from wheel speeds SWE-025 QM Switch debouncing |
SWA-002 D Apply Controller SWA-004 B Wheel Speed Plausibilisation SWA-006 QM Switch Debouncer |
src/apply_controller.c src/switch_debouncer.c |
tests/unit/test_apply_controller.c tests/unit/test_switch_debouncer.c |
SG-002 D No unintended clamping while driving |
SYS-005 D Hill-hold on an incline |
SA-001 D EPB ECU SA-003 B Sensor cluster |
SWE-009 D Hill-hold activation condition SWE-010 D Hill-hold handover to the apply controller SWE-024 B Inclinometer low-pass filter |
SWA-001 D Safety Manager SWA-005 B Inclinometer Filter |
src/safety_manager.c |
tests/unit/test_safety_manager.c |
SG-003 A Protection against actuator overload |
SYS-007 B Actuator current monitoring |
SA-001 D EPB ECU SA-002 D Actuators (calliper motors) SA-003 B Sensor cluster |
SWE-013 B Current sampling at 1 kHz SWE-014 B Overcurrent cutoff SWE-015 B Clamping force estimation from current profile SWE-023 B Wheel-speed plausibilisation |
SWA-003 B Actuator Driver SWA-004 B Wheel Speed Plausibilisation |
src/actuator_driver.c |
tests/unit/test_actuator_driver.c |
SG-004 C Reliable hill-hold handover |
SYS-005 D Hill-hold on an incline |
SA-001 D EPB ECU SA-003 B Sensor cluster |
SWE-009 D Hill-hold activation condition SWE-010 D Hill-hold handover to the apply controller SWE-024 B Inclinometer low-pass filter |
SWA-001 D Safety Manager SWA-005 B Inclinometer Filter |
src/safety_manager.c |
tests/unit/test_safety_manager.c |
SG-004 C Reliable hill-hold handover |
SYS-006 B Auto-release on drive-away (Drive-Away Assist) |
SA-001 D EPB ECU SA-003 B Sensor cluster |
SWE-011 B Detect drive-away intent SWE-012 B Safety check before auto-release SWE-022 B Standstill detection from wheel speeds |
SWA-001 D Safety Manager SWA-004 B Wheel Speed Plausibilisation |
src/safety_manager.c |
tests/unit/test_safety_manager.c |
SG-005 B Response to driver requests |
SYS-002 D Apply on driver request |
SA-001 D EPB ECU SA-002 D Actuators (calliper motors) |
SWE-003 D Forward switch apply signal to the apply controller SWE-004 D Confirm target clamping force reached SWE-022 B Standstill detection from wheel speeds SWE-025 QM Switch debouncing |
SWA-002 D Apply Controller SWA-004 B Wheel Speed Plausibilisation SWA-006 QM Switch Debouncer |
src/apply_controller.c src/switch_debouncer.c |
tests/unit/test_apply_controller.c tests/unit/test_switch_debouncer.c |
SG-005 B Response to driver requests |
SYS-003 B Release on driver request |
SA-001 D EPB ECU SA-002 D Actuators (calliper motors) |
SWE-005 B Check release preconditions SWE-006 B Drive actuators into release position SWE-025 QM Switch debouncing |
SWA-002 D Apply Controller SWA-003 B Actuator Driver SWA-006 QM Switch Debouncer |
src/apply_controller.c src/actuator_driver.c src/switch_debouncer.c |
tests/unit/test_actuator_driver.c tests/unit/test_apply_controller.c tests/unit/test_switch_debouncer.c |
| — | SYS-008 QM Service mode for the workshop |
SA-001 D EPB ECU SA-004 QM HMI (switch, LED, display) |
SWE-016 QM UDS RoutineControl 0x31 for service release SWE-017 QM Service mode indicator |
SWA-009 QM Service Mode |
— | — |
| — | SYS-009 QM UDS diagnostics |
SA-001 D EPB ECU SA-005 QM CAN bus |
SWE-018 QM UDS service 0x19 ReadDTC SWE-019 QM UDS service 0x22 ReadDataByIdentifier |
SWA-008 QM Diagnostic Manager SWA-010 QM Logger |
— | — |
| — | SYS-010 QM HMI status display |
SA-001 D EPB ECU SA-004 QM HMI (switch, LED, display) SA-005 QM CAN bus |
SWE-020 QM LED control SWE-021 QM CAN status frame |
SWA-007 QM Display Manager |
— | — |
| File | @arch | @reqs |
|---|---|---|
| src/safety_manager.c | SWA-001 | SWE-007 SWE-008 SWE-009 SWE-010 SWE-011 SWE-012 |
| src/apply_controller.c | SWA-002 | SWE-001 SWE-002 SWE-003 SWE-004 |
| src/actuator_driver.c | SWA-003 | SWE-006 SWE-013 SWE-014 SWE-015 |
| src/switch_debouncer.c | SWA-006 | SWE-025 |
| Test file | Covers SWA | @reqs |
|---|---|---|
| tests/unit/test_safety_manager.c | SWA-001 | SWE-007 SWE-008 SWE-009 SWE-010 SWE-011 SWE-012 |
| tests/unit/test_apply_controller.c | SWA-002 | SWE-001 SWE-002 SWE-003 SWE-004 SWE-005 |
| tests/unit/test_actuator_driver.c | SWA-003 | SWE-006 SWE-013 SWE-014 SWE-015 |
| tests/unit/test_switch_debouncer.c | SWA-006 | SWE-025 |