Beispiel: Schnittstellenbeschreibung
Nun soll aus einem Ausschnitt einer Systemarchitektur eines Pkws automatisiert eine Schnittstellenbeschreibung erstellt werden. Sie soll aufzeigen, welche Systemkomponenten auf Basis welches Kommunikationssystems miteinander kommunizieren und welche Informationen dabei ausgetauscht werden. Je nach Projekt- oder Unternehmensvorgabe kann eine nähere Beschreibung zum Aufbau einer Kommunikation zwischen zwei Kommunikationspartnern erfolgen.
In Bild 3 ist der Ausschnitt einer Systemarchitektur als UML-Komponentendiagramm dargestellt. Bei der Erstellung des UML-Modells wurden folgende Modellierungsrichtlinien eingehalten:
Bild 3 zeigt fünf Systemkomponenten, die untereinander über die Bussysteme CAN und LIN Informationen austauschen. Sensoren an den Türen erfassen den Türzustand, der via LIN an die Lichtsteuerung zum Ein- und Ausschalten der Innenraumbeleuchtung sowie zur Instrumententafel zur Zustandsanzeige der Türen übertragen wird. Ebenso zeigt die Instrumententafel die aktuelle Geschwindigkeit, Drehzahl und Temperatur des Motors an, die der Motor per CAN bereitstellt.
In unserem Beispiel soll die Schnittstellenbeschreibung einen strukturierten Überblick über die Kommunikation der Systemkomponenten bereitstellen. Die Informationen sind im UML-Modell verknüpft und lassen sich auf unterschiedliche Weise automatisiert aufbereiten. Für die Schnittstellenbeschreibung sollen die folgenden Gliederungsebenen zum Einsatz kommen:
1. Überschrift beziehungsweise Bezeichnung des Systemausschnitts mit UML-Diagramm,
2. Partner einer Kommunikationsverbindung mit eventuell näheren Informationen über die Kommunikation,
3. physikalische Kommunikationsschnittstelle,
4. logische Schnittstelle,
5. übermittelte Informationen sowie
6. eventuell genauere Bezeichnung der übermittelten Informationen.
Die Nummern in Bild 3 verdeutlichen den Zusammenhang zwischen den Informationen der Schnittstellenbeschreibung und denen des UML-Modells. Die zusätzlichen Informationen zur Kommunikation in Gliederungsebene 2 können in UML-Kommentaren im Informationsfluss oder manuell in der Schnittstellenbeschreibung stehen. Die Inhalte einer solchen Schnittstellenbeschreibung können somit im Wesentlichen aus dem UML-Modell kommen. Daher bietet sich ein Generierungsansatz mit definierten Bereichen für manuell zu pflegende Inhalte an.
In Bild 4 a ist die Bearbeitungsansicht einer möglichen generativ erzeugten Schnittstellenbeschreibung zu sehen. Darin sind Anfang und Ende der definierten Bereiche als versteckter Text enthalten (Bild 4 b). In der Druckansicht beziehungsweise der finale Fassung der Schnittstellenbeschreibung sind die Markierungen für definierte Bereiche ausgeblendet.
Über die Autoren:
Tobias Haubold ist wissenschaftlicher Mitarbeiter an der westsächsischen Hochschule Zwickau und Mitentwickler des Generator-Frameworks GeneSEZ, André Pflüger ist System Engineer bei Sophist und Mitgleid der GeneSEZ-Forschungsgruppe an der westsächsischen Hochschule Zwickau.
Unified Modeling Language |
---|
Die UML ist eine vereinheitlichte grafische Modellierungssprache für die Spezifikation, Konstruktion und Dokumentation von Systemen und Software. Sie definiert Modellelemente, d. h. Begriffe sowie deren Beziehungen untereinander und ihre grafische Darstellung. Für die grafische Darstellung in Diagrammen stellt sie mehrere Diagrammtypen zur Verfügung, die grob in Struktur- und Verhaltensdiagramme eingeteilt werden können. Die Diagramme sind jedoch nur eine Sicht auf die Modellelemente und ihre Beziehungen. Die UML definiert auch ein Datenmodell (Repository) zur Speicherung der Modellelemente und ihrer Beziehungen, das in diesem Artikel genutzt wird, um Modellinformationen in textuelle Dokumentationen einzubetten. Weiterhin definiert die UML einen Erweiterungsmechanismus, mit dem sich Modellelemente in ihrer Bedeutung spezialisieren und zusätzliche Eigenschaften hinfügen lassen. Solche Erweiterungen werden als UML-Profile bezeichnet. Ein bekannter Vertreter ist das SysML-Profil (Systems Modeling Language), das zusätzliche Diagramme und Modellelemente für die Systemmodellierung definiert. Diese waren für die Beispielmodelle in diesem Artikel noch nicht notwendig, sind bei detaillierteren Modellen sinnvoll. |