Systems Engineering Trends

Jede Woche Neuigkeiten aus der Welt des Systems Engineering

Luft/RaumfahrtModellierung & MBSE

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):

SichtZweckBelang
Part InterfaceSchnittstellen für ein bestimmtes Teil identifizieren.Was sind die Schnittstellen für ein bestimmtes Teil?
Layered Part InterfaceDie Schichten der Schnittstellen spezifizieren, bspw. Anwendung, Protokoll, Datenschicht.Was ist die Struktur der verschiedenen Informationsaspekte der Schnittstelle?
Interface SpecificationSpezifizieren einer bestimmten Schnittstelle in Form von
Funktionen und Eigenschaften.
Was sind die detaillierten Funktionen und
Eigenschaften einer bestimmten Schnittstelle?
Interface ConnectionSpezifizieren 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 FlowZeit, 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 OccurrenceSpezifikation für verhaltensbezogene Interaktion über Schnittstellen hinweg.Wie verlaufen die Funktionen zwischen den Teilen des
des Systems?
Performance and Limitations on InterfacesSpezifikation von Einschränkungen für Schnittstellen wie Richtlinien, Vereinbarungen und Leistungseinschränkungen.Was sind die Erwartungen und Grenzen der gegebenen Integration?
Sichten zum Arbeiten mit Schnittstellen. Quelle: Systems Engineering Interfaces: A Model Based Approach, Table 2

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:

Interaktion von SysML-Schnittstellen über mehrere Ebenen. Quelle: Systems Engineering Interfaces: A Model Based Approach, Figure 7

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

Michael Jastram

Creator and Author of SE-Trends