feat: Safety Goals + Drive-Away-Assist + vollst. Traceability
Validate / build-test (macos-latest) (push) Failing after 4s
Validate / build-test (windows-latest) (push) Failing after 17s
Validate / build-test (ubuntu-latest) (push) Successful in 16s
Validate / reports (push) Has been skipped
Release / release (push) Successful in 48s
Validate / build-test (macos-latest) (push) Failing after 4s
Validate / build-test (windows-latest) (push) Failing after 17s
Validate / build-test (ubuntu-latest) (push) Successful in 16s
Validate / reports (push) Has been skipped
Release / release (push) Successful in 48s
Neue Layer: - safety/sg/SG-001..005 als eigene Doorstop-Items (ASIL D/D/A/C/B) - SYS-Reqs verlinken nach oben auf SG via frontmatter - Kette ist jetzt: SG -> SYS -> SA, SWE -> SWA -> Code (@arch) + Test (@reqs) Drive-Away-Assist im Safety Manager: - SWE-011 (Anfahrabsicht erkennen) implementiert - SWE-012 (Sicherheits-Check Tuer + Gurt) implementiert - Neuer State SAFETY_DRIVE_AWAY + safety_mgr_release_requested() - SafetyInputs erweitert um gas_pedal_percent, gear_in_drive, door_closed, seatbelt_fastened - 5 neue Tests (DRIVE_AWAY armed/blocked/end-conditions) - Test-Header @reqs erweitert auf SWE-007..012 traceability.py erweitert: - SG als neuer Top-Level - Code-Mapping-Check: @arch im Header von src/*.c muss SWA-id matchen - Test-Mapping-Check: @reqs im Header der Tests muss alle SWE der zugehoerigen SWA abdecken - HTML zeigt 7 Spalten: SG | SYS | SA | SWE | SWA | Code | Test - 2 zusaetzliche Tabellen: Code->Arch und Test->Reqs test_apply_controller.c: - @reqs Header um SWE-005 ergaenzt (war funktional drin, nur Tag fehlte) Counts: - 55 doorstop-Items (war 50) - 46 Unit-Tests (war 41) - Traceability vollstaendig in beide Richtungen
This commit is contained in:
+140
-17
@@ -3,27 +3,150 @@
|
||||
<title>demo-epb — Traceability Matrix</title>
|
||||
<style>
|
||||
body{font-family:-apple-system,Segoe UI,sans-serif;padding:20px;color:#222}
|
||||
table{border-collapse:collapse;width:100%;font-size:14px}
|
||||
table{border-collapse:collapse;width:100%;font-size:13px;margin-top:16px}
|
||||
th,td{border:1px solid #ccc;padding:6px 8px;vertical-align:top;text-align:left}
|
||||
th{background:#f0f0f0}
|
||||
th{background:#f0f0f0;position:sticky;top:0}
|
||||
tr:nth-child(even) td{background:#fafafa}
|
||||
.asil{display:inline-block;padding:1px 6px;border-radius:3px;color:white;font-weight:bold;font-size:11px}
|
||||
.id{font-family:Consolas,monospace;font-size:13px}
|
||||
.id{font-family:Consolas,monospace;font-size:12px}
|
||||
.cnt{color:#666;font-size:11px}
|
||||
h1{color:#1f3864}
|
||||
h1{color:#1f3864}h2{color:#1f3864;margin-top:30px}
|
||||
.missing{color:#c00}
|
||||
</style></head><body>
|
||||
<h1>demo-epb — Traceability Matrix</h1>
|
||||
<p>Generiert aus 50 Items (SYS: 10, SWE: 25, SA: 5, SWA: 10).</p>
|
||||
<p>Vollstaendige Kette: <code>SG → SYS → SA, SWE → SWA → Code (@arch) + Test (@reqs)</code></p>
|
||||
<p>
|
||||
<strong>SG:</strong> 5
|
||||
<strong>SYS:</strong> 10
|
||||
<strong>SWE:</strong> 25
|
||||
<strong>SA:</strong> 5
|
||||
<strong>SWA:</strong> 10
|
||||
<strong>Code-Files:</strong> 4
|
||||
<strong>Test-Files:</strong> 4
|
||||
</p>
|
||||
<table>
|
||||
<tr><th>System-Requirement</th><th>System-Arch (SA)</th><th>Software-Req (SWE)</th><th>Software-Arch (SWA)</th></tr>
|
||||
<tr><td><div><span class='id'>SYS-001</span> <span class='asil' style='background:#d62728'>D</span></div><div class='cnt'>Halten der Parkbremse im Stillstand</div></td><td><div><span class='id'>SA-001</span> <span class='asil' style='background:#d62728'>D</span></div><div class='cnt'>EPB ECU</div><div><span class='id'>SA-002</span> <span class='asil' style='background:#d62728'>D</span></div><div class='cnt'>Aktoren (Caliper-Motoren)</div></td><td><div><span class='id'>SWE-001</span> <span class='asil' style='background:#d62728'>D</span></div><div class='cnt'>Apply-Controller haelt Klemmkraft</div><div><span class='id'>SWE-002</span> <span class='asil' style='background:#d62728'>D</span></div><div class='cnt'>Watchdog ueberwacht Apply-Controller</div><div><span class='id'>SWE-022</span> <span class='asil' style='background:#2ca02c'>B</span></div><div class='cnt'>Stillstands-Erkennung aus Wheel Speeds</div></td><td><div><span class='id'>SWA-002</span> <span class='asil' style='background:#d62728'>D</span></div><div class='cnt'>Apply Controller</div><div><span class='id'>SWA-004</span> <span class='asil' style='background:#2ca02c'>B</span></div><div class='cnt'>Wheel Speed Plausibilisierung</div></td></tr>
|
||||
<tr><td><div><span class='id'>SYS-002</span> <span class='asil' style='background:#d62728'>D</span></div><div class='cnt'>Apply auf Fahrer-Anforderung</div></td><td><div><span class='id'>SA-001</span> <span class='asil' style='background:#d62728'>D</span></div><div class='cnt'>EPB ECU</div><div><span class='id'>SA-002</span> <span class='asil' style='background:#d62728'>D</span></div><div class='cnt'>Aktoren (Caliper-Motoren)</div></td><td><div><span class='id'>SWE-003</span> <span class='asil' style='background:#d62728'>D</span></div><div class='cnt'>Schalter-Apply-Signal an Apply-Controller weiterleiten</div><div><span class='id'>SWE-004</span> <span class='asil' style='background:#d62728'>D</span></div><div class='cnt'>Klemmkraft-Erreichen bestaetigen</div><div><span class='id'>SWE-022</span> <span class='asil' style='background:#2ca02c'>B</span></div><div class='cnt'>Stillstands-Erkennung aus Wheel Speeds</div><div><span class='id'>SWE-025</span> <span class='asil' style='background:#888'>QM</span></div><div class='cnt'>Switch-Debouncing</div></td><td><div><span class='id'>SWA-002</span> <span class='asil' style='background:#d62728'>D</span></div><div class='cnt'>Apply Controller</div><div><span class='id'>SWA-004</span> <span class='asil' style='background:#2ca02c'>B</span></div><div class='cnt'>Wheel Speed Plausibilisierung</div><div><span class='id'>SWA-006</span> <span class='asil' style='background:#888'>QM</span></div><div class='cnt'>Switch Debouncer</div></td></tr>
|
||||
<tr><td><div><span class='id'>SYS-003</span> <span class='asil' style='background:#2ca02c'>B</span></div><div class='cnt'>Release auf Fahrer-Anforderung</div></td><td><div><span class='id'>SA-001</span> <span class='asil' style='background:#d62728'>D</span></div><div class='cnt'>EPB ECU</div><div><span class='id'>SA-002</span> <span class='asil' style='background:#d62728'>D</span></div><div class='cnt'>Aktoren (Caliper-Motoren)</div></td><td><div><span class='id'>SWE-005</span> <span class='asil' style='background:#2ca02c'>B</span></div><div class='cnt'>Release-Voraussetzungen pruefen</div><div><span class='id'>SWE-006</span> <span class='asil' style='background:#2ca02c'>B</span></div><div class='cnt'>Aktoren in Release-Position fahren</div><div><span class='id'>SWE-025</span> <span class='asil' style='background:#888'>QM</span></div><div class='cnt'>Switch-Debouncing</div></td><td><div><span class='id'>SWA-002</span> <span class='asil' style='background:#d62728'>D</span></div><div class='cnt'>Apply Controller</div><div><span class='id'>SWA-003</span> <span class='asil' style='background:#2ca02c'>B</span></div><div class='cnt'>Actuator Driver</div><div><span class='id'>SWA-006</span> <span class='asil' style='background:#888'>QM</span></div><div class='cnt'>Switch Debouncer</div></td></tr>
|
||||
<tr><td><div><span class='id'>SYS-004</span> <span class='asil' style='background:#d62728'>D</span></div><div class='cnt'>Auto-Apply bei Motor-Aus</div></td><td><div><span class='id'>SA-001</span> <span class='asil' style='background:#d62728'>D</span></div><div class='cnt'>EPB ECU</div></td><td><div><span class='id'>SWE-007</span> <span class='asil' style='background:#d62728'>D</span></div><div class='cnt'>Motor-Aus-Bedingung erkennen</div><div><span class='id'>SWE-008</span> <span class='asil' style='background:#d62728'>D</span></div><div class='cnt'>Auto-Apply nach 2 s Verzoegerung</div></td><td><div><span class='id'>SWA-001</span> <span class='asil' style='background:#d62728'>D</span></div><div class='cnt'>Safety Manager</div></td></tr>
|
||||
<tr><td><div><span class='id'>SYS-005</span> <span class='asil' style='background:#d62728'>D</span></div><div class='cnt'>Hill-Hold am Berg</div></td><td><div><span class='id'>SA-001</span> <span class='asil' style='background:#d62728'>D</span></div><div class='cnt'>EPB ECU</div><div><span class='id'>SA-003</span> <span class='asil' style='background:#2ca02c'>B</span></div><div class='cnt'>Sensor-Cluster</div></td><td><div><span class='id'>SWE-009</span> <span class='asil' style='background:#d62728'>D</span></div><div class='cnt'>Hill-Hold-Aktivierungsbedingung</div><div><span class='id'>SWE-010</span> <span class='asil' style='background:#d62728'>D</span></div><div class='cnt'>Hill-Hold-Uebergabe an Apply-Controller</div><div><span class='id'>SWE-024</span> <span class='asil' style='background:#2ca02c'>B</span></div><div class='cnt'>Inclinometer Tiefpass-Filter</div></td><td><div><span class='id'>SWA-001</span> <span class='asil' style='background:#d62728'>D</span></div><div class='cnt'>Safety Manager</div><div><span class='id'>SWA-005</span> <span class='asil' style='background:#2ca02c'>B</span></div><div class='cnt'>Inclinometer Filter</div></td></tr>
|
||||
<tr><td><div><span class='id'>SYS-006</span> <span class='asil' style='background:#2ca02c'>B</span></div><div class='cnt'>Auto-Release beim Anfahren (Drive-Away-Assist)</div></td><td><div><span class='id'>SA-001</span> <span class='asil' style='background:#d62728'>D</span></div><div class='cnt'>EPB ECU</div><div><span class='id'>SA-003</span> <span class='asil' style='background:#2ca02c'>B</span></div><div class='cnt'>Sensor-Cluster</div></td><td><div><span class='id'>SWE-011</span> <span class='asil' style='background:#2ca02c'>B</span></div><div class='cnt'>Anfahrabsicht erkennen</div><div><span class='id'>SWE-012</span> <span class='asil' style='background:#2ca02c'>B</span></div><div class='cnt'>Sicherheits-Check vor Auto-Release</div><div><span class='id'>SWE-022</span> <span class='asil' style='background:#2ca02c'>B</span></div><div class='cnt'>Stillstands-Erkennung aus Wheel Speeds</div></td><td><div><span class='id'>SWA-001</span> <span class='asil' style='background:#d62728'>D</span></div><div class='cnt'>Safety Manager</div><div><span class='id'>SWA-004</span> <span class='asil' style='background:#2ca02c'>B</span></div><div class='cnt'>Wheel Speed Plausibilisierung</div></td></tr>
|
||||
<tr><td><div><span class='id'>SYS-007</span> <span class='asil' style='background:#2ca02c'>B</span></div><div class='cnt'>Aktor-Stromueberwachung</div></td><td><div><span class='id'>SA-001</span> <span class='asil' style='background:#d62728'>D</span></div><div class='cnt'>EPB ECU</div><div><span class='id'>SA-002</span> <span class='asil' style='background:#d62728'>D</span></div><div class='cnt'>Aktoren (Caliper-Motoren)</div><div><span class='id'>SA-003</span> <span class='asil' style='background:#2ca02c'>B</span></div><div class='cnt'>Sensor-Cluster</div></td><td><div><span class='id'>SWE-013</span> <span class='asil' style='background:#2ca02c'>B</span></div><div class='cnt'>Strommessung mit 1 kHz</div><div><span class='id'>SWE-014</span> <span class='asil' style='background:#2ca02c'>B</span></div><div class='cnt'>Overcurrent-Cutoff</div><div><span class='id'>SWE-015</span> <span class='asil' style='background:#2ca02c'>B</span></div><div class='cnt'>Klemmkraft-Schaetzung aus Strom-Profil</div><div><span class='id'>SWE-023</span> <span class='asil' style='background:#2ca02c'>B</span></div><div class='cnt'>Wheel Speed Plausibilisierung</div></td><td><div><span class='id'>SWA-003</span> <span class='asil' style='background:#2ca02c'>B</span></div><div class='cnt'>Actuator Driver</div><div><span class='id'>SWA-004</span> <span class='asil' style='background:#2ca02c'>B</span></div><div class='cnt'>Wheel Speed Plausibilisierung</div></td></tr>
|
||||
<tr><td><div><span class='id'>SYS-008</span> <span class='asil' style='background:#888'>QM</span></div><div class='cnt'>Service-Modus fuer Werkstatt</div></td><td><div><span class='id'>SA-001</span> <span class='asil' style='background:#d62728'>D</span></div><div class='cnt'>EPB ECU</div><div><span class='id'>SA-004</span> <span class='asil' style='background:#888'>QM</span></div><div class='cnt'>HMI (Schalter, LED, Display)</div></td><td><div><span class='id'>SWE-016</span> <span class='asil' style='background:#888'>QM</span></div><div class='cnt'>UDS RoutineControl 0x31 fuer Service-Release</div><div><span class='id'>SWE-017</span> <span class='asil' style='background:#888'>QM</span></div><div class='cnt'>Service-Mode-Indikator</div></td><td><div><span class='id'>SWA-009</span> <span class='asil' style='background:#888'>QM</span></div><div class='cnt'>Service Mode</div></td></tr>
|
||||
<tr><td><div><span class='id'>SYS-009</span> <span class='asil' style='background:#888'>QM</span></div><div class='cnt'>UDS-Diagnose</div></td><td><div><span class='id'>SA-001</span> <span class='asil' style='background:#d62728'>D</span></div><div class='cnt'>EPB ECU</div><div><span class='id'>SA-005</span> <span class='asil' style='background:#888'>QM</span></div><div class='cnt'>CAN-Bus</div></td><td><div><span class='id'>SWE-018</span> <span class='asil' style='background:#888'>QM</span></div><div class='cnt'>UDS Service 0x19 ReadDTC</div><div><span class='id'>SWE-019</span> <span class='asil' style='background:#888'>QM</span></div><div class='cnt'>UDS Service 0x22 ReadDataByIdentifier</div></td><td><div><span class='id'>SWA-008</span> <span class='asil' style='background:#888'>QM</span></div><div class='cnt'>Diagnostic Manager</div><div><span class='id'>SWA-010</span> <span class='asil' style='background:#888'>QM</span></div><div class='cnt'>Logger</div></td></tr>
|
||||
<tr><td><div><span class='id'>SYS-010</span> <span class='asil' style='background:#888'>QM</span></div><div class='cnt'>HMI-Statusanzeige</div></td><td><div><span class='id'>SA-001</span> <span class='asil' style='background:#d62728'>D</span></div><div class='cnt'>EPB ECU</div><div><span class='id'>SA-004</span> <span class='asil' style='background:#888'>QM</span></div><div class='cnt'>HMI (Schalter, LED, Display)</div><div><span class='id'>SA-005</span> <span class='asil' style='background:#888'>QM</span></div><div class='cnt'>CAN-Bus</div></td><td><div><span class='id'>SWE-020</span> <span class='asil' style='background:#888'>QM</span></div><div class='cnt'>LED-Steuerung</div><div><span class='id'>SWE-021</span> <span class='asil' style='background:#888'>QM</span></div><div class='cnt'>CAN-Status-Frame</div></td><td><div><span class='id'>SWA-007</span> <span class='asil' style='background:#888'>QM</span></div><div class='cnt'>Display Manager</div></td></tr>
|
||||
</table></body></html>
|
||||
<tr><th>Safety Goal</th><th>System-Requirement</th><th>System-Arch</th><th>Software-Req</th><th>Software-Arch</th><th>Code</th><th>Test</th></tr>
|
||||
<tr>
|
||||
<td><div><span class='id'>SG-001</span> <span class='asil' style='background:#d62728'>D</span></div><div class='cnt'>Kein ungewolltes Loesen der Parkbremse im Stillstand</div></td>
|
||||
<td><div><span class='id'>SYS-001</span> <span class='asil' style='background:#d62728'>D</span></div><div class='cnt'>Halten der Parkbremse im Stillstand</div></td>
|
||||
<td><div><span class='id'>SA-001</span> <span class='asil' style='background:#d62728'>D</span></div><div class='cnt'>EPB ECU</div><div><span class='id'>SA-002</span> <span class='asil' style='background:#d62728'>D</span></div><div class='cnt'>Aktoren (Caliper-Motoren)</div></td>
|
||||
<td><div><span class='id'>SWE-001</span> <span class='asil' style='background:#d62728'>D</span></div><div class='cnt'>Apply-Controller haelt Klemmkraft</div><div><span class='id'>SWE-002</span> <span class='asil' style='background:#d62728'>D</span></div><div class='cnt'>Watchdog ueberwacht Apply-Controller</div><div><span class='id'>SWE-022</span> <span class='asil' style='background:#2ca02c'>B</span></div><div class='cnt'>Stillstands-Erkennung aus Wheel Speeds</div></td>
|
||||
<td><div><span class='id'>SWA-002</span> <span class='asil' style='background:#d62728'>D</span></div><div class='cnt'>Apply Controller</div><div><span class='id'>SWA-004</span> <span class='asil' style='background:#2ca02c'>B</span></div><div class='cnt'>Wheel Speed Plausibilisierung</div></td>
|
||||
<td><div class='id'>src/apply_controller.c</div></td>
|
||||
<td><div class='id'>tests/unit/test_apply_controller.c</div></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><div><span class='id'>SG-001</span> <span class='asil' style='background:#d62728'>D</span></div><div class='cnt'>Kein ungewolltes Loesen der Parkbremse im Stillstand</div></td>
|
||||
<td><div><span class='id'>SYS-004</span> <span class='asil' style='background:#d62728'>D</span></div><div class='cnt'>Auto-Apply bei Motor-Aus</div></td>
|
||||
<td><div><span class='id'>SA-001</span> <span class='asil' style='background:#d62728'>D</span></div><div class='cnt'>EPB ECU</div></td>
|
||||
<td><div><span class='id'>SWE-007</span> <span class='asil' style='background:#d62728'>D</span></div><div class='cnt'>Motor-Aus-Bedingung erkennen</div><div><span class='id'>SWE-008</span> <span class='asil' style='background:#d62728'>D</span></div><div class='cnt'>Auto-Apply nach 2 s Verzoegerung</div></td>
|
||||
<td><div><span class='id'>SWA-001</span> <span class='asil' style='background:#d62728'>D</span></div><div class='cnt'>Safety Manager</div></td>
|
||||
<td><div class='id'>src/safety_manager.c</div></td>
|
||||
<td><div class='id'>tests/unit/test_safety_manager.c</div></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><div><span class='id'>SG-002</span> <span class='asil' style='background:#d62728'>D</span></div><div class='cnt'>Kein ungewolltes Festklemmen waehrend der Fahrt</div></td>
|
||||
<td><div><span class='id'>SYS-002</span> <span class='asil' style='background:#d62728'>D</span></div><div class='cnt'>Apply auf Fahrer-Anforderung</div></td>
|
||||
<td><div><span class='id'>SA-001</span> <span class='asil' style='background:#d62728'>D</span></div><div class='cnt'>EPB ECU</div><div><span class='id'>SA-002</span> <span class='asil' style='background:#d62728'>D</span></div><div class='cnt'>Aktoren (Caliper-Motoren)</div></td>
|
||||
<td><div><span class='id'>SWE-003</span> <span class='asil' style='background:#d62728'>D</span></div><div class='cnt'>Schalter-Apply-Signal an Apply-Controller weiterleiten</div><div><span class='id'>SWE-004</span> <span class='asil' style='background:#d62728'>D</span></div><div class='cnt'>Klemmkraft-Erreichen bestaetigen</div><div><span class='id'>SWE-022</span> <span class='asil' style='background:#2ca02c'>B</span></div><div class='cnt'>Stillstands-Erkennung aus Wheel Speeds</div><div><span class='id'>SWE-025</span> <span class='asil' style='background:#888'>QM</span></div><div class='cnt'>Switch-Debouncing</div></td>
|
||||
<td><div><span class='id'>SWA-002</span> <span class='asil' style='background:#d62728'>D</span></div><div class='cnt'>Apply Controller</div><div><span class='id'>SWA-004</span> <span class='asil' style='background:#2ca02c'>B</span></div><div class='cnt'>Wheel Speed Plausibilisierung</div><div><span class='id'>SWA-006</span> <span class='asil' style='background:#888'>QM</span></div><div class='cnt'>Switch Debouncer</div></td>
|
||||
<td><div class='id'>src/apply_controller.c</div><div class='id'>src/switch_debouncer.c</div></td>
|
||||
<td><div class='id'>tests/unit/test_apply_controller.c</div><div class='id'>tests/unit/test_switch_debouncer.c</div></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><div><span class='id'>SG-002</span> <span class='asil' style='background:#d62728'>D</span></div><div class='cnt'>Kein ungewolltes Festklemmen waehrend der Fahrt</div></td>
|
||||
<td><div><span class='id'>SYS-005</span> <span class='asil' style='background:#d62728'>D</span></div><div class='cnt'>Hill-Hold am Berg</div></td>
|
||||
<td><div><span class='id'>SA-001</span> <span class='asil' style='background:#d62728'>D</span></div><div class='cnt'>EPB ECU</div><div><span class='id'>SA-003</span> <span class='asil' style='background:#2ca02c'>B</span></div><div class='cnt'>Sensor-Cluster</div></td>
|
||||
<td><div><span class='id'>SWE-009</span> <span class='asil' style='background:#d62728'>D</span></div><div class='cnt'>Hill-Hold-Aktivierungsbedingung</div><div><span class='id'>SWE-010</span> <span class='asil' style='background:#d62728'>D</span></div><div class='cnt'>Hill-Hold-Uebergabe an Apply-Controller</div><div><span class='id'>SWE-024</span> <span class='asil' style='background:#2ca02c'>B</span></div><div class='cnt'>Inclinometer Tiefpass-Filter</div></td>
|
||||
<td><div><span class='id'>SWA-001</span> <span class='asil' style='background:#d62728'>D</span></div><div class='cnt'>Safety Manager</div><div><span class='id'>SWA-005</span> <span class='asil' style='background:#2ca02c'>B</span></div><div class='cnt'>Inclinometer Filter</div></td>
|
||||
<td><div class='id'>src/safety_manager.c</div></td>
|
||||
<td><div class='id'>tests/unit/test_safety_manager.c</div></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><div><span class='id'>SG-003</span> <span class='asil' style='background:#1f77b4'>A</span></div><div class='cnt'>Schutz gegen Aktor-Ueberlast</div></td>
|
||||
<td><div><span class='id'>SYS-007</span> <span class='asil' style='background:#2ca02c'>B</span></div><div class='cnt'>Aktor-Stromueberwachung</div></td>
|
||||
<td><div><span class='id'>SA-001</span> <span class='asil' style='background:#d62728'>D</span></div><div class='cnt'>EPB ECU</div><div><span class='id'>SA-002</span> <span class='asil' style='background:#d62728'>D</span></div><div class='cnt'>Aktoren (Caliper-Motoren)</div><div><span class='id'>SA-003</span> <span class='asil' style='background:#2ca02c'>B</span></div><div class='cnt'>Sensor-Cluster</div></td>
|
||||
<td><div><span class='id'>SWE-013</span> <span class='asil' style='background:#2ca02c'>B</span></div><div class='cnt'>Strommessung mit 1 kHz</div><div><span class='id'>SWE-014</span> <span class='asil' style='background:#2ca02c'>B</span></div><div class='cnt'>Overcurrent-Cutoff</div><div><span class='id'>SWE-015</span> <span class='asil' style='background:#2ca02c'>B</span></div><div class='cnt'>Klemmkraft-Schaetzung aus Strom-Profil</div><div><span class='id'>SWE-023</span> <span class='asil' style='background:#2ca02c'>B</span></div><div class='cnt'>Wheel Speed Plausibilisierung</div></td>
|
||||
<td><div><span class='id'>SWA-003</span> <span class='asil' style='background:#2ca02c'>B</span></div><div class='cnt'>Actuator Driver</div><div><span class='id'>SWA-004</span> <span class='asil' style='background:#2ca02c'>B</span></div><div class='cnt'>Wheel Speed Plausibilisierung</div></td>
|
||||
<td><div class='id'>src/actuator_driver.c</div></td>
|
||||
<td><div class='id'>tests/unit/test_actuator_driver.c</div></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><div><span class='id'>SG-004</span> <span class='asil' style='background:#ff7f0e'>C</span></div><div class='cnt'>Zuverlaessige Hill-Hold-Uebergabe</div></td>
|
||||
<td><div><span class='id'>SYS-005</span> <span class='asil' style='background:#d62728'>D</span></div><div class='cnt'>Hill-Hold am Berg</div></td>
|
||||
<td><div><span class='id'>SA-001</span> <span class='asil' style='background:#d62728'>D</span></div><div class='cnt'>EPB ECU</div><div><span class='id'>SA-003</span> <span class='asil' style='background:#2ca02c'>B</span></div><div class='cnt'>Sensor-Cluster</div></td>
|
||||
<td><div><span class='id'>SWE-009</span> <span class='asil' style='background:#d62728'>D</span></div><div class='cnt'>Hill-Hold-Aktivierungsbedingung</div><div><span class='id'>SWE-010</span> <span class='asil' style='background:#d62728'>D</span></div><div class='cnt'>Hill-Hold-Uebergabe an Apply-Controller</div><div><span class='id'>SWE-024</span> <span class='asil' style='background:#2ca02c'>B</span></div><div class='cnt'>Inclinometer Tiefpass-Filter</div></td>
|
||||
<td><div><span class='id'>SWA-001</span> <span class='asil' style='background:#d62728'>D</span></div><div class='cnt'>Safety Manager</div><div><span class='id'>SWA-005</span> <span class='asil' style='background:#2ca02c'>B</span></div><div class='cnt'>Inclinometer Filter</div></td>
|
||||
<td><div class='id'>src/safety_manager.c</div></td>
|
||||
<td><div class='id'>tests/unit/test_safety_manager.c</div></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><div><span class='id'>SG-004</span> <span class='asil' style='background:#ff7f0e'>C</span></div><div class='cnt'>Zuverlaessige Hill-Hold-Uebergabe</div></td>
|
||||
<td><div><span class='id'>SYS-006</span> <span class='asil' style='background:#2ca02c'>B</span></div><div class='cnt'>Auto-Release beim Anfahren (Drive-Away-Assist)</div></td>
|
||||
<td><div><span class='id'>SA-001</span> <span class='asil' style='background:#d62728'>D</span></div><div class='cnt'>EPB ECU</div><div><span class='id'>SA-003</span> <span class='asil' style='background:#2ca02c'>B</span></div><div class='cnt'>Sensor-Cluster</div></td>
|
||||
<td><div><span class='id'>SWE-011</span> <span class='asil' style='background:#2ca02c'>B</span></div><div class='cnt'>Anfahrabsicht erkennen</div><div><span class='id'>SWE-012</span> <span class='asil' style='background:#2ca02c'>B</span></div><div class='cnt'>Sicherheits-Check vor Auto-Release</div><div><span class='id'>SWE-022</span> <span class='asil' style='background:#2ca02c'>B</span></div><div class='cnt'>Stillstands-Erkennung aus Wheel Speeds</div></td>
|
||||
<td><div><span class='id'>SWA-001</span> <span class='asil' style='background:#d62728'>D</span></div><div class='cnt'>Safety Manager</div><div><span class='id'>SWA-004</span> <span class='asil' style='background:#2ca02c'>B</span></div><div class='cnt'>Wheel Speed Plausibilisierung</div></td>
|
||||
<td><div class='id'>src/safety_manager.c</div></td>
|
||||
<td><div class='id'>tests/unit/test_safety_manager.c</div></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><div><span class='id'>SG-005</span> <span class='asil' style='background:#2ca02c'>B</span></div><div class='cnt'>Reaktion auf Fahreranforderung</div></td>
|
||||
<td><div><span class='id'>SYS-002</span> <span class='asil' style='background:#d62728'>D</span></div><div class='cnt'>Apply auf Fahrer-Anforderung</div></td>
|
||||
<td><div><span class='id'>SA-001</span> <span class='asil' style='background:#d62728'>D</span></div><div class='cnt'>EPB ECU</div><div><span class='id'>SA-002</span> <span class='asil' style='background:#d62728'>D</span></div><div class='cnt'>Aktoren (Caliper-Motoren)</div></td>
|
||||
<td><div><span class='id'>SWE-003</span> <span class='asil' style='background:#d62728'>D</span></div><div class='cnt'>Schalter-Apply-Signal an Apply-Controller weiterleiten</div><div><span class='id'>SWE-004</span> <span class='asil' style='background:#d62728'>D</span></div><div class='cnt'>Klemmkraft-Erreichen bestaetigen</div><div><span class='id'>SWE-022</span> <span class='asil' style='background:#2ca02c'>B</span></div><div class='cnt'>Stillstands-Erkennung aus Wheel Speeds</div><div><span class='id'>SWE-025</span> <span class='asil' style='background:#888'>QM</span></div><div class='cnt'>Switch-Debouncing</div></td>
|
||||
<td><div><span class='id'>SWA-002</span> <span class='asil' style='background:#d62728'>D</span></div><div class='cnt'>Apply Controller</div><div><span class='id'>SWA-004</span> <span class='asil' style='background:#2ca02c'>B</span></div><div class='cnt'>Wheel Speed Plausibilisierung</div><div><span class='id'>SWA-006</span> <span class='asil' style='background:#888'>QM</span></div><div class='cnt'>Switch Debouncer</div></td>
|
||||
<td><div class='id'>src/apply_controller.c</div><div class='id'>src/switch_debouncer.c</div></td>
|
||||
<td><div class='id'>tests/unit/test_apply_controller.c</div><div class='id'>tests/unit/test_switch_debouncer.c</div></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><div><span class='id'>SG-005</span> <span class='asil' style='background:#2ca02c'>B</span></div><div class='cnt'>Reaktion auf Fahreranforderung</div></td>
|
||||
<td><div><span class='id'>SYS-003</span> <span class='asil' style='background:#2ca02c'>B</span></div><div class='cnt'>Release auf Fahrer-Anforderung</div></td>
|
||||
<td><div><span class='id'>SA-001</span> <span class='asil' style='background:#d62728'>D</span></div><div class='cnt'>EPB ECU</div><div><span class='id'>SA-002</span> <span class='asil' style='background:#d62728'>D</span></div><div class='cnt'>Aktoren (Caliper-Motoren)</div></td>
|
||||
<td><div><span class='id'>SWE-005</span> <span class='asil' style='background:#2ca02c'>B</span></div><div class='cnt'>Release-Voraussetzungen pruefen</div><div><span class='id'>SWE-006</span> <span class='asil' style='background:#2ca02c'>B</span></div><div class='cnt'>Aktoren in Release-Position fahren</div><div><span class='id'>SWE-025</span> <span class='asil' style='background:#888'>QM</span></div><div class='cnt'>Switch-Debouncing</div></td>
|
||||
<td><div><span class='id'>SWA-002</span> <span class='asil' style='background:#d62728'>D</span></div><div class='cnt'>Apply Controller</div><div><span class='id'>SWA-003</span> <span class='asil' style='background:#2ca02c'>B</span></div><div class='cnt'>Actuator Driver</div><div><span class='id'>SWA-006</span> <span class='asil' style='background:#888'>QM</span></div><div class='cnt'>Switch Debouncer</div></td>
|
||||
<td><div class='id'>src/apply_controller.c</div><div class='id'>src/actuator_driver.c</div><div class='id'>src/switch_debouncer.c</div></td>
|
||||
<td><div class='id'>tests/unit/test_actuator_driver.c</div><div class='id'>tests/unit/test_apply_controller.c</div><div class='id'>tests/unit/test_switch_debouncer.c</div></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='missing'>—</td>
|
||||
<td><div><span class='id'>SYS-008</span> <span class='asil' style='background:#888'>QM</span></div><div class='cnt'>Service-Modus fuer Werkstatt</div></td>
|
||||
<td><div><span class='id'>SA-001</span> <span class='asil' style='background:#d62728'>D</span></div><div class='cnt'>EPB ECU</div><div><span class='id'>SA-004</span> <span class='asil' style='background:#888'>QM</span></div><div class='cnt'>HMI (Schalter, LED, Display)</div></td>
|
||||
<td><div><span class='id'>SWE-016</span> <span class='asil' style='background:#888'>QM</span></div><div class='cnt'>UDS RoutineControl 0x31 fuer Service-Release</div><div><span class='id'>SWE-017</span> <span class='asil' style='background:#888'>QM</span></div><div class='cnt'>Service-Mode-Indikator</div></td>
|
||||
<td><div><span class='id'>SWA-009</span> <span class='asil' style='background:#888'>QM</span></div><div class='cnt'>Service Mode</div></td>
|
||||
<td class='cnt'>—</td>
|
||||
<td class='cnt'>—</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='missing'>—</td>
|
||||
<td><div><span class='id'>SYS-009</span> <span class='asil' style='background:#888'>QM</span></div><div class='cnt'>UDS-Diagnose</div></td>
|
||||
<td><div><span class='id'>SA-001</span> <span class='asil' style='background:#d62728'>D</span></div><div class='cnt'>EPB ECU</div><div><span class='id'>SA-005</span> <span class='asil' style='background:#888'>QM</span></div><div class='cnt'>CAN-Bus</div></td>
|
||||
<td><div><span class='id'>SWE-018</span> <span class='asil' style='background:#888'>QM</span></div><div class='cnt'>UDS Service 0x19 ReadDTC</div><div><span class='id'>SWE-019</span> <span class='asil' style='background:#888'>QM</span></div><div class='cnt'>UDS Service 0x22 ReadDataByIdentifier</div></td>
|
||||
<td><div><span class='id'>SWA-008</span> <span class='asil' style='background:#888'>QM</span></div><div class='cnt'>Diagnostic Manager</div><div><span class='id'>SWA-010</span> <span class='asil' style='background:#888'>QM</span></div><div class='cnt'>Logger</div></td>
|
||||
<td class='cnt'>—</td>
|
||||
<td class='cnt'>—</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='missing'>—</td>
|
||||
<td><div><span class='id'>SYS-010</span> <span class='asil' style='background:#888'>QM</span></div><div class='cnt'>HMI-Statusanzeige</div></td>
|
||||
<td><div><span class='id'>SA-001</span> <span class='asil' style='background:#d62728'>D</span></div><div class='cnt'>EPB ECU</div><div><span class='id'>SA-004</span> <span class='asil' style='background:#888'>QM</span></div><div class='cnt'>HMI (Schalter, LED, Display)</div><div><span class='id'>SA-005</span> <span class='asil' style='background:#888'>QM</span></div><div class='cnt'>CAN-Bus</div></td>
|
||||
<td><div><span class='id'>SWE-020</span> <span class='asil' style='background:#888'>QM</span></div><div class='cnt'>LED-Steuerung</div><div><span class='id'>SWE-021</span> <span class='asil' style='background:#888'>QM</span></div><div class='cnt'>CAN-Status-Frame</div></td>
|
||||
<td><div><span class='id'>SWA-007</span> <span class='asil' style='background:#888'>QM</span></div><div class='cnt'>Display Manager</div></td>
|
||||
<td class='cnt'>—</td>
|
||||
<td class='cnt'>—</td>
|
||||
</tr>
|
||||
</table>
|
||||
<h2>Code → Architektur</h2>
|
||||
<table><tr><th>Datei</th><th>@arch</th><th>@reqs</th></tr>
|
||||
<tr><td class='id'>src/safety_manager.c</td><td>SWA-001</td><td class='cnt'>SWE-007 SWE-008 SWE-009 SWE-010 SWE-011 SWE-012</td></tr>
|
||||
<tr><td class='id'>src/apply_controller.c</td><td>SWA-002</td><td class='cnt'>SWE-001 SWE-002 SWE-003 SWE-004</td></tr>
|
||||
<tr><td class='id'>src/actuator_driver.c</td><td>SWA-003</td><td class='cnt'>SWE-006 SWE-013 SWE-014 SWE-015</td></tr>
|
||||
<tr><td class='id'>src/switch_debouncer.c</td><td>SWA-006</td><td class='cnt'>SWE-025</td></tr>
|
||||
</table>
|
||||
<h2>Test → Anforderungen</h2>
|
||||
<table><tr><th>Test-Datei</th><th>Decklt SWA</th><th>@reqs</th></tr>
|
||||
<tr><td class='id'>tests/unit/test_safety_manager.c</td><td>SWA-001</td><td class='cnt'>SWE-007 SWE-008 SWE-009 SWE-010 SWE-011 SWE-012</td></tr>
|
||||
<tr><td class='id'>tests/unit/test_apply_controller.c</td><td>SWA-002</td><td class='cnt'>SWE-001 SWE-002 SWE-003 SWE-004 SWE-005</td></tr>
|
||||
<tr><td class='id'>tests/unit/test_actuator_driver.c</td><td>SWA-003</td><td class='cnt'>SWE-006 SWE-013 SWE-014 SWE-015</td></tr>
|
||||
<tr><td class='id'>tests/unit/test_switch_debouncer.c</td><td>SWA-006</td><td class='cnt'>SWE-025</td></tr>
|
||||
</table>
|
||||
</body></html>
|
||||
+313
-116
@@ -1,5 +1,9 @@
|
||||
[
|
||||
{
|
||||
"sg": {
|
||||
"id": "SG-001",
|
||||
"asil": "D"
|
||||
},
|
||||
"sys": {
|
||||
"id": "SYS-001",
|
||||
"asil": "D",
|
||||
@@ -38,9 +42,58 @@
|
||||
"id": "SWA-004",
|
||||
"asil": "B"
|
||||
}
|
||||
],
|
||||
"code": [
|
||||
"src/apply_controller.c"
|
||||
],
|
||||
"tests": [
|
||||
"tests/unit/test_apply_controller.c"
|
||||
]
|
||||
},
|
||||
{
|
||||
"sg": {
|
||||
"id": "SG-001",
|
||||
"asil": "D"
|
||||
},
|
||||
"sys": {
|
||||
"id": "SYS-004",
|
||||
"asil": "D",
|
||||
"title": "Auto-Apply bei Motor-Aus"
|
||||
},
|
||||
"sa": [
|
||||
{
|
||||
"id": "SA-001",
|
||||
"asil": "D"
|
||||
}
|
||||
],
|
||||
"swe": [
|
||||
{
|
||||
"id": "SWE-007",
|
||||
"asil": "D"
|
||||
},
|
||||
{
|
||||
"id": "SWE-008",
|
||||
"asil": "D"
|
||||
}
|
||||
],
|
||||
"swa": [
|
||||
{
|
||||
"id": "SWA-001",
|
||||
"asil": "D"
|
||||
}
|
||||
],
|
||||
"code": [
|
||||
"src/safety_manager.c"
|
||||
],
|
||||
"tests": [
|
||||
"tests/unit/test_safety_manager.c"
|
||||
]
|
||||
},
|
||||
{
|
||||
"sg": {
|
||||
"id": "SG-002",
|
||||
"asil": "D"
|
||||
},
|
||||
"sys": {
|
||||
"id": "SYS-002",
|
||||
"asil": "D",
|
||||
@@ -87,83 +140,21 @@
|
||||
"id": "SWA-006",
|
||||
"asil": "QM"
|
||||
}
|
||||
],
|
||||
"code": [
|
||||
"src/apply_controller.c",
|
||||
"src/switch_debouncer.c"
|
||||
],
|
||||
"tests": [
|
||||
"tests/unit/test_apply_controller.c",
|
||||
"tests/unit/test_switch_debouncer.c"
|
||||
]
|
||||
},
|
||||
{
|
||||
"sys": {
|
||||
"id": "SYS-003",
|
||||
"asil": "B",
|
||||
"title": "Release auf Fahrer-Anforderung"
|
||||
"sg": {
|
||||
"id": "SG-002",
|
||||
"asil": "D"
|
||||
},
|
||||
"sa": [
|
||||
{
|
||||
"id": "SA-001",
|
||||
"asil": "D"
|
||||
},
|
||||
{
|
||||
"id": "SA-002",
|
||||
"asil": "D"
|
||||
}
|
||||
],
|
||||
"swe": [
|
||||
{
|
||||
"id": "SWE-005",
|
||||
"asil": "B"
|
||||
},
|
||||
{
|
||||
"id": "SWE-006",
|
||||
"asil": "B"
|
||||
},
|
||||
{
|
||||
"id": "SWE-025",
|
||||
"asil": "QM"
|
||||
}
|
||||
],
|
||||
"swa": [
|
||||
{
|
||||
"id": "SWA-002",
|
||||
"asil": "D"
|
||||
},
|
||||
{
|
||||
"id": "SWA-003",
|
||||
"asil": "B"
|
||||
},
|
||||
{
|
||||
"id": "SWA-006",
|
||||
"asil": "QM"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"sys": {
|
||||
"id": "SYS-004",
|
||||
"asil": "D",
|
||||
"title": "Auto-Apply bei Motor-Aus"
|
||||
},
|
||||
"sa": [
|
||||
{
|
||||
"id": "SA-001",
|
||||
"asil": "D"
|
||||
}
|
||||
],
|
||||
"swe": [
|
||||
{
|
||||
"id": "SWE-007",
|
||||
"asil": "D"
|
||||
},
|
||||
{
|
||||
"id": "SWE-008",
|
||||
"asil": "D"
|
||||
}
|
||||
],
|
||||
"swa": [
|
||||
{
|
||||
"id": "SWA-001",
|
||||
"asil": "D"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"sys": {
|
||||
"id": "SYS-005",
|
||||
"asil": "D",
|
||||
@@ -202,50 +193,19 @@
|
||||
"id": "SWA-005",
|
||||
"asil": "B"
|
||||
}
|
||||
],
|
||||
"code": [
|
||||
"src/safety_manager.c"
|
||||
],
|
||||
"tests": [
|
||||
"tests/unit/test_safety_manager.c"
|
||||
]
|
||||
},
|
||||
{
|
||||
"sys": {
|
||||
"id": "SYS-006",
|
||||
"asil": "B",
|
||||
"title": "Auto-Release beim Anfahren (Drive-Away-Assist)"
|
||||
"sg": {
|
||||
"id": "SG-003",
|
||||
"asil": "A"
|
||||
},
|
||||
"sa": [
|
||||
{
|
||||
"id": "SA-001",
|
||||
"asil": "D"
|
||||
},
|
||||
{
|
||||
"id": "SA-003",
|
||||
"asil": "B"
|
||||
}
|
||||
],
|
||||
"swe": [
|
||||
{
|
||||
"id": "SWE-011",
|
||||
"asil": "B"
|
||||
},
|
||||
{
|
||||
"id": "SWE-012",
|
||||
"asil": "B"
|
||||
},
|
||||
{
|
||||
"id": "SWE-022",
|
||||
"asil": "B"
|
||||
}
|
||||
],
|
||||
"swa": [
|
||||
{
|
||||
"id": "SWA-001",
|
||||
"asil": "D"
|
||||
},
|
||||
{
|
||||
"id": "SWA-004",
|
||||
"asil": "B"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"sys": {
|
||||
"id": "SYS-007",
|
||||
"asil": "B",
|
||||
@@ -292,9 +252,238 @@
|
||||
"id": "SWA-004",
|
||||
"asil": "B"
|
||||
}
|
||||
],
|
||||
"code": [
|
||||
"src/actuator_driver.c"
|
||||
],
|
||||
"tests": [
|
||||
"tests/unit/test_actuator_driver.c"
|
||||
]
|
||||
},
|
||||
{
|
||||
"sg": {
|
||||
"id": "SG-004",
|
||||
"asil": "C"
|
||||
},
|
||||
"sys": {
|
||||
"id": "SYS-005",
|
||||
"asil": "D",
|
||||
"title": "Hill-Hold am Berg"
|
||||
},
|
||||
"sa": [
|
||||
{
|
||||
"id": "SA-001",
|
||||
"asil": "D"
|
||||
},
|
||||
{
|
||||
"id": "SA-003",
|
||||
"asil": "B"
|
||||
}
|
||||
],
|
||||
"swe": [
|
||||
{
|
||||
"id": "SWE-009",
|
||||
"asil": "D"
|
||||
},
|
||||
{
|
||||
"id": "SWE-010",
|
||||
"asil": "D"
|
||||
},
|
||||
{
|
||||
"id": "SWE-024",
|
||||
"asil": "B"
|
||||
}
|
||||
],
|
||||
"swa": [
|
||||
{
|
||||
"id": "SWA-001",
|
||||
"asil": "D"
|
||||
},
|
||||
{
|
||||
"id": "SWA-005",
|
||||
"asil": "B"
|
||||
}
|
||||
],
|
||||
"code": [
|
||||
"src/safety_manager.c"
|
||||
],
|
||||
"tests": [
|
||||
"tests/unit/test_safety_manager.c"
|
||||
]
|
||||
},
|
||||
{
|
||||
"sg": {
|
||||
"id": "SG-004",
|
||||
"asil": "C"
|
||||
},
|
||||
"sys": {
|
||||
"id": "SYS-006",
|
||||
"asil": "B",
|
||||
"title": "Auto-Release beim Anfahren (Drive-Away-Assist)"
|
||||
},
|
||||
"sa": [
|
||||
{
|
||||
"id": "SA-001",
|
||||
"asil": "D"
|
||||
},
|
||||
{
|
||||
"id": "SA-003",
|
||||
"asil": "B"
|
||||
}
|
||||
],
|
||||
"swe": [
|
||||
{
|
||||
"id": "SWE-011",
|
||||
"asil": "B"
|
||||
},
|
||||
{
|
||||
"id": "SWE-012",
|
||||
"asil": "B"
|
||||
},
|
||||
{
|
||||
"id": "SWE-022",
|
||||
"asil": "B"
|
||||
}
|
||||
],
|
||||
"swa": [
|
||||
{
|
||||
"id": "SWA-001",
|
||||
"asil": "D"
|
||||
},
|
||||
{
|
||||
"id": "SWA-004",
|
||||
"asil": "B"
|
||||
}
|
||||
],
|
||||
"code": [
|
||||
"src/safety_manager.c"
|
||||
],
|
||||
"tests": [
|
||||
"tests/unit/test_safety_manager.c"
|
||||
]
|
||||
},
|
||||
{
|
||||
"sg": {
|
||||
"id": "SG-005",
|
||||
"asil": "B"
|
||||
},
|
||||
"sys": {
|
||||
"id": "SYS-002",
|
||||
"asil": "D",
|
||||
"title": "Apply auf Fahrer-Anforderung"
|
||||
},
|
||||
"sa": [
|
||||
{
|
||||
"id": "SA-001",
|
||||
"asil": "D"
|
||||
},
|
||||
{
|
||||
"id": "SA-002",
|
||||
"asil": "D"
|
||||
}
|
||||
],
|
||||
"swe": [
|
||||
{
|
||||
"id": "SWE-003",
|
||||
"asil": "D"
|
||||
},
|
||||
{
|
||||
"id": "SWE-004",
|
||||
"asil": "D"
|
||||
},
|
||||
{
|
||||
"id": "SWE-022",
|
||||
"asil": "B"
|
||||
},
|
||||
{
|
||||
"id": "SWE-025",
|
||||
"asil": "QM"
|
||||
}
|
||||
],
|
||||
"swa": [
|
||||
{
|
||||
"id": "SWA-002",
|
||||
"asil": "D"
|
||||
},
|
||||
{
|
||||
"id": "SWA-004",
|
||||
"asil": "B"
|
||||
},
|
||||
{
|
||||
"id": "SWA-006",
|
||||
"asil": "QM"
|
||||
}
|
||||
],
|
||||
"code": [
|
||||
"src/apply_controller.c",
|
||||
"src/switch_debouncer.c"
|
||||
],
|
||||
"tests": [
|
||||
"tests/unit/test_apply_controller.c",
|
||||
"tests/unit/test_switch_debouncer.c"
|
||||
]
|
||||
},
|
||||
{
|
||||
"sg": {
|
||||
"id": "SG-005",
|
||||
"asil": "B"
|
||||
},
|
||||
"sys": {
|
||||
"id": "SYS-003",
|
||||
"asil": "B",
|
||||
"title": "Release auf Fahrer-Anforderung"
|
||||
},
|
||||
"sa": [
|
||||
{
|
||||
"id": "SA-001",
|
||||
"asil": "D"
|
||||
},
|
||||
{
|
||||
"id": "SA-002",
|
||||
"asil": "D"
|
||||
}
|
||||
],
|
||||
"swe": [
|
||||
{
|
||||
"id": "SWE-005",
|
||||
"asil": "B"
|
||||
},
|
||||
{
|
||||
"id": "SWE-006",
|
||||
"asil": "B"
|
||||
},
|
||||
{
|
||||
"id": "SWE-025",
|
||||
"asil": "QM"
|
||||
}
|
||||
],
|
||||
"swa": [
|
||||
{
|
||||
"id": "SWA-002",
|
||||
"asil": "D"
|
||||
},
|
||||
{
|
||||
"id": "SWA-003",
|
||||
"asil": "B"
|
||||
},
|
||||
{
|
||||
"id": "SWA-006",
|
||||
"asil": "QM"
|
||||
}
|
||||
],
|
||||
"code": [
|
||||
"src/apply_controller.c",
|
||||
"src/actuator_driver.c",
|
||||
"src/switch_debouncer.c"
|
||||
],
|
||||
"tests": [
|
||||
"tests/unit/test_actuator_driver.c",
|
||||
"tests/unit/test_apply_controller.c",
|
||||
"tests/unit/test_switch_debouncer.c"
|
||||
]
|
||||
},
|
||||
{
|
||||
"sg": null,
|
||||
"sys": {
|
||||
"id": "SYS-008",
|
||||
"asil": "QM",
|
||||
@@ -325,9 +514,12 @@
|
||||
"id": "SWA-009",
|
||||
"asil": "QM"
|
||||
}
|
||||
]
|
||||
],
|
||||
"code": [],
|
||||
"tests": []
|
||||
},
|
||||
{
|
||||
"sg": null,
|
||||
"sys": {
|
||||
"id": "SYS-009",
|
||||
"asil": "QM",
|
||||
@@ -362,9 +554,12 @@
|
||||
"id": "SWA-010",
|
||||
"asil": "QM"
|
||||
}
|
||||
]
|
||||
],
|
||||
"code": [],
|
||||
"tests": []
|
||||
},
|
||||
{
|
||||
"sg": null,
|
||||
"sys": {
|
||||
"id": "SYS-010",
|
||||
"asil": "QM",
|
||||
@@ -399,6 +594,8 @@
|
||||
"id": "SWA-007",
|
||||
"asil": "QM"
|
||||
}
|
||||
]
|
||||
],
|
||||
"code": [],
|
||||
"tests": []
|
||||
}
|
||||
]
|
||||
Reference in New Issue
Block a user