Files
demo-epb/arch/swe/SWA-001.md
T
Stefan Lohmaier 4351dfa4e1
Validate / build-and-test (push) Successful in 30s
feat: Safety Manager + Traceability + PlantUML in CI
- Implement Safety Manager (SWA-001, ASIL-D): Hill-Hold + Auto-Apply
  state machine, 13 unit tests
- Update SWA-002 + SWA-001 link coverage so all SWE reqs are covered
- New tool: tools/traceability.py — Markdown-frontmatter-basierter
  Traceability-Checker + HTML/JSON-Matrix-Generator (Doorstop-Format ohne
  Doorstop-Dependency)
- New tool: tools/render_plantuml.py — extrahiert PlantUML-Bloecke aus
  arch/**.md und rendert via plantuml.com zu SVG
- validate.yml: neue Steps Traceability-Check, Matrix-Publish, PlantUML-
  Render; uploaded als Gitea-Artefakte
2026-05-11 23:51:55 -07:00

1.4 KiB

active, derived, header, level, normative, reviewed, links, asil
active derived header level normative reviewed links asil
true false Safety Manager 1.1 true null
SWE-007
SWE-008
SWE-009
SWE-010
SWE-011
SWE-012
D

SWA-001: Safety Manager

Verantwortung

Hoechste Sicherheitsschicht. Erkennt Motor-Aus, aktiviert Hill-Hold, triggert Auto-Apply. Lebenswichtige Logik mit redundanter Pruefung.

Statische Sicht

@startuml
package "Safety Manager" {
  [Engine State Monitor]
  [Hill-Hold Logic]
  [Auto-Apply Logic]
}
[Safety Manager] ..> [Apply Controller] : Apply-Anforderung
[Wheel Speed Plausi] --> [Safety Manager] : v_vehicle
[Inclinometer Filter] --> [Safety Manager] : grade
@enduml

Schnittstellen (Provided)

Status safety_mgr_init(void);
void   safety_mgr_step_50ms(const SafetyInputs* in);

Dynamisches Verhalten

@startuml
[*] --> Idle
Idle --> HillHoldArmed : grade>5% & v=0 & brake
HillHoldArmed --> HillHoldActive : brake released
HillHoldActive --> Idle : v>2 km/h
Idle --> AutoApplyArmed : engine_off & v=0
AutoApplyArmed --> AutoApplyTriggered : t>=2s
AutoApplyTriggered --> Idle : applied
@enduml

Ressourcen

  • Stack: <= 256 B
  • Worst-Case Timing: 200 us / Aufruf

Mapping auf Anforderungen

Anforderung Wie abgedeckt
SWE-007 engine_off + v<0.5 in step_50ms
SWE-008 2s-Filter und Trigger
SWE-009 Hill-Hold-Aktivierung
SWE-010 Brake-Released-Detektion