Ein CASE-Tool für dreidimensionale UML-Sequenzdiagramme

Visuelle Sprachen

Visuelle zweidimensionale Sprachen haben sich seit langem besonders in domänenspezifischen Anwendungsgebieten etabliert. Visuelle Sprachen werden in den meisten Fällen für solche Anwendungsdomänen entworfen, da in einer solchen eindeutig bekannte (visuelle) Notationselemente existieren, deren Syntax und Semantik dem Domänenexperten bekannt ist. Die Konstruktion von Programmen der Sprache erfolgt mit sogenannten Struktureditoren, die die syntaktische und semantische Korrektheit sicherstellen. Die Implementierung solcher Sprachen kann durch Verwendung von Generatorsystemen nahezu automatisiert werden. In unserer Fachgruppe wird das Generatorsystem DEViL (Development Environment for Visual Languages) entwickelt, welches aus Spezifikationen hohen Niveaus maßgeschneiderte Struktureditoren generiert. Zur vollständigen Beschreibung einer visuellen Sprache bedarf es lediglich der Angabe von Spezifikationen zur Beschreibung des Modells und der visuellen Darstellung. Optional können noch Spezifikationen zur Transformation (z.B. zur Generierung von textuellem Zielcode) und Simulation der visuellen Sprache angegeben werden. Weitere Details und zahlreiche mit DEViL implementierte Sprachen sind auf der Homepage devil.cs.upb.de zu finden.

3D-Sprachen
Zur Zeit entwickeln wir mit DEViL3D ein Generatorsystem für visuelle dreidimensionale Sprachen, welches die in DEViL erfolgreich genutzten Konzepte wiederverwendet und an die Anforderungen für 3D-Sprachen anpasst. Dreidimensionale Sprachen können sinnvoll eingesetzt werden, um Domänen mit inhärent dreidimensionalen Objekten abzubilden. Die Inhärenz kann sich zum einen aus der Gestalt des Objekts selber und zum anderen aus der Beziehung zwischen Sprachkonstrukten, die die dritte Dimension zwingend benötigt, ergeben. Ein Beispiel für den ersten Fall sind z.B. Objekte aus der realen Welt, wohingegen Molekülmodelle (siehe nachfolgenden Screenshot) - deren Anordnung im 3D-Raum sich aus Abstoßungsreaktionen von Elektronenwolken ergeben - den zweiten Fall repräsentieren. Der dritten Dimension kann außerdem eine semantische Rolle zugeordnet werden, wodurch dreidimensionale Programme als semantisch "reicher" als zweidimensionale angesehen werden können. Weiterhin können in 3D-Sprachen Graphdarstellungen überschneidungsfrei dargestellt und das Bildschirmplatzproblem kann minimiert werden.

Aufgabenstellung
Die Aufgabe der Projektgruppe ist die Entwicklung eines CASE-Tools (CASE: Computer-aided Software Engineering) für dreidimensionale UML-Sequenzdiagramme mithilfe des prototypischen Generatorsystems DEViL3D. Die Verwendung der dritten Dimension zur Darstellung von UML-Diagrammen ist laut UML-Standard explizit vorgesehen und kann dazu genutzt werden, um Abhängigkeiten zwischen einzelnen Diagrammen, die entlang der z-Achse aufgereiht sind, auszudrücken. Sequenzdiagramme können sinnvoll von der dritten Dimension Gebrauch machen, um die Überschneidungsfreiheit von Nachrichten- und Lebenslinien sicherzustellen. Da Sequenzdiagramme durch Verwendung sogenannter kombinierter Fragmente in mehrere Teildiagramme (die durch Interaktionsreferenzen miteinander verbunden sind) aufgeteilt werden können, bietet dies die Möglichkeit, das gesamte Diagramm inklusive Fragmente im 3D-Raum übersichtlich darzustellen.

Die Projektgruppe soll das System DEViL3D nutzen, mit dessen Hilfe zunächst die abstrakte Struktur (die das baumbasierte Modell der Sprach darstellt) beschrieben werden kann. Die visuelle Darstellung der Sprache kann durch Anwendung sogenannter visueller Muster erreicht werden. Die PG soll weiterhin Interaktionskonzepte für den 3D-Raum entwickeln, mit deren Hilfe sich möglichst einfach dreidimensionale Programme konstruieren lassen.

Die Implementierung der 3D-Grafik erfolgt mit der Java-basierten jMonkeyEngine, mit der ansonsten Computerspiele implementiert werden. Dies bietet die spannende Aufgabe, eine Spiele-Engine für wissenschaftliche Zwecke anzuwenden. Weiterhin erhalten die Teilnehmer die Möglichkeit mit unterschiedlichen Sprachen zu arbeiten und bekommen einen Einblick in ein Generatorframework.

Kontakt und Anmeldung

Jan Wolter <jan.wolter (at) upb.de>

Bastian Cramer <bcramer (at) upb.de>

Uwe Kastens <uwe (at) upb.de>

Video

Literatur

GRR99
Martin Gogolla, Oliver Radfelder Mark Richters.
Towards Three-Dimensional Representation and Animation of UML Diagrams.
Proceedings of the International Conference on The Unified Modeling Language: Beyond the Standard, 489-502. September 1999.

JRH+04
Mario Jeckle, Chris Rupp, Jürgen Hahn, Barbara Zengler Stefan Queins.
UML2 glasklar.
Hanser, München, 2004.

RG00
Oliver Radfelder Martin Gogolla.
On Better Understanding UML Diagrams through Interactive Three-Dimensional Visualization and Animation.
Proceedings of the Working Conference on Advanced Visual Interfaces, 292-295. Mai 2000.

Wol11
Jan Wolter.
Ein Konzept zur Implementierung visueller dreidimensionaler Sprachen, Mai 2011.
Masterarbeit, Universität Paderborn.

Impressum | Webmaster | Letzte Änderungen am : 16.10.2013