Files
demo-epb/docs/reviews-md/Review-001.md
T
Stefan Lohmaier 1855162e6d Initial commit: demo-epb v1.0 — Elektrische Parkbremse Demo
Vollstaendige Demo des slohmaier Dev Process anhand einer EPB-Steuergeraet-
Software. Zeigt ASPICE 4.0 / ISO 26262-konforme Entwicklung im Monorepo.

Inhalte:
- 5 Plaene (PID, PM-, QA-, SWE-, Test-Plan) in Word, ausgefuellt mit
  EPB-spezifischen Inhalten
- 10 System-Anforderungen + 25 Software-Anforderungen (Doorstop-MD)
- 5 System-Architektur-Elemente + 10 Software-Architektur-Elemente
  mit PlantUML-Diagrammen und vollstaendigem Mapping
- 3 implementierte Komponenten (Apply Controller D, Actuator Driver B,
  Switch Debouncer QM) plus 7 Header-Stubs
- 28 Unit-Tests, alle gruen, mit Coverage- und MISRA-Build-Targets
- Audit-Artefakte: 1 Review-Protokoll, 1 Non-Conformity, 1 MISRA-Record
- Gitea-Actions-CI-Pipeline (validate.yml)
- Doorstop-Konfiguration fuer bidirektionale Traceability
- Generator-Skript fuer alle 50 Reqs/Arch-Elemente aus Strukturdaten
- README mit gefuehrter Tour fuer Prospects
2026-05-11 13:51:02 -07:00

3.2 KiB

review-id, projekt, datum, typ, artefakt, status
review-id projekt datum typ artefakt status
REV-001 demo-epb 2026-05-11 Technical Review (ASIL-D Code) src/apply_controller.c (SWA-002) Approved (mit Anmerkungen)

Review-Protokoll REV-001

Feld Wert
Review-ID REV-001
Projekt demo-epb
Datum 2026-05-11
Reviewer 1 Stefan Lohmaier (Self-Review)
Reviewer 2 (Tech Lead, in Realprojekt)
Artefakt src/apply_controller.c v1.0
ASIL D
Status Approved with comments

1. Pruefumfang

  • Code-Inspektion apply_controller.c + .h
  • Pruefung auf Vollstaendigkeit der State Machine (Coverage gegen SWA-002)
  • Pruefung der MISRA-Compliance (Cppcheck-Report)
  • Pruefung der Mapping-Tags (@arch, @reqs)
  • Pruefung der Unit-Tests gegen verlinkte Anforderungen SWE-001..SWE-004

2. Findings

Nr Schwere Beschreibung Aktion
1 Minor Kommentar "/* @reqs SWE-005 */" konsumiert Anforderung, die formal SWA-002 zugeordnet ist — Mapping-Tabelle bestaetigt aber Mehrfachzuordnung. Akzeptiert mit Hinweis in SWA-002 §8.
2 Major Kein expliziter Test fuer das Verhalten "release im RELEASING-Zustand wird ignoriert". Test ergaenzt in nachfolgendem PR.
3 Critical s_ctx.step_count ueberlaeuft alle 2^32 * 50 ms = ~7 Jahre. Im sicheren Zustand ist Ueberlauf unkritisch (Watchdog vergleicht Delta), aber sollte dokumentiert sein. Kommentar im Header ergaenzt.

Critical-Finding 3 wurde als Non-Conformity NC-001 erfasst und in v1.1 geschlossen.

3. Pruefung der Mapping-Tags

@arch SWA-002      OK
@reqs SWE-001 SWE-002 SWE-003 SWE-004   OK

Alle vier SWE-Reqs werden durch Test-Faelle in tests/unit/test_apply_controller.c abgedeckt:

SWE Test-Funktion
SWE-001 test_applied_holds_force
SWE-002 test_watchdog_alive_counter
SWE-003 test_apply_request_starts_applying
SWE-004 test_applying_reaches_applied_on_target_force

4. Coverage

Metrik Ziel Erreicht
Statement Coverage >= 90% 92.3%
Branch Coverage >= 90% 91.0%
MC/DC >= 80% 84%

Coverage-Report: CI-Artefakt coverage-html (Build #N).

5. Freigabe-Entscheidung

Approved with comments. Critical-Finding wird als NC-001 separat behandelt. Empfehlung fuer Real-Projekt: zweiter unabhaengiger Reviewer fuer ASIL-D.


Single-Person-Demo: Self-Review nach dokumentierter Pruefliste. In einem Real-Projekt ist Self-Review fuer ASIL-D unzulaessig (SWE-Plan, Abschnitt 5).