Eine der häufigsten Fragen zu SysML v2 lautet: Ist das jetzt eine Textsprache oder eine Diagrammsprache? Die Antwort ist beides – und das ist kein Kompromiss, sondern Architektur. Wer die drei Aspekte der Sprache kennt, versteht, warum grafische und textuelle Notationen auf derselben Modellstruktur beruhen und nicht als zwei unabhängig zu pflegende Modelle gedacht sind.

Drei Aspekte: konkrete Syntax, abstrakte Syntax und Semantik

SysML v2 lässt sich anhand von drei Aspekten beschreiben. Die konkrete Syntax beschreibt, wie ein Modell dargestellt wird – grafisch oder textuell. Die abstrakte Syntax beschreibt, aus welchen Modellelementen ein Modell bestehen kann und wie diese Elemente miteinander verbunden sein dürfen. Die Semantik beschreibt, welche Bedeutung die Modellelemente und ihre Beziehungen haben.

Diese Trennung erlaubt es, die konkrete Darstellung von der Struktur und Bedeutung des Modells zu unterscheiden.

Zwei Darstellungen, eine Modellstruktur

Beide Notationen sind formal spezifiziert und können dieselbe Modellstruktur darstellen. Für die textuelle Notation gibt es eine BNF-Grammatik, für die grafische Notation eine grafische BNF; Tabellen in der Spezifikation liefern jeweils konkrete Beispiele.

In SysML v1 war die grafische Notation der Standard, an dem sich die Darstellung orientierte. In SysML v2 gibt es zwei Darstellungen derselben Modellstruktur.

Praktisch heißt das: Ein Team kann mit einer textuellen Repräsentation in der Versionsverwaltung arbeiten und Änderungen vergleichen, während ein anderes Team dasselbe Modell grafisch liest und diskutiert. Es geht also nicht darum, zwei unabhängige Modelle synchron zu halten. Ob dieser Austausch in der Praxis funktioniert, hängt zusätzlich von den verwendeten Werkzeugen und ihrer Unterstützung der jeweiligen Standards ab.

Das Metamodell beschreibt die abstrakte Syntax

Ein SysML-Modell beschreibt Dinge der realen Welt. Das Metamodell beschreibt die Struktur des Modells selbst. Es legt fest, welche Modellelemente es gibt, welche Eigenschaften sie haben und wie sie miteinander in Beziehung stehen dürfen.

Das Metamodell beschreibt damit die abstrakte Syntax der Sprache: die zulässigen Modellelemente und ihre Beziehungen.

Die Ebenen M0 bis M3

Die Architektur ist geschichtet. Die Ebenen lassen sich leichter einordnen, wenn man sie an einem Beispiel betrachtet:

  • M0 steht für die realen oder geplanten Dinge – zum Beispiel eine konkrete Drohne.
  • M1 ist das Modell, das diese Drohne beschreibt – etwa ein SysML-v2-Part.
  • M2 enthält die Metaklassen, die die Modellelemente auf M1 beschreiben – zum Beispiel PartUsage.
  • M3 bezeichnet die Metaebene, auf der die Strukturen von M2 beschrieben werden. In der Meta Object Facility (MOF) ist das die Ebene der Metametamodelle.

Diese Schichtung ist kein akademischer Überbau. Sie hilft zu verstehen, wie standardisierte Modellrepräsentationen wie XMI den Austausch von Modellen zwischen Werkzeugen unterstützen sollen. Ob dieser Austausch gelingt, hängt zusätzlich von den konkreten Standards und Implementierungen der Werkzeuge ab.

KerML: die Sprache hinter der Sprache

SysML v2 steht nicht für sich, sondern baut auf der Kernel Modeling Language (KerML) auf. KerML ist eine Modellierungssprache, mit der sich Modellierungssprachen definieren lassen.

KerML stellt allgemeine Modellierungskonzepte bereit, während SysML v2 die systems-engineering-spezifischen Konzepte ergänzt. Die Architektur ist deshalb nicht auf SysML v2 beschränkt, sondern kann als Grundlage für weitere Modellierungssprachen dienen.

SysML v2 ist damit eine Anwendung von KerML – eine bedeutende, aber nicht die einzig denkbare.

Modellbibliotheken: Semantik, die man nicht sieht

Die Bibliotheken von KerML und SysML v2 enthalten Definitionen und Strukturen, die Modelle verwenden können. Wie diese Bibliotheken in die M0-bis-M3-Schichtung einzuordnen sind, hängt von der jeweils verwendeten Metaebenenbetrachtung ab. Für die praktische Modellierung ist vor allem wichtig: Die Bibliothekselemente stehen zur Verfügung, ohne dass Modellierende alle Beziehungen selbst anlegen müssen.

Wer einen Part anlegt, verwendet dabei die in der Sprache und ihren Bibliotheken definierten Beziehungen. Welche Beziehung im konkreten Fall entsteht – etwa Spezialisierung oder subset – hängt vom jeweiligen Sprachelement und der konkreten Modellierung ab.

SysML v2 stellt außerdem vordefinierte Bibliotheken bereit, beispielsweise für Einheiten und weitere Modellierungskonzepte. Welche Bibliotheken und Elemente verfügbar sind, richtet sich nach der jeweiligen SysML-v2-Version und der verwendeten Bibliotheksdefinition.

Warum das praktisch relevant ist

Du musst die Ebenen M0 bis M3 nicht auswendig kennen, um SysML v2 zu nutzen. Der architektonische Hintergrund hilft aber bei drei Fragen:

  • Warum können grafische und textuelle Notationen auf derselben Modellstruktur beruhen?
  • Warum greifen Modellierende auf Bibliotheken zurück, statt grundlegende Konzepte immer neu zu modellieren?
  • Warum unterstützt die Architektur Erweiterungen und domänenspezifische Modellierung?

Die Architektur erklärt also nicht nur, wie SysML v2 beschrieben wird. Sie erklärt auch, warum unterschiedliche Darstellungen, Bibliotheken und Erweiterungen in derselben Modellierungsumgebung zusammenpassen können.

Hast du ein Thema, über das wir schreiben sollen? Lass es uns wissen.