|

Textuelle Modellnotationen kommen, nicht nur bei SysML v2

Textuelle Modellnotationen kommen, nicht nur bei SysML v2

Beim Thema „Modellierung“ denken wir oft an grafische Modelle, doch Modelle können auch andere Formen annehmen. Insbesondere textuelle Modellnotationen sind durch die SysML v2 ein hochaktuelles Thema.

In diesem Artikel geht es konkret um Textuelle Notationen, aus denen sich ein Modell generieren lassen kann.

Modellnotationen und Darstellungsmöglichkeiten

In typischen Modellierungswerkzeugen arbeiten wir mit einem Modellbaum, der hierarchisch das gesamte Modell repräsentiert. Das ermöglicht das Inspizieren einzelner Modellelemente, typischerweise in einem kleinen Formular („Element Properties“). Zusätzlich gibt es spezielle Modellelemente wie Diagramme, die eine grafische Sicht auf das Modell darstellen, die der Nutzer anpassen kann, unter anderem durch das Anordnen der nun grafisch dargestellten Modellelemente.

Dies ist übrigens nicht auf die hier häufig diskutierten Modellierungssparchen wie SysML und UML beschränkt. Diesen Ansatz finden wir auch bei CAD-Modellen, Schaltkreisen (sind auch Modelle), usw.

Es gibt aber auch andere Ansätze. Bspw. arbeiten Anforderungsmanagementwerkzeuge immer mit einem Daten- oder Informationsmodell. Dies ist in der Regel ein einfaches ER-Modell mit attributierten Elementen. Die Modelle werden hier typischerweise tabellarisch dargestellt.

Zuletzt gib es Modelle, die eigentlich nur in der Textform konsumiert werden. Dazu gehört insbesondere Softwarecode oder Datenstrukturen wie JSON oder YAML. Diese können maschinell weiterverarbeitet, aber auch vom Menschen gelesen werden.

Textbasierte UML-Werkzeuge sind besonders nützlich für schnelle und informelle Modellskizzen, Dokumentationen und frühe Design-Diskussionen

Jordi Cabot

Aus Text Diagramme generieren

Schon seit fast dreißig Jahren haben wir die Möglichkeit, aus Softwarecode auch Diagramme zu generieren. Das war insbesondere in den frühen 2000ern beliebt, als aus Java-Code große Tapen aus Klassendiagrammen generiert wurden. Diese hat der Architekt oft prominent sichtbar aufgehängt, was gerade die nicht-technischen Mitarbeiter schwer beeindruckt hat.

Doch der Text, aus dem Diagramme generiert werden, muss kein „echtes“ oder vollständiges Modell sein. Es kann auch einfach nur eine Sprache sein, die grafische Elemente beschreibt. PlantUML ist dafür ein gutes Beispiel: Da es nur das Diagramm beschreibt, kann man problemlos ein invalides UML-Diagramm mit PlantUML generieren. Jedoch ein aus Java-Code generiertes UML-Klassendiagramm wird immer formal korrekt sein (sonst würde der Java-Code nicht kompilieren). Auch die neue textuelle Notation der SysML v2 fällt in diese Kategorie.

Warum sind textbasierte UML-Werkzeuge so beliebt?

Dieser Ansatz wird oft als „Diagramme als Code“ bezeichnet und bietet eine Brücke zwischen textuellen und visuellen Darstellungen. Aus diversen Gründen ist er inzwischen sehr beliebt:

  1. Code-Infrastruktur nutzen: Textuelle Notationen lassen sich nahtlos in Versionskontrollsysteme und andere Tools integrieren, die Entwickler bereits in ihren täglichen Workflows verwenden. Dies erleichtert die Einführung erheblich, da keine zusätzliche Software erlernt, gekauft oder installiert werden muss.
  2. Intuitive Bedienung: Insbesondere Programmierer finden textuelle Sprachen oft intuitiver und komfortabler als grafische, was die Verbreitung dieser Werkzeuge weiter fördert. Und inzwischen kann fast jeder Ingenieur auch ein bisschen programmieren.
  3. Zugänglichkeit: Textbasierte Modellierungswerkzeuge sind oft die einzige praktikable Option für sehbehinderte Modellierer, da die meisten Barrierefreiheitswerkzeuge besser mit Texteingaben arbeiten.
  4. Workflow-Integration: Textuelle Modellnotationen können leicht aus allen möglichen Datenquellen generiert werden, um einen Sachverhalt notationskonform darzustellen. Ebenso können textuelle Modellnotationen auch geparst und maschinell weiterverarbeitet werden.

Textuelle Modellnotationen eignen sich hervorragend für schnelle und informelle Modellskizzen, beispielsweise zur Dokumentation oder als Entwurfsvorlagen für frühe Design-Diskussionen. Für umfangreiche und rigorose Modellierungsaktivitäten sind sie jedoch in der Regel weniger geeignet, da ihre Funktionen und Robustheit oft begrenzt sind.

Auswahl von textbasierten Modellierungswerkzeugen

Im MoLa-Blog wurde kürzliche eine Liste von Werkzeugen mit textueller Modellierungsnotation veröffentlicht. Hier eine kurze Zusammenfassung, mehr Details und Screenshots sind bei MoLa zu finden:

  1. PlantUML: Auch wenn UML im Namen steckt, kann PlantUML auch andere Notationen darstellen, wie SysML oder GANTT. Es ist das bekannteste Werkzeug in dieser Kategorie.
  2. yUML: Ein Online-Dienst, der das Erstellen von Klassen-, Aktivitäts- und Anwendungsfalldiagrammen ermöglicht. yUML ist besonders praktisch, um UML-Diagramme in Blogs, E-Mails und Wikis einzubetten.
  3. Nomnoml: Eine einfache Webanwendung mit Live-Vorschau. Nomnoml speichert Änderungen im lokalen Speicher des Browsers und hält die Syntax visuell so nah wie möglich am generierten UML-Diagramm.
  4. Umple: Umple integriert Modellierungskonzepte direkt in Programmiersprachen wie Java, C++, PHP und Ruby und fügt diesen UML-Attribute, Assoziationen und Zustandsmaschinen hinzu.
  5. ZenUML: ZenUML ermöglicht die schnelle Erstellung von Sequenzdiagrammen, selbst für komplexe Diagramme, und ist besonders für Confluence-Benutzer geeignet.
  6. Gleek: Gleek unterstützt viele UML-Diagrammtypen, einschließlich Objektdiagramme, und bietet eine Vielzahl von Tutorials und Beispielen zur Nutzung des Tools.
  7. TextUML Toolkit: Ein Open-Source-IDE für UML, das Modelle mit der gleichen Geschwindigkeit wie Code erstellt und eine erhöhte Modellierungsproduktivität bietet.
  8. UML Graph: Nutzt eine Java-basierte Syntax, um Klassen- und Sequenzdiagramme zu rendern, und verwendet verschiedene Werkzeuge zur Diagrammerstellung.
  9. USE (UML-based Specification Environment): Ein System zur Spezifikation und Validierung von Informationssystemen basierend auf einer Teilmenge der UML und der Object Constraint Language (OCL).
  10. DotUML: Unterstützt Anwendungsfall-, Sequenz-, Zustands-, Klassen- und Bereitstellungsdiagramme und kann als eigenständige Webanwendung oder als Plug-in verwendet werden.
  11. Chart Mage: Ein Tool zur Erstellung von Fluss- und Sequenzdiagrammen mit Autovervollständigungsfunktion.
  12. WebSequenceDiagrams: Ein Online-Editor für Sequenzdiagramme mit verschiedenen Notationen und Exportoptionen.
  13. Swimlanes: Ein einfaches Online-Tool zur Erstellung von Sequenzdiagrammen, das Diagramme als Bilddateien oder URL-Links exportiert.
  14. QuickDatabaseDiagrams: Bietet eine textuelle Notation zur Erstellung von ER-Diagrammen.
  15. BPMN Sketch Miner: Ein Tool zur schnellen Skizzierung von BPMN-Diagrammen.
  16. Structurizr: Unterstützt die Erstellung von Software-Architekturmodellen basierend auf dem C4-Modell mithilfe einer textuellen domänenspezifischen Sprache (DSL).

SysML v2 Textnotation

Eine interessante Rolle nimmt hierbei die SysML v2 ein, da der Standard hier eine Textnotation definiert. In der Community gab es heiße Diskussionen, ob die textuelle Notation nun das Modell sei oder nicht. Insbesondere argumentieren einige Verfechter, dass eine eindeutige ID ein integraler Bestandteil des Modells sein muss. Und das ist etwas, was die Notation nicht vorsieht. Allerdings ist das ein Problem, das mit entsprechenden Werkzeugen gelöst werden könnte.

Sicher ist aber, dass die SysML v2 Textnotation ein Schritt in die richtige Richtung ist.

Fazit

Textuelle Modellnotationen haben Grenzen; dennoch können sie in vielen Situationen taktisch eingesetzt werden, um die Kommunikation zu verbessern oder um eine textbasierte Integration zu ermöglichen. Besonders interessant werden in der Zukunft die Notationen sein, die das eigentliche Modell repräsentieren. In dieser Kategorie wird die SysML v2 Textnotation möglicherweise eine große Rolle spielen.

Photo by Anete Lūsiņa on Unsplash

Ähnliche Beiträge

Schreibe einen Kommentar