feat(i18n): dev-process repo in English

- README.md: full English rewrite
- All 13 vorlagen MD templates hand-translated:
  PID, PM-Plan, QA-Plan, SWE-Plan, Test-Plan,
  SA, SWA, Review-Protokoll, Non-Conformity,
  MISRA-Deviation-Permit, MISRA-Deviation-Record,
  Traceability-Matrix, angebot (quotation)
- Master Word template (slohmaier-doc-template.docx) regenerated
  in English: cover page, document control, TOC headers,
  classification banner all English
- All derived Word vorlagen regenerated from English MD sources

Still to translate: toolstack.md, gitea-aspice-setup.md
This commit is contained in:
Stefan Lohmaier
2026-05-12 03:42:35 -07:00
parent 6e458ae76f
commit d5cfec9e42
25 changed files with 774 additions and 875 deletions
+71 -72
View File
@@ -5,83 +5,83 @@ links:
- SWE-XXX: [hash]
---
# SWA-XXX: [Komponenten-Name]
# SWA-XXX: [Component name]
> **Software Architectural Design Element (ASPICE SWE.2).**
> Beschreibt eine Software-Komponente und ihr Mapping auf Software-Anforderungen.
> Describes a software component and its mapping to software requirements.
| Feld | Wert |
|----------|-------------------------------|
| Projekt | [Projektname] |
| Datum | [YYYY-MM-DD] |
| Version | [1.0] |
| Status | [Entwurf / Freigegeben] |
| ASIL | [QM / A / B / C / D] |
| Autor | [Name] |
| Parent | [SA-XXX, falls vorhanden] |
| Field | Value |
|----------|--------------------------------|
| Project | [Project name] |
| Date | [YYYY-MM-DD] |
| Version | [1.0] |
| Status | [Draft / Released] |
| ASIL | [QM / A / B / C / D] |
| Author | [Name] |
| Parent | [SA-XXX, if applicable] |
---
## 1. Verantwortung
## 1. Responsibility
[Ein bis zwei Saetze: Was tut diese Komponente? Wo ist die Abgrenzung zu Nachbar-Komponenten?]
[One or two sentences: what does this component do? Where is the boundary to neighbouring components?]
## 2. Statische Sicht
## 2. Static view
### 2.1 Komponentendiagramm
### 2.1 Component diagram
```plantuml
@startuml
package "[Komponenten-Name]" {
[Submodul A]
[Submodul B]
package "[Component name]" {
[Submodule A]
[Submodule B]
}
[Submodul A] --> [Submodul B]
[Komponenten-Name] ..> [Nachbar-Komponente] : nutzt
[Submodule A] --> [Submodule B]
[Component name] ..> [Neighbour component] : uses
@enduml
```
### 2.2 Eingebettete / verwendete Komponenten
### 2.2 Embedded / used components
| Komponente | Verweis | Verwendung |
|---------------|----------|--------------------------|
| [Name] | SWA-YYY | [wofuer] |
| Component | Reference | Use |
|---------------|-----------|---------------------------|
| [Name] | SWA-YYY | [for what] |
## 3. Schnittstellen
## 3. Interfaces
### 3.1 Bereitgestellte Schnittstelle (Provided)
### 3.1 Provided interface
```c
/**
* @brief [Kurzbeschreibung]
* @param [name] [Bedeutung, Wertebereich]
* @return [Status / Wert]
* @pre [Vorbedingung]
* @post [Nachbedingung]
* @brief [Short description]
* @param [name] [Meaning, value range]
* @return [Status / value]
* @pre [Precondition]
* @post [Postcondition]
*/
Status component_init(const Config* cfg);
```
| Funktion | Zweck | Pre-Condition | Post-Condition |
|------------------|----------------------|-----------------------|------------------------|
| component_init | Initialisierung | cfg != NULL | Komponente betriebsbereit |
| component_send | Daten senden | initialisiert | Daten in TX-Buffer |
| Function | Purpose | Pre-condition | Post-condition |
|------------------|--------------------|-----------------------|------------------------|
| component_init | Initialisation | cfg != NULL | Component ready |
| component_send | Send data | initialised | Data in TX buffer |
### 3.2 Benoetigte Schnittstelle (Required)
### 3.2 Required interface
| Schnittstelle | Bereitgestellt von | Zweck |
|-------------------|--------------------|-----------------------|
| ILogger::log() | LoggerComponent | Diagnose / Tracing |
| IClock::now() | ClockComponent | Zeitstempel |
| Interface | Provided by | Purpose |
|-------------------|--------------------|---------------------|
| ILogger::log() | LoggerComponent | Diagnostics / tracing |
| IClock::now() | ClockComponent | Timestamps |
## 4. Dynamisches Verhalten
## 4. Dynamic behaviour
### 4.1 Sequenzdiagramm (kritischer Ablauf)
### 4.1 Sequence diagram (critical flow)
```plantuml
@startuml
participant App
participant "[Komponente]" as C
participant "[Component]" as C
participant HW
App -> C: init(cfg)
C -> HW: configure
@@ -90,7 +90,7 @@ C --> App: STATUS_OK
@enduml
```
### 4.2 Zustandsdiagramm (falls zutreffend)
### 4.2 State diagram (if applicable)
```plantuml
@startuml
@@ -103,46 +103,45 @@ Error --> Ready : reset()
@enduml
```
## 5. Ressourcen-Bedarf
## 5. Resource demand
| Ressource | Worst-Case | Methode der Bestimmung |
|-------------------|--------------|-----------------------------|
| Stack | [z.B. 256 B] | [Messung / statische Analyse] |
| Heap | [z.B. 0 B] | [keine Heap-Nutzung] |
| Flash | [z.B. 4 KB] | [Map-File des Linkers] |
| RAM (statisch) | [z.B. 128 B] | [Map-File des Linkers] |
| CPU-Last | [z.B. < 1 %] | [Messung auf Zielsystem] |
| Worst-Case Timing | [z.B. 200 us / Aufruf init()] | [Messung HiL] |
| Resource | Worst case | Method of determination |
|-------------------|--------------|------------------------------|
| Stack | [e.g. 256 B] | [Measurement / static analysis] |
| Heap | [e.g. 0 B] | [No heap use] |
| Flash | [e.g. 4 KB] | [Linker map file] |
| RAM (static) | [e.g. 128 B] | [Linker map file] |
| CPU load | [e.g. < 1%] | [Measurement on target] |
| Worst-case timing | [e.g. 200 us / call init()] | [HiL measurement] |
## 6. Fehlerverhalten
## 6. Failure behaviour
| Fehlerfall | Erkennung | Reaktion |
| Failure case | Detection | Reaction |
|-----------------------|-------------------|---------------------------|
| Ungueltige Konfig | Parameter-Check | Status STATUS_EINVAL |
| HW-Timeout | Timer | Retry, dann STATUS_TIMEOUT |
| Buffer voll | Check vor Schreiben | STATUS_NOSPACE |
| Invalid config | Parameter check | Status STATUS_EINVAL |
| HW timeout | Timer | Retry, then STATUS_TIMEOUT |
| Buffer full | Pre-write check | STATUS_NOSPACE |
## 7. Designentscheidungen
## 7. Design decisions
| Entscheidung | Alternative(n) | Begruendung |
|------------------------|------------------|--------------------------|
| [z.B. statische Allokation] | [Heap] | [deterministisch, MISRA] |
| [Lock-Strategie] | [Mutex / lock-free] | [Begruendung] |
| Decision | Alternative(s) | Rationale |
|------------------------|------------------|----------------------------|
| [e.g. static allocation] | [Heap] | [Deterministic, MISRA] |
| [Locking strategy] | [Mutex / lock-free] | [Rationale] |
## 8. Mapping auf Anforderungen
## 8. Mapping to requirements
| Anforderung | Wie abgedeckt | Verifikations-Test |
|---------------|----------------------------------------------|----------------------------|
| SWE-XXX | [welcher Teil dieser Komponente erfuellt es] | TST-UNIT-XXX, TST-INT-YYY |
| Requirement | How covered | Verification test |
|---------------|-----------------------------------------------|----------------------------|
| SWE-XXX | [which part of this component fulfils it] | TST-UNIT-XXX, TST-INT-YYY |
| SWE-YYY | [...] | TST-UNIT-YYY |
Jede in den `links` referenzierte SWE-Anforderung muss in dieser Tabelle einen Eintrag haben.
Every SWE requirement listed in `links` must have an entry in this table.
## 9. Detail-Design
## 9. Detailed design
Detail-Design (ASPICE SWE.3) wird ab ASIL-C separat in `arch/swd/SWD-XXX.md` gefuehrt.
Fuer ASIL-A/B und QM ist Code + Header-Kommentare ausreichend.
Detailed design (ASPICE SWE.3) is maintained separately under `arch/swd/SWD-XXX.md` from ASIL-C upwards. For ASIL-A/B and QM, code plus header comments are sufficient.
---
*Aenderungen an diesem Architektur-Element gehen per PR mit mind. 2 Technical-Review-Approvals (siehe SWE-Plan).*
*Changes to this architecture element go through a PR with at least 2 technical-review approvals (see SWE Plan).*