Initial commit: slohmaier Dev Process v1.0

ASPICE 4.0 / ISO 26262 Entwicklungsprozess fuer kleine Teams.

Inhalte:
- README mit hybrider Format-Strategie (Word + Markdown)
- Toolstack (Gitea, Doorstop, Cppcheck, gcov, CppUTest, pandoc)
- Markdown-Vorlagen fuer Requirements + Architektur (SA, SWA)
- Markdown-Vorlagen fuer formelle Dokumente (PID, PM-Plan, QA-Plan,
  SWE-Plan, Test-Plan, Reviews, Non-Conformity, MISRA Permits/Records)
- Word-Master-Template (slohmaier-doc-template.docx) mit ISO-9001-
  konformer Document Control, Formatvorlagen, Auto-Verzeichnissen
- Build-Scripts (build_word_template.py, generate_word_vorlagen.sh)
- gitea-aspice-setup.md, V-Modell-Infografik
This commit is contained in:
Stefan Lohmaier
2026-05-11 13:40:51 -07:00
commit 6e458ae76f
33 changed files with 2934 additions and 0 deletions
+222
View File
@@ -0,0 +1,222 @@
# Toolstack slohmaier Dev Process
Kompletter Open-Source-Toolstack fuer ASPICE 4.0 und ISO 26262 konforme Embedded-Entwicklung.
---
## Uebersicht
| Kategorie | Tool | Bemerkung |
|-----------|------|-----------|
| Source Control | Gitea (self-hosted) | `tea` CLI fuer Kommandozeile, VS Code Integration |
| Requirements | Doorstop (Markdown-Modus) | Requirements als `.md` mit PlantUML eingebettet |
| Architektur-Design | Doorstop + PlantUML | SA / SWA / SWD als `.md` mit Mapping per `links:` (ASPICE SYS.3 / SWE.2 / SWE.3) |
| Diagramme | PlantUML | Eingebettet in Markdown, gerendert von Gitea und VS Code |
| MISRA | Cppcheck + MISRA-Addon | Kostenlos, Deviation Permits/Records via Doorstop |
| Coverage | gcov/lcov | Bis ASIL-B; MCDC-Star fuer ASIL-C/D |
| Unit Tests | CppUTest oder Google Test | Je nach Projekt |
| Static Analysis | Cppcheck, clang-tidy | Cppcheck auch fuer MISRA |
| Build | SCons, CMake | Je nach Projekt |
| Compiler | GCC ARM | Eigene Qualifizierung; Ferrocene fuer Rust |
| CI | Gitea Actions | Pipeline im Monorepo unter `.gitea/workflows/` |
| Open Source Analyse | ScanCode, FOSSology | Lizenz-Compliance |
| KI-Unterstuetzung | Continue.dev + Ollama | VS Code Extension, lokal, kein Cloud-Datenschutzproblem |
| Dokumentenexport | pandoc | Markdown nach PDF |
| Editor | VS Code | Primaerer Editor fuer alles |
---
## Source Control: Gitea
Gitea ist eine self-hosted Git-Plattform. Leichtgewichtig, laeuft auf jeder Hardware.
- Web-UI fuer PRs, Reviews, Issues
- Gitea Actions fuer CI/CD (kompatibel mit GitHub Actions Syntax)
- PlantUML-Rendering in Markdown (per PlantUML-Server)
- `tea` CLI fuer Kommandozeilen-Workflows
- Branch Protection und Approval-Workflows
Setup-Anleitung: `gitea-aspice-setup.md`
---
## Requirements: Doorstop (Markdown-Modus)
Doorstop verwaltet Requirements als `.md`-Dateien mit YAML-Frontmatter. Kein proprietaeres Format, alles lesbar in jedem Editor.
**Vorteile:**
- Requirements sind Markdown, versioniert in Git
- PlantUML-Diagramme direkt im Requirement eingebettet
- Traceability-Pruefung per CLI: `doorstop check`
- Report-Generierung: `doorstop publish all docs/traceability/`
- Gitea rendert alles direkt (Markdown + PlantUML)
**Requirement-Format:**
```markdown
---
active: true
level: 1.0
links:
- SYS-001: abc123
---
# SWE-001: Titel
Beschreibung mit eingebettetem PlantUML.
```
---
## Architektur-Design: Doorstop + PlantUML
Architektur-Elemente sind ebenfalls Doorstop-Dokumente, nur mit eigenen Prefixen:
| Prefix | Ebene | ASPICE | Verzeichnis |
|--------|--------------------------------|--------|--------------|
| SA | System Architectural Design | SYS.3 | `arch/sys/` |
| SWA | Software Architectural Design | SWE.2 | `arch/swe/` |
| SWD | Software Detailed Design | SWE.3 | `arch/swd/` |
**Mapping auf Anforderungen** per `links:` im YAML-Frontmatter — identisch zur Requirements-Verlinkung. Doorstop verifiziert in beide Richtungen: keine verwaisten Anforderungen, keine verwaisten Architektur-Elemente.
**Verifikation in der CI:**
```bash
doorstop check # bidirektional, schlaegt fehl bei Luecken
doorstop publish all docs/traceability/ # Traceability-Matrix erzeugen
```
Vorlagen unter `dev-process/vorlagen/`:
- `SA-vorlage.md` — System Architecture Element
- `SWA-vorlage.md` — Software Architecture Element
SWD wird nur fuer ASIL-C/D zwingend gefuehrt; fuer QM/A/B reichen Code + Header-Kommentare.
---
## Diagramme: PlantUML
PlantUML-Diagramme werden direkt in Markdown eingebettet. Kein separates Tool, kein Export.
**Rendering:**
- Gitea: Automatisch via PlantUML-Server (Konfiguration in `app.ini`)
- VS Code: PlantUML-Extension (jebbs.plantuml) fuer Live-Preview
- Export: pandoc mit PlantUML-Filter fuer PDF
---
## MISRA: Cppcheck + MISRA-Addon
Cppcheck mit MISRA-Addon prueft C-Code auf MISRA-Konformitaet. Kostenlos, laeuft in der CI-Pipeline.
```bash
cppcheck --addon=misra --error-exitcode=1 src/
```
Deviation Permits und Records werden als Markdown-Dateien im `misra/`-Verzeichnis verwaltet. Vorlagen unter `dev-process/vorlagen/`.
---
## Coverage
| ASIL | Tool | Methode |
|------|------|---------|
| AB | gcov/lcov | Statement + Branch Coverage |
| CD | MCDC-Star | MC/DC Coverage |
Coverage-Reports werden in der CI generiert und unter `tests/results/` abgelegt.
---
## Unit Tests
CppUTest oder Google Test, je nach Projektanforderung.
- Tests unter `tests/unit/`
- Ergebnisse unter `tests/results/`
- CI fuehrt Tests bei jedem Push aus
---
## Static Analysis
| Tool | Zweck |
|------|-------|
| Cppcheck | Allgemeine statische Analyse + MISRA |
| clang-tidy | Modernisierung, Stil, Bugs |
Beide laufen in der CI-Pipeline.
---
## Build: SCons / CMake
Je nach Projekt SCons oder CMake. Cross-Compilation fuer ARM-Targets.
---
## Compiler
| Compiler | Sprache | Qualifizierung |
|----------|---------|----------------|
| GCC ARM | C/C++ | Eigene Qualifizierung nach ISO 26262 |
| Ferrocene | Rust | Zertifizierter Rust-Compiler fuer Safety |
---
## CI: Gitea Actions
Pipeline-Datei: `.gitea/workflows/validate.yml`
Schritte bei jedem Push/PR:
1. Doorstop-Konsistenz pruefen
2. MISRA-Check
3. Unit Tests
4. Coverage
5. Traceability-Report generieren
Syntax kompatibel mit GitHub Actions.
---
## Open Source Analyse
| Tool | Zweck |
|------|-------|
| ScanCode | Lizenz-Erkennung in Quellcode |
| FOSSology | Lizenz-Compliance-Analyse |
Wichtig fuer Automotive: Lizenz-Compliance muss dokumentiert sein.
---
## KI-Unterstuetzung: Continue.dev + Ollama
Continue.dev als VS Code Extension mit Ollama als lokalem Backend.
- Kein Cloud-Service, alle Daten bleiben lokal
- Kein Datenschutzproblem mit Kundendaten
- Unterstuetzung beim Code-Schreiben, Reviews, Dokumentation
---
## Dokumentenexport: pandoc
```bash
pandoc dokument.md -o dokument.pdf --pdf-engine=xelatex
```
Alle Dokumente in Markdown, Export nach PDF fuer Kunden und Audits.
---
## VS Code Extensions
| Extension | Zweck |
|-----------|-------|
| PlantUML (jebbs.plantuml) | PlantUML-Preview |
| Markdown All in One | Markdown-Editing |
| GitLens | Git-History, Blame |
| YAML (redhat.vscode-yaml) | YAML-Validierung |
| Continue.dev | KI mit Ollama |