Die Entwicklung komplexer Systeme erfordert mehr als nur die Gestaltung von Komponenten; es erfordert eine strenge Verbindung zwischen Absicht und Umsetzung. Je größer der Umfang von Systemen wird, je mehr Software, Hardware, mechanische Strukturen und Betriebslogik integriert werden, desto größer wird das Risiko der Fragmentierung. Das modellbasierte Systems Engineering (MBSE) mit SysML bietet den Rahmen, um diese Komplexität zu bewältigen, doch nur dann, wenn die Traceability korrekt etabliert wird. Dieser Leitfaden untersucht die strukturellen Muster, die erforderlich sind, um eine konsistente Systemdefinition über verschiedene ingenieurwissenschaftliche Domänen hinweg zu gewährleisten.
Die Traceability in SysML ist nicht lediglich eine Berichtsfunktion; sie ist die Grundlage für Verifikation und Validierung. Ohne starke Verbindungen zwischen Anforderungen, Design-Elementen und Tests wird die Systemarchitektur zu einer Ansammlung isolierter Silos. Ingenieure müssen verstehen, wie sie die Sprache nutzen, um widerstandsfähige Verbindungen zu schaffen, die Design-Iterationen und Übergaben zwischen Domänen überstehen.

Bevor Muster implementiert werden, muss man die grundlegenden Mechanismen innerhalb der Sprache verstehen. SysML definiert die Traceability vor allem über die traceBeziehung, die zwischen verschiedenen Elementen angewendet werden kann. Diese Beziehung unterscheidet sich von standardmäßigen strukturellen oder verhaltensbasierten Verbindungen.
Anforderungselemente: Sie definieren, was das System tun muss. Sie sind die Anker des Traceability-Netzwerks.
Block-Definition-Diagramme (BDD): Definieren die physische und logische Struktur.
Interne Block-Diagramme (IBD): Definieren die internen Schnittstellen und den Fluss.
Parametrische Diagramme: Definieren Einschränkungen und mathematische Beziehungen.
Verifikationsprüfungen: Oft als Anforderungstypen oder getrennte Verifikationsanforderungen dargestellt.
Der zentrale Grundsatz der Traceability besteht darin, sicherzustellen, dass jede Anforderung durch ein Design-Element erfüllt und durch einen Testfall verifiziert wird. Dadurch entsteht eine geschlossene Beweiskette. Bei mehrdomänalen Systemen muss diese Kette über verschiedene technische Sprachen und ingenieurwissenschaftliche Disziplinen hinweg reichen.
Verschiedene ingenieurwissenschaftliche Fragen erfordern unterschiedliche Traceability-Muster. Ein allgemeiner Ansatz führt oft zu Unübersichtlichkeit oder unzureichender Sichtbarkeit. Nachfolgend sind die primären Muster aufgeführt, die zur Strukturierung von Systeminformationen verwendet werden.
Die Vorwärts-Traceability beginnt bei der Anforderung und verläuft abwärts hin zur Gestaltung und Implementierung. Sie beantwortet die Frage: „Welche Design-Elemente erfüllen diese Anforderung?“
Richtung: Anforderung → Design → Implementierung.
Anwendungsfall: Sicherstellen, dass keine Anforderung unumgesetzt bleibt.
Vorteil: Verhindert Scope-Creep, indem bestätigt wird, dass jede angeforderte Funktion in der Architektur berücksichtigt wird.
Implementierung: Verwenden Sie die deriveReqt oder verfeinern Beziehungen, um Anforderungen mit Blöcken oder Use-Cases zu verknüpfen.
Die Rückwärtsverfolgbarkeit bewegt sich von dem Entwurfsbestandteil zurück zur ursprünglichen Anforderung. Sie beantwortet die Frage: „Warum existiert dieses Komponente?“
Richtung: Entwurf/Implementierung → Anforderung.
Anwendungsfall: Identifizierung überflüssiger Elemente oder toten Codes im Modell.
Vorteil: Unterstützt das Änderungsmanagement, indem gezeigt wird, welche Anforderungen betroffen sind, wenn ein bestimmtes Komponente geändert wird.
Implementierung: Verknüpfen Sie Blöcke in einem IBD zurück zu spezifischen Anforderungen in der Anforderungsdiagramm.
Dieses Muster kombiniert Vorwärts- und Rückwärtsverknüpfungen, um eine vollständige Überprüfungsverkettung zu schaffen. Es ist der Goldstandard für sicherheitskritische Systeme.
Richtung: Anforderung ↔ Entwurf ↔ Test.
Anwendungsfall: Zertifizierungsprozesse und regulatorische Compliance.
Vorteil: Bietet vollständige Abdeckungsabsicherung für Audits und Sicherheitsfälle.
Bei mehrdomänischen Systemen muss eine Softwareanforderung mit einem Hardwareblock verknüpft werden, der wiederum mit einer mechanischen Einschränkung verknüpft ist. Dieses Muster schließt die Lücke zwischen verschiedenen Ingenieur-Sprachen.
Richtung: Software-Anforderung → Firmware → Elektrischer Block → Mechanische Einschränkung.
Anwendungsfall: Cyber-physische Systeme, bei denen das Verhalten von physikalischen Eigenschaften abhängt.
Nutzen:Stellt sicher, dass eine Softwarefunktion keine physische Beschränkung verletzt.
Die Organisation dieser Muster erfordert einen strukturierten Ansatz. Ein Matrixformat ist oft die effektivste Möglichkeit, die Beziehungen darzustellen. Die folgende Tabelle zeigt die empfohlenen Spalten für eine umfassende Spurbarkeitsmatrix.
|
Anforderungs-ID |
Anforderungstext |
Quelle |
ID des Gestaltungselements |
Typ des Gestaltungselements |
Verifizierungsmethode |
Testfall-ID |
Status |
|---|---|---|---|---|---|---|---|
|
REQ-001 |
Das System muss den Startvorgang initiieren |
Interessent |
BLOCK-100 |
Steuerlogik |
Analyse |
TEST-001 |
Verifiziert |
|
REQ-002 |
Stromverbrauch < 5 W |
Regulatorisch |
PARAM-200 |
Einschränkung |
Simulation |
TEST-002 |
In Bearbeitung |
|
REQ-003 |
Der Gehäuse muss einem Stoß standhalten |
Umwelt |
MECH-300 |
Mechanischer Teil |
Physischer Test |
TEST-003 |
Genehmigt |
Die Verwendung einer strukturierten Matrix stellt sicher, dass während des Überprüfungsprozesses keine Spalte übersprungen wird. Sie zwingt den Ingenieur, für jedes einzelne Anforderung die Überprüfungsmaßnahme zu berücksichtigen.
Komplexe Systeme bestehen selten aus einer einzigen Ingenieurdisziplin. Sie beinhalten Wechselwirkungen zwischen Software, Elektronik, Mechanik und Betrieb. Jeder Bereich hat sein eigenes Lebenszyklus- und Begriffssystem, was die Rückverfolgbarkeit erschwert.
Der häufigste Konfliktpunkt entsteht dort, wo Software auf Hardware trifft. Eine Softwareanforderung könnte lauten: „Das System muss innerhalb von 50 ms reagieren.“ Dies ist abstrakt. Sie muss auf einen Hardwareblock zurückverfolgt werden, der die Prozessorgeschwindigkeit und die Speicherlatenz definiert.
Muster: Verwenden Sie eine verfeinernVerknüpfung von der Softwareanforderung mit einem Funktionsblock in der Hardwarebeschreibung.
Herausforderung:Zeitbedingungen werden oft in parametrischen Diagrammen definiert, während die Logik in Zustandsmaschinen definiert ist.
Lösung: Erstellen Sie eine spezielle Schnittstellenblockder explizit die Zeitparameter definiert und die Softwareanforderung mit dieser Schnittstelle verknüpft.
Mechanische Einschränkungen bestimmen oft betriebliche Grenzen. Wenn ein mechanischer Arm ein maximales Drehmoment hat, muss der Betriebsmodus diese Einschränkung widerspiegeln.
Muster:Verknüpfen Sie betriebliche Anwendungsfälle mit den mechanischen Blöcken, mit denen sie interagieren.
Herausforderung:Betriebliche Anforderungen werden oft in natürlicher Sprache formuliert, während mechanische Modelle mathematische Einschränkungen verwenden.
Lösung:Übersetzen Sie betriebliche Grenzen in parametrische Einschränkungen. Verknüpfen Sie die Anforderung direkt mit der Gleichung im parametrischen Diagramm.
Firmware fungiert oft als Verbindungselement zwischen hochwertiger Software und niedrigstufigen physikalischen Signalen. Die Rückverfolgbarkeit muss sicherstellen, dass ein Firmware-Treiber die Fähigkeiten des physischen Sensors korrekt verfügbar macht.
Muster:Verwenden Sie Zuweisungsbeziehungen, um Firmware-Funktionen spezifischen Hardware-Treibern zuzuordnen.
Herausforderung:Firmware-Updates können erfolgen, ohne dass die physische Hardware geändert wird.
Lösung:Pflegen Sie eine Versionsstrategie für die Rückverfolgbarkeits-Verknüpfungen. Wenn sich die Firmware ändert, die Anforderung jedoch weiterhin erfüllt ist, aktualisieren Sie den Status der Verknüpfung statt die Verbindung zu trennen.
Die Umsetzung von Rückverfolgbarkeit ist nicht ohne Hindernisse. In komplexen Umgebungen treten mehrere häufige Probleme auf. Die frühzeitige Erkennung dieser Probleme ermöglicht eine bessere Planung.
Im Laufe der Zeit veralten Verknüpfungen, wenn sich Anforderungen ändern oder Entwürfe sich weiterentwickeln. Eine Anforderung könnte gelöscht werden, aber die Verknüpfung verweist weiterhin auf einen nicht existierenden Block.
Minderung:Implementieren Sie automatisierte Validierungsskripte, die während des Bauprozesses auf verwaiste Verknüpfungen prüfen.
Minderung:Fordern Sie für jede Verknüpfung einen Status-Flag (z. B. Aktiv, Veraltet, Ausstehend) an.
Manchmal ist eine Anforderung zu hochgestuft, um mit einer einzelnen Komponente verknüpft zu werden, oder eine Komponente ist zu detailliert, um mit einer einzelnen Anforderung verknüpft zu werden. Dies erzeugt eine viele-zu-viele-Beziehung, die schwer zu verwalten ist.
Minderung:Zerlegen Sie hochgestufte Anforderungen in niedrigere funktionale Anforderungen, die mit Systemblöcken übereinstimmen.
Minderung:Gruppieren Sie mehrere niedrigstufige Komponenten in einem Verbundblockund verknüpfen Sie stattdessen mit diesem.
Software-Ingenieure verwenden andere Werkzeuge als Maschinenbauer. Sie können nicht denselben Rückverfolgbarkeitskontext sehen.
Minderung:Übernehmen Sie ein einheitliches Modell-Repository als einziges Quell-System, das die Integration mit externen Domänen-Werkzeugen unterstützt.
Minderung:Etablieren Sie eine gemeinsame Namenskonvention für alle nachverfolgbaren Elemente über alle Domänen hinweg.
Die Aufrechterhaltung der Rückverfolgbarkeit erfordert Disziplin. Es handelt sich nicht um eine einmalige Einrichtung, sondern um eine kontinuierliche Tätigkeit.
Früh beginnen: Definieren Sie die Rückverfolgbarkeitsanforderungen in der Konzeptphase. Warten Sie nicht bis zur Entwurfsphase, um Verknüpfungen hinzuzufügen.
Namenskonventionen standardisieren: Verwenden Sie ein konsistentes ID-Format (z. B. REQ-SYS-001, BLK-INT-001). Dadurch wird eine automatisierte Suche und Berichterstattung möglich.
Regelmäßige Audits: Planen Sie vierteljährliche Überprüfungen des Rückverfolgbarkeitsgraphen. Prüfen Sie auf defekte Verknüpfungen und isolierte Anforderungen.
Automatisieren Sie, wo möglich: Verwenden Sie integrierte Modellüberprüfungsfeatures, um Inkonsistenzen zu markieren. Vermeiden Sie die manuelle Überprüfung von Verknüpfungen.
Dokumentieren Sie das Muster: Erstellen Sie ein Standardarbeitsverfahren (SOP), das definiert, wie Verknüpfungen erstellt, benannt und gepflegt werden sollen.
Um sicherzustellen, dass das Rückverfolgbarkeitsnetz gesund ist, sollten bestimmte Metriken verfolgt werden. Diese Metriken bieten Einblick in die Qualität der Systemdefinition.
Diese Metrik berechnet das Verhältnis der Anforderungen, die mindestens eine nachfolgende Verknüpfung (Entwurf oder Test) besitzen.
Ziel: 100 % der kritischen Anforderungen müssen abgedeckt sein.
Messung: (Verknüpfte Anforderungen / Gesamtanzahl der Anforderungen) × 100.
Dies misst das Verhältnis der Anforderungen, die mit einer Validierungsmethode verknüpft sind.
Ziel: 100 % der Anforderungen müssen einer Validierungsmethode zugeordnet sein.
Messung: (Anforderungen mit Test/Analyse / Gesamtanzahl der Anforderungen) × 100.
Dies verfolgt die Rate, mit der Verknüpfungen im Laufe der Zeit beschädigt oder geändert werden.
Ziel: Eine geringe Änderungsrate deutet auf stabile Anforderungen hin.
Messung:(Fehlerhafte Links pro Monat / Gesamtanzahl der Links) × 100.
In sicherheitskritischen Systemen ist ein einfacher Link oft nicht ausreichend. Eine hierarchische Überprüfungsstruktur ist erforderlich, um die Einhaltung auf jeder Ebene nachzuweisen.
Ebene 1: Systemanforderung (z. B. „Das Fahrzeug muss sich innerhalb von 100 m zum Stillstand bringen“).
Ebene 2: Untersystemanforderung (z. B. „Das Bremsystem muss eine Kraft von 500 N erzeugen“).
Ebene 3: Komponentenanforderung (z. B. „Die Hydraulikpumpe muss einen Fluss von 10 L/min liefern“).
Ebene 4: Implementierungstest (z. B. „Ergebnis des Pumpenflusstests“).
Diese Hierarchie stellt sicher, dass ein Fehler auf Komponentenebene rückverfolgt werden kann bis zur Systemanforderung. Sie ermöglicht es Ingenieuren, genau zu identifizieren, wo ein Fehler in der Logikkette aufgetreten ist.
Änderungen sind unvermeidlich. Wenn eine Anforderung geändert wird, beruht die Auswirkungsanalyse vollständig auf den Nachverfolgbarkeitsverbindungen.
Auswirkungsanalyse: Wenn eine Anforderung geändert wird, durchlaufe alle nachfolgenden Verbindungen, um betroffene Blöcke, Schnittstellen und Tests zu identifizieren.
Genehmigungsablauf: Fordere die Genehmigung aller betroffenen Bereiche an, bevor eine Anforderung geändert wird. Zum Beispiel könnte die Änderung einer Softwareanforderung die Zustimmung des Hardware-Teams erfordern, wenn sie die Prozessorauslastung beeinflusst.
Versionskontrolle: Pflege eine Historie des Nachverfolgbarkeitsgraphen. Wenn eine Verbindung entfernt wird, muss der Grund dokumentiert werden.
Realwelt-Systeme ziehen Daten oft von externen Quellen, wie Lieferantenspezifikationen oder Simulationsergebnissen. Die SysML-Nachverfolgbarkeit sollte diese Quellen integrieren.
Lieferantenanforderungen: Verknüpfe interne Anforderungen mit externen Lieferantendokumenten mithilfe der verfeinernBeziehungen.
Simulationsergebnisse: Hänge Simulationsausgabedateien an die Beschränkungen parametrischer Diagramme an, um nachzuweisen, dass die Beschränkung erfüllt ist.
Störungsverfolgung: Verknüpfe Fehler oder Probleme aus einem Fehlerverfolgungssystem direkt mit der Anforderung, die sie verursacht hat.
Große Projekte beinhalten oft mehrere Modelle für verschiedene Unterglieder. Die Rückverfolgbarkeit muss über diese Modellgrenzen hinweg aufrechterhalten werden.
Modellimport:Verwenden Sie Referenzpakete, um Blöcke aus einem Modell in ein anderes zu importieren, wobei ihre ID und Rückverfolgbarkeitsverknüpfungen erhalten bleiben.
Schnittstellendefinition:Definieren Sie strenge Schnittstellen zwischen Modellen. Die Rückverfolgbarkeit sollte nicht durch vage Verweise über Modellgrenzen hinweg erfolgen.
Globales Register:Führen Sie ein zentrales Register aller Anforderungen und ihrer eindeutigen IDs, um Duplikate über Modelle hinweg zu vermeiden.
Der Aufbau eines robusten Rückverfolgbarkeitsnetzwerks ist eine strategische Investition. Sie senkt die Kosten für Änderungen, verbessert das Verifizierungsvertrauen und bietet klare Einblicke in den Zustand des Systems. Durch die Anwendung der oben beschriebenen Muster können Ingenieure die Komplexität mehrdomänischer Systeme managen, ohne die ursprüngliche Absicht aus den Augen zu verlieren.
Der Erfolg in diesem Bereich hängt von Disziplin, Automatisierung und einem klaren Verständnis der Beziehungen zwischen Anforderungen, Design und Verifikation ab. Behandeln Sie den Rückverfolgbarkeitsgraphen als lebendiges Artefakt, das sich mit dem System weiterentwickelt. Regelmäßige Wartung und Validierung stellen sicher, dass das Modell während des gesamten Projekt-Lebenszyklus eine zuverlässige Quelle der Wahrheit bleibt.