Wie NASA Schnittstellen mit SysML modelliert
Schnittstellen haben im Systems Engineering eine zentrale Funktion: Schließlich spezifizieren diese zentrale Aspekte eines (Sub)-Systems. Schnittstellen helfen, Komplexität zu beherrschen und lassen sich präzise in SysML erfassen.
Das folgende Fallbeispiel beschreibt das Multi Mission Operations System (MMOS), welches die Schnittstelle zwischen Bodenstation und fliegenden Systemen darstellt. Es basiert auf der Arbeit von Elyse Fosse und Christopher Delp vom NASA Jet Propulsion Laboratory.
Die dazugehörige Veröffentlichung Systems Engineering Interfaces: A Model Based Approach ist zwar schon 10 Jahre alt, zeigt aber sehr schön bewährte Praktiken bei der modellierung von Schnittstellen mit SysML.
Die Bedeutung von Schnittstellen
Schnittstellen spielten schon immer eine wichtige Rolle im Systems Engineering. Allerdings wurden diese traditionell mit Dokumenten und Diagrammen beschrieben. Der Ansatz skaliert allerdings nicht sonderlich gut.
Eine Alternative ist die Modellierung von Schnittstellen mit SysML. Das ist zum einen präziser, zum anderen kann die Modellierung mit einer domänenspezifischen Semantik ergänzt werden.
Beim methodisch korrektem Einsatz von Schnittstellen, haben wir sauber entkoppelte Subsysteme, was das Gesamtsystem robuster macht und Skalierung ermöglichen.
Muster für die Schnittstellenmodellierung
Bevor die Autoren sich der Modellierung in SysML zuwenden, untersuchen sie zunächst relevante Muster. Schließlich ist SysML „nur“ eine Notation, wir müssen sie auch korrekt und zielführend einsetzen. Insbesondere identifizieren sie vier Schnittstellenkomponenten, die bei der Schnittstellenmodellierung berücksichtigt werden müssen. Dazu gehört neben der eigentlichen Schnittstelle die Schnittstellenspezifikation (Eigenschaften und Verhalten), die Interaktion und die Interaktionspezifikation.
Für die eigentliche Arbeit mit Schnittstellen identifizieren die Autoren insgesamt sieben Sichten, um bestimmte Aspekte von Schnittstellen zu verstehen und zu bearbeiten. Diese sind unabhängig von SysML und so wichtig, dass ich sie hier aufführe (Table 2 im Paper):
Sicht | Zweck | Belang |
---|---|---|
Part Interface | Schnittstellen für ein bestimmtes Teil identifizieren. | Was sind die Schnittstellen für ein bestimmtes Teil? |
Layered Part Interface | Die Schichten der Schnittstellen spezifizieren, bspw. Anwendung, Protokoll, Datenschicht. | Was ist die Struktur der verschiedenen Informationsaspekte der Schnittstelle? |
Interface Specification | Spezifizieren einer bestimmten Schnittstelle in Form von Funktionen und Eigenschaften. | Was sind die detaillierten Funktionen und Eigenschaften einer bestimmten Schnittstelle? |
Interface Connection | Spezifizieren der Integration von 2 oder mehr Teilen durch ihre jeweiligen Schnittstellen in Bezug auf die spezifischen Bedingungen und Auftreten von Funktionen, die die Integration gemäß der Schnittstellenspezifikation definieren. | Welche Teile sind miteinander verbunden? |
Interface Object Flow | Zeit, wie Objekte (Materialien, Informationen) über eine Integration von Schnittstellen für einen Satz von Teilen fließen. | Was sind die Flüsse zwischen den Teilen des Systems? |
Interface Function Occurrence | Spezifikation für verhaltensbezogene Interaktion über Schnittstellen hinweg. | Wie verlaufen die Funktionen zwischen den Teilen des des Systems? |
Performance and Limitations on Interfaces | Spezifikation von Einschränkungen für Schnittstellen wie Richtlinien, Vereinbarungen und Leistungseinschränkungen. | Was sind die Erwartungen und Grenzen der gegebenen Integration? |
Schnittstellen mit SysML modellieren
Kommen wir nun zu SysML. Die Notation stellt verschiedene Modellelemente für die Modellierung von Schnittstellen bereit. Das sind Operations, Signals und Flow Ports.
Die in diesem Forschungspapier beschriebenen Modellelemente beziehen sich auf SysML 1.3. Bezüglich der aktuellen SysML 1.6 hat sich einiges geändert, insbesondere bezüglich Ports.
Anhand des Fallbeispiels MMOS zeigen die Autoren nun, wie wir SysML einsetzen können, um die beschriebenen Muster zu realisieren. Schon frühzeitig führen sie eine domänenspezifische Anpassung an, indem sie die für MMOS relevanten Stereotypen einführen.
Wie in SysML üblich, wird in dieser Phase zunächst das „Vokabular“ modelliert. Spezifikation, Inputs, Outputs sind alles Blöcke.
Lagen über Lagen
Interessant wird es bei der Modellierung von Schichten. Die Flow Ports einer Interfacespezifikation stellen logische Schichten dar, an die wir uns in der Rolle des Systems Engineers halten wollen. Die Autoren legen nutzen dafür verschachtelte Ports. Diese Ports können wiederum Ports haben, wodurch die verschiedenen Lagen sauber abgebildet werden. Die oberste Ebene besteht aus dem Fluss der Objekte, wie im folgenden Diagram zu sehen:

Dieses Vorgehen ermöglicht uns zum einen einen hohen Grad der Wiederverwendung, zum anderen ein einfaches Abgleichen der Schnittstellen.
Im Bild nicht gezeigt ist der Einsatz von Constraints, um Einschränkungen zu modellieren. Dafür benutzen wir auch wieder einen SysML-Block mit Stereotyp „Constraint“ und verbinden diesen mit den entsprechenden Schnittstellen.
Schnittstellen-Engineering mit SysML
In Kapitel 4 beschreiben die Autoren, wie sie dieses Framework für ein systematisches Schnittstellen-Engineering eingesetzt haben. Die Implementierung erwies sich als wiederverwendbar, sowohl in generischer Hinsicht als auch in Bezug auf ihre Anwendbarkeit bei der Entwicklung der Schnittstellen des Multi Mission Operations System (MMOS). Die Effizienz des Ansatzes in Bezug auf die Generierung von Sichten und die Modellüberprüfung hat dem Team mehr Zeit verschafft, sich auf die Entwicklung der Schnittstellen und Interaktionen zu fokussieren.
Gerade bei Schnittstellen ist SysML eine mächtige Notation zur Trennung von Belangen, um sowohl Beschreibungen der Schnittstellen und Interaktionen bereitzustellen als auch ihre Spezifikationen zu entkoppeln. Für immer mehr Systeme ist dies ein passender Ansatz.
Bildquelle: NASA