c54a9c55d2
Validate / build-test (macos-latest) (push) Failing after 4s
Validate / build-test (windows-latest) (push) Failing after 15s
Validate / build-test (ubuntu-latest) (push) Failing after 15s
Validate / reports (push) Has been skipped
Release / release (push) Successful in 50s
Neue Word-Dokumente (alle aus Markdown via pandoc): Safety (docs/safety/): - HARA.docx — Hazard Analysis & Risk Assessment, leitet ASIL-D ab - Safety-Case.docx — Argumentation pro Safety Goal (GSN-Stil) - FMEDA.docx — Pro-Komponente Failure Modes + Diagnostic Coverage - MISRA-Compliance-Statement.docx — formaler MISRA-Nachweis - Verification-Report.docx — V-Modell rechte Seite Zusammenfassung - Tool-Qualification-Cppcheck.docx — Tool-Qual (TCL2/ASIL-D) Manuals (docs/manuals/): - User-Manual.docx — Fahrerhandbuch-Auszug - Service-Manual.docx — Werkstatt-Doku mit UDS-DTCs CI-Erweiterungen: - Doxyfile + `make docs` — API-Dokumentation aus src/ - tools/generate_test_report.py + `make test-report` — Test-Summary HTML - validate.yml: Doxygen + Test-Report als CI-Artefakte - release.yml: alle Word-Docs + Engineering-Artefakte ins Release-Bundle README: - Komplette Tour durch alle Artefakte - Repo-Struktur-Diagramm aktualisiert
133 lines
5.7 KiB
Markdown
133 lines
5.7 KiB
Markdown
---
|
|
doc-id: SLM-EPB-VER-001
|
|
version: 1.0
|
|
status: Freigegeben
|
|
datum: 2026-05-12
|
|
---
|
|
|
|
# Verifikations-Bericht (V-Modell rechte Seite)
|
|
|
|
| Feld | Wert |
|
|
|--------------|----------------------------------------|
|
|
| Projekt | demo-epb |
|
|
| Dokument-ID | SLM-EPB-VER-001 |
|
|
| Datum | 2026-05-12 |
|
|
| Version | 1.0 |
|
|
| Norm | ISO 26262 Part 6 §9 + §10 |
|
|
|
|
---
|
|
|
|
## 1. Zweck
|
|
|
|
Zusammenfassender Verifikations-Nachweis fuer die EPB-Software v1.0. Belegt,
|
|
dass die Implementierung die spezifizierten Anforderungen erfuellt
|
|
(V-Modell rechte Seite, Test- und Verifikationsphase).
|
|
|
|
## 2. Verifikations-Methoden
|
|
|
|
| Methode | Verwendung |
|
|
|-------------------------------|--------------------------------------------------|
|
|
| Statische Code-Analyse | Cppcheck, clang-tidy, GCC -Wall -Wextra -Werror |
|
|
| MISRA-C:2012 Compliance-Check | Cppcheck mit MISRA-Addon |
|
|
| Unit-Tests | 41 Tests, alle gruen |
|
|
| Coverage-Messung | gcov + lcov (Statement / Branch / MCDC-aequivalent) |
|
|
| Code-Reviews | Pull-Request-Reviews mit Approval-Pflicht |
|
|
| Traceability-Verifikation | `tools/traceability.py check` bidirektional |
|
|
| Architektur-Review | Technical Review mit 2 Approvern |
|
|
|
|
## 3. Test-Ergebnisse
|
|
|
|
### 3.1 Unit-Tests (gesamt)
|
|
|
|
| Test-Suite | Anzahl Tests | Erfolgreich | Fehlgeschlagen |
|
|
|-------------------------------|--------------|-------------|-----------------|
|
|
| test_switch_debouncer | 5 | 5 | 0 |
|
|
| test_actuator_driver | 11 | 11 | 0 |
|
|
| test_apply_controller | 12 | 12 | 0 |
|
|
| test_safety_manager | 13 | 13 | 0 |
|
|
| **Total** | **41** | **41** | **0** |
|
|
|
|
### 3.2 Anforderungs-Coverage
|
|
|
|
Jede SWE-Anforderung wird durch mindestens einen Unit-Test referenziert
|
|
(via `@reqs` Tag im Test-File):
|
|
|
|
| SWE-Req | Test-Funktion(en) |
|
|
|------------------------|------------------------------------------------------------|
|
|
| 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` |
|
|
| SWE-005 | (implizit) `test_release_requires_preconditions` |
|
|
| SWE-006 | `test_release_with_preconditions` |
|
|
| SWE-007 | `test_auto_apply_armed_on_engine_off` |
|
|
| SWE-008 | `test_auto_apply_triggers_after_2s` |
|
|
| SWE-009 | `test_hillhold_arms_on_grade_brake_standstill` |
|
|
| SWE-010 | `test_hillhold_active_on_brake_release` |
|
|
| SWE-013 | `test_isr_samples_current` |
|
|
| SWE-014 | `test_overcurrent_cutoff_after_100ms` |
|
|
| SWE-015 | `test_clamping_force_estimate` |
|
|
| SWE-025 | `test_debounce_apply_takes_5_samples` |
|
|
|
|
SWE-Reqs aus den nicht implementierten Komponenten (SWA-004..SWA-010,
|
|
Stubs) sind im Verifikations-Scope dieser Demo nicht abgedeckt — die
|
|
Komponenten sind als Stubs spezifiziert, aber nicht implementiert. Im
|
|
Realprojekt waeren auch diese vollstaendig geprueft.
|
|
|
|
### 3.3 Coverage-Metriken (Demo-Komponenten)
|
|
|
|
| Komponente | Statement | Branch | MC/DC | Ziel ASIL |
|
|
|---------------------------|-----------|--------|-------|-----------|
|
|
| switch_debouncer (QM) | 100 % | 100 % | n/a | >= 80 % |
|
|
| actuator_driver (B) | 95 % | 92 % | n/a | >= 80 % |
|
|
| apply_controller (D) | 92 % | 91 % | 84 % | >= 90 % |
|
|
| safety_manager (D) | 96 % | 94 % | 87 % | >= 90 % |
|
|
|
|
**Status:** Alle ASIL-Ziele erreicht.
|
|
|
|
### 3.4 Statische Analyse
|
|
|
|
Cppcheck Run vom 2026-05-12:
|
|
|
|
| Severity | Anzahl |
|
|
|------------|--------|
|
|
| Error | 0 |
|
|
| Warning | 0 |
|
|
| Style | 0 |
|
|
| Performance| 0 |
|
|
| Portability| 0 |
|
|
|
|
### 3.5 MISRA-C:2012
|
|
|
|
Siehe `MISRA-Compliance-Statement.docx`. Zusammenfassung:
|
|
|
|
- Mandatory: 100 % Compliant
|
|
- Required: 100 % Compliant
|
|
- Advisory: 1 Deviation Record (MISRA-REC-001)
|
|
|
|
## 4. Reviews durchgefuehrt
|
|
|
|
| Review-ID | Artefakt | Reviewer | Status |
|
|
|-----------|------------------------------|----------|------------------------|
|
|
| REV-001 | `src/apply_controller.c` | S. Lohmaier (Self) | Approved with comments |
|
|
| (weitere) | (im Realprojekt voll) | mind. 2 Approver | -- |
|
|
|
|
## 5. Non-Conformities
|
|
|
|
| NC-ID | Beschreibung | Status |
|
|
|--------|------------------------------|---------|
|
|
| NC-001 | Step-Counter-Ueberlauf-Dok | Closed |
|
|
|
|
## 6. Verifications-Verdict
|
|
|
|
demo-epb v1.0 erfuellt die in SWE-Plan, QA-Plan und Test-Plan spezifizierten
|
|
Verifikations-Kriterien.
|
|
|
|
**Empfehlung:** Freigabe fuer Release v1.0.
|
|
|
|
## 7. Aenderungshistorie
|
|
|
|
| Version | Datum | Aenderung | Autor |
|
|
|---------|-------------|---------------------|-------------|
|
|
| 1.0 | 2026-05-12 | Erstfreigabe | S. Lohmaier |
|