feat: Safety Goals + Drive-Away-Assist + vollst. Traceability
Validate / build-test (macos-latest) (push) Failing after 4s
Validate / build-test (windows-latest) (push) Failing after 17s
Validate / build-test (ubuntu-latest) (push) Successful in 16s
Validate / reports (push) Has been skipped
Release / release (push) Successful in 48s

Neue Layer:
- safety/sg/SG-001..005 als eigene Doorstop-Items (ASIL D/D/A/C/B)
- SYS-Reqs verlinken nach oben auf SG via frontmatter
- Kette ist jetzt: SG -> SYS -> SA, SWE -> SWA -> Code (@arch) + Test (@reqs)

Drive-Away-Assist im Safety Manager:
- SWE-011 (Anfahrabsicht erkennen) implementiert
- SWE-012 (Sicherheits-Check Tuer + Gurt) implementiert
- Neuer State SAFETY_DRIVE_AWAY + safety_mgr_release_requested()
- SafetyInputs erweitert um gas_pedal_percent, gear_in_drive,
  door_closed, seatbelt_fastened
- 5 neue Tests (DRIVE_AWAY armed/blocked/end-conditions)
- Test-Header @reqs erweitert auf SWE-007..012

traceability.py erweitert:
- SG als neuer Top-Level
- Code-Mapping-Check: @arch im Header von src/*.c muss SWA-id matchen
- Test-Mapping-Check: @reqs im Header der Tests muss alle SWE der
  zugehoerigen SWA abdecken
- HTML zeigt 7 Spalten: SG | SYS | SA | SWE | SWA | Code | Test
- 2 zusaetzliche Tabellen: Code->Arch und Test->Reqs

test_apply_controller.c:
- @reqs Header um SWE-005 ergaenzt (war funktional drin, nur Tag fehlte)

Counts:
- 55 doorstop-Items (war 50)
- 46 Unit-Tests (war 41)
- Traceability vollstaendig in beide Richtungen
This commit is contained in:
Stefan Lohmaier
2026-05-12 01:50:12 -07:00
parent 17910835ad
commit c610cc023c
20 changed files with 998 additions and 214 deletions
+17
View File
@@ -0,0 +1,17 @@
---
active: true
derived: false
header: 'Kein ungewolltes Loesen der Parkbremse im Stillstand'
level: 1.1
normative: true
reviewed: null
links: []
asil: D
---
# SG-001: Kein ungewolltes Loesen der Parkbremse im Stillstand
Die EPB darf sich im Stillstand des Fahrzeugs nicht ungewollt loesen. Abgeleitet aus HARA-Hazards H-01 (ungewolltes Loesen, Parkphase) und H-04 (Klemmkraftverlust im Hold).
**FTTI:** 5 s (H-01) / 30 s (H-04).
**Safe State:** APPLIED (Klemmkraft halten).
+17
View File
@@ -0,0 +1,17 @@
---
active: true
derived: false
header: 'Kein ungewolltes Festklemmen waehrend der Fahrt'
level: 1.2
normative: true
reviewed: null
links: []
asil: D
---
# SG-002: Kein ungewolltes Festklemmen waehrend der Fahrt
Die EPB darf nicht waehrend der Fahrt ungewollt festklemmen. Abgeleitet aus HARA-Hazard H-02.
**FTTI:** 100 ms.
**Safe State:** Aktor stop (kein Apply einleiten).
+17
View File
@@ -0,0 +1,17 @@
---
active: true
derived: false
header: 'Schutz gegen Aktor-Ueberlast'
level: 1.3
normative: true
reviewed: null
links: []
asil: A
---
# SG-003: Schutz gegen Aktor-Ueberlast
Das System muss Aktor-Motorschaeden durch Ueberstrom verhindern. Abgeleitet aus HARA-Hazard H-05.
**FTTI:** 100 ms.
**Safe State:** Aktor abschalten, DTC setzen.
+17
View File
@@ -0,0 +1,17 @@
---
active: true
derived: false
header: 'Zuverlaessige Hill-Hold-Uebergabe'
level: 1.4
normative: true
reviewed: null
links: []
asil: C
---
# SG-004: Zuverlaessige Hill-Hold-Uebergabe
Beim Loslassen des Bremspedals an einem Hang muss die EPB die Bremskraft uebernehmen, bevor das Fahrzeug zu rollen beginnt. Abgeleitet aus HARA-Hazard H-06.
**FTTI:** 500 ms.
**Safe State:** Apply einleiten.
+16
View File
@@ -0,0 +1,16 @@
---
active: true
derived: false
header: 'Reaktion auf Fahreranforderung'
level: 1.5
normative: true
reviewed: null
links: []
asil: B
---
# SG-005: Reaktion auf Fahreranforderung
Das System muss in spezifizierter Zeit auf Fahrer-Apply- und Release-Anforderungen reagieren. Abgeleitet aus HARA-Hazards H-03 und H-07.
**Reaktionszeit:** Apply <= 800 ms, Release <= 1500 ms.