4351dfa4e1
Validate / build-and-test (push) Successful in 30s
- Implement Safety Manager (SWA-001, ASIL-D): Hill-Hold + Auto-Apply state machine, 13 unit tests - Update SWA-002 + SWA-001 link coverage so all SWE reqs are covered - New tool: tools/traceability.py — Markdown-frontmatter-basierter Traceability-Checker + HTML/JSON-Matrix-Generator (Doorstop-Format ohne Doorstop-Dependency) - New tool: tools/render_plantuml.py — extrahiert PlantUML-Bloecke aus arch/**.md und rendert via plantuml.com zu SVG - validate.yml: neue Steps Traceability-Check, Matrix-Publish, PlantUML- Render; uploaded als Gitea-Artefakte
1 line
6.4 KiB
XML
1 line
6.4 KiB
XML
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentStyleType="text/css" data-diagram-type="DESCRIPTION" height="297px" preserveAspectRatio="none" style="width:560px;height:297px;background:#FFFFFF;" version="1.1" viewBox="0 0 560 297" width="560px" zoomAndPan="magnify"><?plantuml 1.2026.4beta2?><defs/><g><!--entity Apply Controller--><g class="entity" data-qualified-name="Apply Controller" data-source-line="1" id="ent0002"><rect fill="#F1F1F1" height="46.2969" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="153.1484" x="183.91" y="7"/><rect fill="#F1F1F1" height="10" style="stroke:#181818;stroke-width:0.5;" width="15" x="317.0584" y="12"/><rect fill="#F1F1F1" height="2" style="stroke:#181818;stroke-width:0.5;" width="4" x="315.0584" y="14"/><rect fill="#F1F1F1" height="2" style="stroke:#181818;stroke-width:0.5;" width="4" x="315.0584" y="18"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="113.1484" x="198.91" y="39.9951">Apply Controller</text></g><!--entity Actuator Driver--><g class="entity" data-qualified-name="Actuator Driver" data-source-line="1" id="ent0003"><rect fill="#F1F1F1" height="46.2969" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="147.5566" x="186.7" y="114.3"/><rect fill="#F1F1F1" height="10" style="stroke:#181818;stroke-width:0.5;" width="15" x="314.2566" y="119.3"/><rect fill="#F1F1F1" height="2" style="stroke:#181818;stroke-width:0.5;" width="4" x="312.2566" y="121.3"/><rect fill="#F1F1F1" height="2" style="stroke:#181818;stroke-width:0.5;" width="4" x="312.2566" y="125.3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="107.5566" x="201.7" y="147.2951">Actuator Driver</text></g><!--entity Hardware PWM--><g class="entity" data-qualified-name="Hardware PWM" data-source-line="2" id="ent0005"><rect fill="#F1F1F1" height="46.2969" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="146.9619" x="7" y="237.59"/><rect fill="#F1F1F1" height="10" style="stroke:#181818;stroke-width:0.5;" width="15" x="133.9619" y="242.59"/><rect fill="#F1F1F1" height="2" style="stroke:#181818;stroke-width:0.5;" width="4" x="131.9619" y="244.59"/><rect fill="#F1F1F1" height="2" style="stroke:#181818;stroke-width:0.5;" width="4" x="131.9619" y="248.59"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="106.9619" x="22" y="270.5851">Hardware PWM</text></g><!--entity Hardware ADC--><g class="entity" data-qualified-name="Hardware ADC" data-source-line="3" id="ent0007"><rect fill="#F1F1F1" height="46.2969" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="142.7305" x="189.12" y="237.59"/><rect fill="#F1F1F1" height="10" style="stroke:#181818;stroke-width:0.5;" width="15" x="311.8505" y="242.59"/><rect fill="#F1F1F1" height="2" style="stroke:#181818;stroke-width:0.5;" width="4" x="309.8505" y="244.59"/><rect fill="#F1F1F1" height="2" style="stroke:#181818;stroke-width:0.5;" width="4" x="309.8505" y="248.59"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="102.7305" x="204.12" y="270.5851">Hardware ADC</text></g><!--entity Diagnostic Manager--><g class="entity" data-qualified-name="Diagnostic Manager" data-source-line="4" id="ent0009"><rect fill="#F1F1F1" height="46.2969" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="179.7607" x="366.6" y="237.59"/><rect fill="#F1F1F1" height="10" style="stroke:#181818;stroke-width:0.5;" width="15" x="526.3607" y="242.59"/><rect fill="#F1F1F1" height="2" style="stroke:#181818;stroke-width:0.5;" width="4" x="524.3607" y="244.59"/><rect fill="#F1F1F1" height="2" style="stroke:#181818;stroke-width:0.5;" width="4" x="524.3607" y="248.59"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="139.7607" x="381.6" y="270.5851">Diagnostic Manager</text></g><!--link Apply Controller to Actuator Driver--><g class="link" data-entity-1="ent0002" data-entity-2="ent0003" data-link-type="dependency" data-source-line="1" id="lnk4"><path d="M260.48,53.74 C260.48,71.5 260.48,90.14 260.48,107.89" fill="none" id="Apply Controller-to-Actuator Driver" style="stroke:#181818;stroke-width:1;"/><polygon fill="#181818" points="260.48,113.89,264.48,104.89,260.48,108.89,256.48,104.89,260.48,113.89" style="stroke:#181818;stroke-width:1;"/></g><!--link Actuator Driver to Hardware PWM--><g class="link" data-entity-1="ent0003" data-entity-2="ent0005" data-link-type="dependency" data-source-line="2" id="lnk6"><path d="M227.05,160.98 C194.82,182.69 151.2854,212.0266 119.0154,233.7766" fill="none" id="Actuator Driver-to-Hardware PWM" style="stroke:#181818;stroke-width:1;"/><polygon fill="#181818" points="114.04,237.13,123.7387,235.4168,118.1862,234.3355,119.2675,228.7829,114.04,237.13" style="stroke:#181818;stroke-width:1;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="57.916" x="182.48" y="203.6569">pwm_set</text></g><!--reverse link Actuator Driver to Hardware ADC--><g class="link" data-entity-1="ent0003" data-entity-2="ent0007" data-link-type="dependency" data-source-line="3" id="lnk8"><path d="M260.48,166.98 C260.48,188.76 260.48,215.59 260.48,237.33" fill="none" id="Actuator Driver-backto-Hardware ADC" style="stroke:#181818;stroke-width:1;"/><polygon fill="#181818" points="260.48,160.98,256.48,169.98,260.48,165.98,264.48,169.98,260.48,160.98" style="stroke:#181818;stroke-width:1;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="101.1753" x="261.48" y="203.6569">current_sample</text></g><!--link Actuator Driver to Diagnostic Manager--><g class="link" data-entity-1="ent0003" data-entity-2="ent0009" data-link-type="dependency" data-source-line="4" id="lnk10"><path d="M315.51,161.09 C333.82,169.46 353.99,179.6 371.48,190.59 C393.23,204.26 411.1677,218.774 427.5377,233.194" fill="none" id="Actuator Driver-to-Diagnostic Manager" style="stroke:#181818;stroke-width:1;"/><polygon fill="#181818" points="432.04,237.16,427.9305,228.2095,428.2881,233.855,422.6425,234.2125,432.04,237.16" style="stroke:#181818;stroke-width:1;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="27.0283" x="394.48" y="203.6569">DTC</text></g><?plantuml-src YtOiACYfL73Epoifoi_9IIsALT3LjLE8TamkAKqioIzIS2dAB0EASc68GDHv91Qbb2SMfIe4XFl6AbWf59JdnXUdbc1HRgEhYwJSqSKPf3ovjAWeDQyalZWnjo0d5PSbBfc9wNdvnIMPoGg-YNc9wI09AmMN46S0?></g></svg> |