|

SysON ausprobiert: Erste Schritte mit SysML v2 im Browser

SysON ausprobiert: Erste Schritte mit SysML v2 im Browser

SysON ist im Moment eines der interessantesten SysML v2-Werkzeuge: Es ist komplett neu, es läuft im Webbrowser und es ist Open Source. Ich würde es zwar als Pre-Beta-Software bezeichnen, das Programm hat dennoch viel Potential. Im Folgenden:

  • SysON auf dem Radar — Ein webbasiertes Open-Source-Tool für SysML v2 – direkt im Browser nutzbar und entwickelt von OBEO unter der Eclipse Foundation.
  • Aktiver Austausch auf Discord — Die Community wächst! Toller Austausch rund um SysON auf dem Discord-Server der Systems Engineering Professionals.
  • Schnellstart mit Docker — SysON läuft jetzt easy in einem Docker-Container – in wenigen Minuten.
  • Erste Schritte & Beispielprojekt — Dank Batmobile-Demo, hilfreichen YouTube-Videos und Version-basierter Doku gelingt der Einstieg schnell und unkompliziert.
  • Fokus auf Nutzerfreundlichkeit — Modelle lassen sich intuitiv anlegen – Part Defs z.B. direkt im Editor erzeugen. Noch nicht perfekt, aber vielversprechend.
  • Swagger-API an Bord — SysON bringt eine SysML v2 REST API mit – über Swagger lokal verfügbar. Ideal zum Experimentieren mit Projekten & Commits.
  • Noch nicht ganz stabil — Abstürze und eingeschränkte Usability zeigen: SysON ist (noch) kein Produktivwerkzeug – aber das Potenzial ist da.
  • Fazit & Ausblick — SysON bringt SysML v2 erheblich voran. Ich bin gespannt, wann erste kommerzielle Case Studies folgen!

SysON

SysON ist ein relativ neues, webbasiertes, quelloffenes Modellierungswerkzeug für SysML v2. SysON ist ein Projekt der Eclipse Foundation und wird primär von OBEO entwickelt. Obwohl SysON sich noch im Entwicklungsstadium befindet, zeichnet sich bereits ab, dass das Tool Potenzial für professionelle Anwendungen hat.

Damit ist SysON bereits das dritte bei SE-Trends evaluierte SysML v2-Werkzeug:

Viele Diskussionen bei Discord

Wer sich mit anderen Experten über SysON austauschen möchte, sollte unbedingt dem Discord-Server der Systems Engineering Professionals beitreten. Dort hat Zsolt Sándor eine inzwischen sehr aktive Community aufgebaut. Auch zu SysON finden da viele Diskussionen statt.

Bei der Gelegenheit möchte ich auch noch einmal auf den MBSE Podcast von Tim Weilkiens und Christian Muggeo hinweisen, der während der Corona-Zeit enstanden ist. Hier zwei etwas ältere Episoden zu Discord und SysON.

Endlich im Docker-Container

Als ich im Frühjahr letzten Jahres einen ersten Blick auf SysON warf, war die Installation noch eine Qual. Inzwischen kann das Tool über Docker installiert werden. In weniger als fünf Minuten lief der Docker-Container bei mir — allerdings war Docker bereits installiert.

Die Documentation beschreibt vier verschiedene Installations-Szenarios:

  • Lokal zum Testen: Um schnell SysON auszuprobieren, brauchen wir nur lokal einen Docker-Container zu starten. Der Container enthält die dazugehörige Datenbank, wodurch wir nichts weiter konfigurieren müssen. Sobald der Container läuft, können wir über Localhost SysON im Webbrowser nutzen. (Anleitung).
  • Lokal mit mehreren Nutzern Testen: Diese Anleitung ist lediglich eine Variante der dockerbasierten installation, erweitert mit einer Anleitung zum Erstellen eines selbstsignierten Zertifikats für SSL.
  • Prduktionsumgebung: Im Produktivumfeld arbeiten wir mit einer JAR-Datei, benötigen also ein Java Runtime Environment und eine separate PostGres Datenbank.
  • Lokal zum Entwickeln: Auch diese Anleitung ist eine Variante der Produktivumgebung, wobei wir lokal Datenbank und Anwendung separat starten (und nicht in einem einzigen Docker-Container). Vorteil hier ist die Zugänglichkeit, bspw. zur Datenbank. Außerdem können wir den Anwendungscode natürlich auch aus der IDE heraus laufen lassen, statt aus dem Container.

Für die folgende Evaluierung habe ich die erste Option gewählt. Ich hatte bereits Docker installiert. Daher hatte ich SysON in zwei Schritten am Laufen:

  • Herunterladen von docker-compose.yml
  • Im selben Ordner im Termin starten mit:
    docker compose up

Nachdem das Script alle Images heruntergeladen und am Laufen war, Konnte ich SysON über Localhost auf Port 8080 nutzen:

Der Einstieg ist leicht

Das SysON-Team hat sich bemüht, den Einstieg so leicht wie möglich zu machen. Hilfreiche Ressourcen sind:

  • Mit einem Klick das Beispielprojekt“Batmobile“ erstellen.
  • Videos im SysON-Youtube-Kanal sind extrem nützlich und teilweise professionell produziert.
  • Nutzer-Dokumentation. Wichtig: Jede neue Version hat eine eigene Version der Dokumentation. Insbesondere beim Suchen in der Doku erscheinen auch Ergebnisse von älteren Versionen.

Schwerpunkt auf Nutzerfreundlichkeit

Mit den genannten Ressourcen ist es dann vergleichsweise leicht, mit der Modellierung zu beginnen, also ein paar Parts zu erstellen und zu verknüpfen. Aus professionellen Werkzeugen bekannte Funktionen finden sich zum Teil auch in SysON: Zum Beispiel kann ich in einem Schritt eine Part Def erstellen, indem ich ein Part anlege und nach dem Doppelpunkt den Namen des neuen Part Def. In diesem Video ab 0:30.

Der getippte Text wird wie gezeigt korrekt geparst. Im Video ab 0:30.
Der getippte Text wird wie gezeigt korrekt geparst. Im Video ab 0:30.
Das vollständige 4-Minuten-Video

Leider ist diese Funktion noch nicht überall umgesetzt worden. Für das Erstellen von Ports funktionierte diese Vorgehen (noch) nicht.

Validierung

Neben der Modellierung unterstützt SysON auch einfache Validierungsfunktionen. Allerdings ist diese im Moment sehr verbose. Im Folgenden der Screenshot eines aus einem Part bestehenden Modells, für das Tool bereits 12 Warnungen erzeugt:

Es wäre wünschenswert, wenn Warnungen mit derselben Ursache zusammengefasst werden würden.

SysML V2 REST API

Aber eines der coolsten Features von SysON ist die Verfügbarkeit der SysML REST API, auf die interaktiv über Swagger unter http://localhost:8080/swagger-ui/ zugegriffen werden kann. Zum Beispiel bekomme ich über den Endpoint /api/rest/projects eine Auflistung meiner Projekte:

Die API ermöglicht allerdings nicht die feingranulare Veränderung des Modells, sondern ermöglicht nur den Umgang mit Projekten, Branches und Commits. Ich habe nicht ausprobiert, über ein maßgeschneidertes Commit das Modell zu aktualisieren, doch das sollte möglich sein.

Was noch fehlt

Es gibt noch eine Menge zu tun: Beim Experimentieren ist SysON mehrfach abgestürzt, auch mit Datenverlust. An vielen Stellen ist die Usability noch nicht gut genug für den professionellen Einsatz. Zum Beispiel ist im Modellbaum keine Mehrfachauswahl möglich, das Auto-Layout eher mäßig.

Doch dabei dürfen wir nicht vergessen, dass SysON sich zum einen noch in einem frühen Stadium der Entwicklung befindet und zum anderen open source-Software ist. Spannend wird es, wenn OBEO und andere beginnen, kommerzielle Lösungen auf der Basis von SysON anzubieten.

Fazit

Endlich ist es einfach, SysON lokal und im Team zu installieren, und zwar ohne allzu großes technisches Wissen. Damit wird es für Anwender wesentlich einfacher, dieses Werkzeug auszuprobieren. Wer professionell mit SysML v2 arbeitet, sollte die Entwicklung im Auge behalten.

Für mich wäre der nächste Meilenstein eine kommerzielle Case Study: Ich bin gespannt, wann diese kommen wird.

Ähnliche Beiträge

Schreibe einen Kommentar