Systems Engineering Trends

Jede Woche Neuigkeiten aus der Welt des Systems Engineering

Modellierung & MBSEWerkzeuge

Das MBSE-Dreieck: Sprache, Werkzeug, Methodik

Um Modellbasiertes Systems Engineering (MBSE) zu praktizieren, brauchen wir ein Fundament, dass aus Sprache, Werkzeug und Methodik besteht. SysML ist die populärste, aber nicht einzige Sprache. Auch bei den Werkzeugen und Methoden gibt es eine Menge Auswahl.

Im Folgenden schauen wir uns die drei Elemente genauer an und geben auch ein paar praktische Beispiele von Dreier-Konstellationen. Zum Beispiel Capella/Arcadia, SysML/Harmony/Rhapsody oder SysML/MagicGrid/Cameo.

Spendenaktion: Ihr habt gewählt, die Spende geht an… zum Ergebnis >>

Das „Gegenteil“ (bzw. der Vorgänger) von MBSE ist das dokumentenbasierte Systems Engineering. Bei diesem benötigen wir kein spezifisches Werkzeug: Die Einheit „Dokument“ kann von verschiedenen Werkzeugen generiert werden. Wir haben auch keine einheitliche Sprache. Allerdings sollte jedes Dokument in sich konsistent bezüglich der Sprache sein. Die bekannteste Methode ist das V-Modell (das Vorgehensmodell), von dem es mehrere Varianten gibt. Insofern gibt es beim traditionellen Systems Engineering das Konzept der drei Pfeiler nicht wirklich.

Das MBSE-Dreieck

Beim MBSE hingegen ist es wichtig, sich auf Sprache und Werkzeug festzulegen. Ohne sich auf die Sprache festzulegen ist es kaum möglich, formal zu argumentieren, also das Modell effektiv zu nutzen. Und die formale Argumentation ist ohne ein Werkzeug praktisch nicht möglich.

Das MBSE-Dreieck ist im Titelbild zu sehen. In der Praxis begegnet uns das MBSE-Dreieck immer öfter. Hilfreiche Beschreibungen finden wir zum Beispiel bei Beyond MBSE oder CameoMagic.

Die Sprache

Die Sprache besteht aus Syntax, Grammatik und Notation. Auch wenn es in diesem Blog viel um SysML geht, so ist SysML nicht die einzige Sprache für MBSE. Auch wenn es ursprünglich nicht für das Systems Engineering konzipiert wurde, so kann (und wird) UML dennoch als Sprache für das MBSE genutzt. Das Werkzeug Capella nutzt eine eigene Sprache, die an SysML angelehnt ist.

Weniger bekannt ist Architecture Analysis and Design Language (AADL). Diese Sprache wurde für die Beschreibung von eingebetteten Systemen entwickelt. Für Systeme aus interagierenden Komponenten eignen sich Petri-Netze. Diese decken aber nicht die Bandbreite der SysML ab.

Manchmal wird SysML als „semi-formal“ bezeichnet, da dieser Sprache nicht auf formaler mathematischer Logik basiert. Hier kommen Sprachen wie Event-B ins Spiel.

Das Werkzeug

Viele Werkzeuge unterstützen mehr als eine Sprache. Zum Beispiel unterstützen die „drei großen“ Modellierungswerkzeuge (Rhapsody, Cameo und Enterprise Architect) SysML, UML und teilweise weitere Modellierungssprachen. Daher ist es bei der Einführung von MBSE wichtig, die Sprache explizit festzulegen.

Da viele Werkzeuge mehr als eine Sprache unterstützen, sollte bei der Einführung von MBSE die Sprache explizit festgelegt werden, damit durch die Vermischung von Sprachen kein Mischmasch-Modell entsteht.

Die Nischen-Werkzeuge unterstützen oft nur eine einzige Sprache, diese dann aber sehr gut. Capella unterstützt die eigene (namenlose) Capella-Modellierungssprache, Rodin unterstützt nur Event-B, usw.

Mit der Wahl des Werkzeuges ist es noch nicht getan, denn wir müssen es auch mit der gewählten Sprache richtig nutzen. Das ist der dritte Teil vom MBSE-Dreieck:

Die Methodik

Die Methodik beschreibt die Aktivitäten, Techniken und Konventionen der Systementwicklung. Insbesondere beschreibt sie auch, wie die Sprache dafür genutzt wird.

In manchen Teams ist die Methodik über die Jahre gewachsen. Immer öfter basiert diese jedoch auf einem Standard. In der Vergangenheit wurde hier auf Methodik der Softwareentwicklung zurückgegriffen (wie bspw. RUP oder Iconix). Inzwischen gibt es aber auch explizit für das Systems Engineering entwickelte Methoden. Dazu gehören herstellerunabängige Ansätze wie FAS, wie auch ans Werkzeug gebundene wie Arcadia (Capella).

Interessant sind Methoden wie MagicGrid (Cameo) und Harmony (Rhapsody): Diese sind zwar theoretisch an die entsprechenden Werkzeuge gebunden, können aber relativ leicht an andere SysML-Werkzeuge angepasst werden.

Das OMG MBSE-Wiki hat eine (etwas veraltete) Liste von Methodiken für diejenigen, die weiterführende Informationen suchen.

Zusammenfassung der vorgestellten Dreiecke

Hier tabellarisch die hier vorgestellten Dreier-Konstellationen aus Methode, Sprache und Werkzeug. In Klammern angegebene Inhalte sind nicht festgelegt. Wenn bei Methode „N/A“ angegeben ist, dann gibt es keine speziell angepasste Methode. In dem Fall sollten Teams auf eine bestehenden Methodik aufsetzen (bspw. V-Modell) und an die Notation anpassen. Oft gibt es auch begleitende Dokumentation, in der wir methodische Inhalte finden.

MethodikSpracheWerkzeug
FASSysML (angepasst)(muss SysML unterstützen)
ArcadiaCapella-SpracheCapella
N/AEvent-BRodin
RUPUML(muss UML unterstützen)
IconixUML(muss UML unterstützen)
MagicGridSysMLCameo (Alternative möglich)
HarmonySysML (angepasst)Rhapsody (Alternative möglich)
N/AAADL(muss AADL unterstützen)
SYSMODSysML (angepasst)(muss SysML unterstützen)

Fazit

Natürlich gibt es noch viel mehr Methodiken, Sprachen und Werkzeuge und dementsprechend auch viel mehr Dreiecke. Mit welcher Konstellation arbeitet Ihr am liebsten und welche fehlen? Schreib‘ es gern in die Kommentare!

Photo by Icons8 Team on Unsplash

Michael Jastram

Creator and Author of SE-Trends