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
This commit is contained in:
@@ -0,0 +1,78 @@
|
||||
---
|
||||
review-id: REV-001
|
||||
projekt: demo-epb
|
||||
datum: 2026-05-11
|
||||
typ: Technical Review (ASIL-D Code)
|
||||
artefakt: src/apply_controller.c (SWA-002)
|
||||
status: 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).*
|
||||
Reference in New Issue
Block a user