SysML v2 – The Next Generation

by | 26.05.2019 | Requirements Engineering

Die Zeit ist reif für die nächste Generation der SysML. Vor über 10 Jahren wurde die SysML Version 1.0 von der OMG (Object Managemement Group) veröffentlicht. Das Ziel war eine einfache, aber mächtige Modellierungssprache für ein breites Spektrum an Systems-Engineering-Aufgaben. Wir haben in der Zwischenzeit viel über SysML aus ihrem Einsatz in der Industrie gelernt. Dazu gehören ihre Stärken, aber auch ihre Schwächen. Gleichzeitig wird das modellbasierte Systems Engineering (MBSE) immer beliebter und wichtiger für eine Vielzahl an Unternehmen der Produktentwicklung. Das führt zu immer mehr Anforderungen an die SysML.

Im Dezember 2017 hat die OMG das Request for Proposal für die Systems Modeling Language Version 2, kurz RFP for SysML v2 veröffentlicht. Es ist eine lange Liste von Anforderungen an eine neue Version 2.0 der SysML. Nun liegt es an sogenannten Submission Teams, mit einem Vorschlag für eine neue Modellierungssprache auf das RFP zu antworten. Bis die SysML v2 offiziell verabschiedet ist, werden noch ein paar Jahre vergehen. Dennoch macht es schon jetzt Sinn, sich mit den neuen Konzepten auseinanderzusetzen und sich methodisch darauf einzustellen.

Im Juni 2018 hat die OMG noch das „SysML API & Services RFP“ veröffentlicht. Es startet die Entwicklung an einem bahnbrechenden Standard für kollaboratives Engineering.

In meinem MBSE-Blog auf www.mbse4u.com finden Sie eine Blogpost-Serie, die die Anforderungen aus dem RFP vorstellt. Die bedeutendsten Änderungen stelle ich Ihnen hier kurz vor:

Die SysML v1 basiert auf der UML. Das hat viele Vorteile, aber auch Nachteile. Einige für das Systems Engineering relevante Konzepte können nur schlecht abgebildet werden wie beispielsweise Gruppen oder die Allokation. Das Datenmodell der UML ist sehr komplex, so dass automatisierte Analysen, Simulationen oder einfach nur Abfragen schwer umsetzbar sind. Die SysML v2 erhält deshalb einen von der UML unabhängigen neuen Kern namens KerML, der speziell für Anforderungen an eine moderne Modellierungssprache entwickelt wird. Dieses neue Metamodell wäre auch für eine zukünftige Neuauflage der UML geeignet.

Es wird zusätzlich auch eine SysML v2 geben, die weiterhin auf der UML basiert. Das dient insbesondere dazu, Projekten den Übergang von SysML v1 zu SysML v2 zu erleichtern. Dieses SysML-v2-Profil der UML wird allerdings nicht den vollen Leistungsumfang der SysML v2 haben, da es im Kern die limitierende UML hat.

Die SysML v2 wird sehr viel präziser spezifiziert werden als die SysML v1 und die Möglichkeit bieten, dass die Modelle ausgeführt werden können. Das geht zwar auch schon mit der jetzigen Version, aber die Laufzeitumgebungen müssen einiges „erraten“, da die Präzision fehlt. Somit sind diese Modelle nur bedingt zwischen Engineering-Werkzeugen austauschbar.

Die SysML v2 wird zusätzliche neue Modellelemente erhalten, um mehr Systems-Engineering-Konzepte explizit zu unterstützen. Dazu gehören unter anderem: Risiko, Varianten, Materialeigenschaften, geometrische Eigenschaften und die Ursache-Wirkungs-Beziehung.

Die SysML v2 verfolgt den sogenannten Usage-Focus-Modellierungsansatz, der eine einfache und intuitive Modellierung von Strukturen ermöglicht. Vereinfacht gesagt: die Modellierung von internen Blockdiagrammen ohne Blockdefinitionsdiagramme. Die internen Blockdiagrammen entsprechen der üblichen Ausdrucksform von Ingenieuren, während die Blockdefinitionsdiagramme gerade für nicht-Software-Ingenieure, oft schwer verständlich sind.

Am meisten gespannt sind die Anwender natürlich, wie die SysML v2 aussehen wird. Dazu gibt es im RFP keine Vorgaben. Man wird davon ausgehen können, dass die SysML v2 ähnlich wie die SysML v1 aussehen wird. Es gibt keinen Grund, Anwendungsfälle nicht mehr als Ellipsen und Blöcke nicht mehr als Rechtecke dazustellen.

Es wird aber zusätzliche Visualisierungsmöglichkeiten geben und vermutlich auch andere Diagrammformen. Erste Prototypen nutzen beispielsweise die Visualisierungen von graphischen Datenbanken wie neo4j. Die neuen modellierbaren geometrischen Eigenschaften könnten in (sehr) einfachen CAD-Darstellungen visualisiert werden. Es wird auch eine rein textuelle Darstellung geben, so dass Sie in SysML programmieren können. Aktuell ist die Sprache Alf der Kandidat, der dafür erweitert werden soll.

Zum Abschluss noch ein schönes Highlight: es wird eine standardisierte API für den Zugriff auf SysML-Modelle geben. Unabhängig vom Modellierungswerkzeug kann auf das Modell lesend und schreibend zugegriffen werden. Das ermöglicht viele neue Möglichkeiten und verbessert die Interoperabilität von Engineering-Werkzeugen. So könnten Sie beispielsweise verschiedene Autorenwerkzeuge für Requirement Engineers, Systemarchitekten und Simulationsexperten nutzen, die alle auf dasselbe Modell zugreifen.