Fundamental Modeling Concepts for Systems Engineering (FMC4SE)

FMC4SE ist eine Software für die Modellierungsplattform Enterprise Architect von Sparx Systems. Sie besteht aus zwei Teilen: Einem MDG-UML-Profil für Enterprise Architect, das es erlaubt Compositional Structure Modelle die dem Fundamental Moldeling Concepts Ansatz folgen mit Enterprise Architect zu erstellen und diese so wie von FMC vorgesehen aussehen zu lassen.

Der zweite Teil ist eine Software für Enterprise Architect (Plugin), die es dem Anwender einfacher machen soll FMC Modelle zu erstellen. Dabei werden beispielsweise die Standarddialoge zum Bearbeiten der Elementeigenschaften durch eigene Dialoge ersetzt, die nur die wesentlichen Dinge an einer zentralen Stelle anzeigen. Dadurch entfällt für den Anwender das fehlerträchtige Editieren an mehreren Stellen im Werkzeug.

Weitere Hintergrundinformationen finden sich im Beitrag: Systemmodellierung – einfach und intuitiv

Was ist Fundamental Modeling Concepts?

Die Grundlagen der Fundamental Modeling Concepts wurden bereits Ende der 1970er Jahre von Prof. Siegfried Wendt entwickelt. Die Weiterentwicklung zum heute bekannten Stand erfolgte dann durch ihn und seine Mitarbeiter in den darauffolgenden Jahren.

Besonders interessant daran finde ich, dass dort Dinge, die in UML und SysML immer wieder wieder zu Problemen führen, bereits analysiert und gelöst worden sind. Leider ist der Ansatz so gut wie kaum bekannt und wurde vorwiegend im Umfeld des Instituts von Prof. Wendt am Hasso Plattner Institut gelehrt und eingesetzt. Eine genaue Beschreibung des gesamten Konzeptes findet sich im Buch Fundamental Modeling Concepts, das 2005 bei Wiley erschienen ist.

Die entscheidenenden Gedanken hinter FMC sind dabei:

  • Konzentration auf die wesentlichen, wenige Elemente
  • Intuitive Darstellung um den Anlernaufwand gering oder gegen Null zu halten

Leichte Adaption des FMC-Konzepts

An einer Stelle bin ich bei der Umsetzung der FMC-Profils von der in der Literatur beschriebenen Form abgewichen: Bei FMC werden Kommunikationskanäle durch einen Konnektor mit einem Kreis in der Mitte dargestellt. Ich nutze hingegen den Kreis bei Quelle und Ziel des Kommunikationskanals analog zu einem Port in UML oder SysML. Dies ermöglicht es eine Komponente auch aus einem Gesamtsystem herauszuschneiden, ohne die Schnittstellen zu verlieren, das diese nicht nur am Konnektor “hängen”, sondern an der Komponente selbst definiert und mit dieser implizit verbunden sind.

Der im FMC-Standard vorgesehene Kreis zur Darstellung eines Kommunikationskanals wird also praktisch nur verdoppelt. Ansonsten werden die Elemente so wie bei FMC beschrieben umgesetzt.

Modellierungsassistent

Zur Verbesserung der Benutzerfreundlichkeit dient das erstellte Plugin. Hierbei wird ein Modellierungsassistent umgesetzt der es ermöglicht bei Anlegen neuer Elemente bereits alle wesentlichen Daten wie Typ der Komponente, Name, Art der Komponente (Elektronik, Software, Mechanik etc.) und Beschreibung der Komponente auszuwählen bzw. einzugeben. Ein besonderes Augenmerk gilt dabei der Festlegung des Typs. Auch die Umsetzung der FMC4SE nutzt die zur Verfügung gestellten Konzepte von Klasse und Instanz. Allerdings wird dies durch das Plugin für den Anwender vereinfacht.

  

Der Dialog für die Eigenschaften enthält eine Auto-Vervollständigung die automatisch beim Tippen bereits existierende Komponenten- oder Schnittstellentypen (Type) anzeigt. Wird eine existierende ausgewählt wird diese automatisch zugewiesen. Existiert keine passende, kann der Anwender mit der „+“-Knopf eine neue erzeugen. Diese wird direkt als Klassen- (für Komponenten) oder Interface-Element in eine zentrale Typenbibliothek einsortiert. Ein Hantieren mit verschiedenen, verwirrenden Datentypen wie bei SysML entfällt damit.

Die Zuordnung der Komponentenart (Kind) wird über farbliche Kennzeichnung erreicht. Damit kann man auf den ersten Blick eine Software- von einer Hardwarekomponente unterscheiden.

FMC4SE ist Open Source und kostenlos

Die FMC4SE Technologie und das Plugin für Enterprise Architect stelle ich als Open Source unter der MIT Lizenz auf Github kostenlos zur Verfügung: https://github.com/oalt/fmc4se. Auch ein kleines Beispielmodell für Enterprise Architect findet sich hier.

Einen Installer für Windows mit dem ersten Release gibt es ab sofort hier (Version 2.2.2.22).

Der Installer Installiert das Plugin vollautomatisch. Die Definition der MDG Technology (.xml-Datei) und das Beispielmodell (.eap-Datei) werden unter C:\ProgramData\MDD4All\FMC4SE  installiert. Sie können diese MDG Technology über die entsprechenden Menüs in jedes Enterprise Architect Modell laden und damit die FMC-Unterstützung aktivieren. Die Software lässt sich über die Systemsteuerung komplett wieder deinstallieren. Daher ist es einfach möglich auch FMC4SE nur mal kurz auszuprobieren. Da es sich um ein Enterprise Architect-Plugin handelt sind zur Installation Administratorrechte notwendig, da die Softwarekomponenten eine Windows COM-Registrierung benötigen.

Das im Beispielmodell enthaltene Modell der “Temperatursensorsignalkette” sehen Sie im Bild oben. Auffällig ist die viel weniger überladene Darstellung im Vergleich zu SysML. Trotzdem sind meiner Ansicht nach aller wesentlichen, zum Verständnis notwendigen Inhalte vorhanden.

Warum nur FMC Compositional Structures?

FMC definiert neben dem Compositional Structures Diagramm auch noch zwei weitere weitere Diagramme zur Beschreibung von dynamischem Verhalten angelehnt an Petri-Netze und Entity-Relationship-Diagramme zur Beschreibung und Definition von Datenstrukturen.

Diese Diagramme wurden bewusst nicht umgesetzt, da ich persönlich finde, dass hier im Umfeld der UML/SysML mit dem Aktivitätsdiagramm im Bereich dynamische Modellierung und dem Klassendiagramm im Bereich Beschreibung von Datenstrukturen bereits sehr weit etablierte Diagrammarten zur Verfügung stehen, die soweit auch schon bei vielen Anwendern bekannt sind oder bereits angewendet werden. Für mich sind die dazu im FMC-Bereich definierten Notationen weniger intuitiv zugänglich und daher würde ich in von mir verantworteten Modellen immer eine Kombination von FMC Compositional Structures sowie UML/SysML-Klassen- und Aktivitätsdiagrammen vorziehen. Das darf aber jeder gerne halten wie er mag.

Resourcen