Montag, 15. März 2010


Artikel

November 2009 | Artikel

GEF goes 3D

(Link zum Artikel: http://www.it-republik.de/jaxenter//002648)

Dreidimensionale Editoren erstellen mit GEF3D

Text: Jens von Pilgrim
In seinem Artikel "Quo vadis Eclipse?" [1] wirft Holger Voormann einen Blick in die Zukunft und beschreibt, wie Eclipse 10.2 "Strukturänderungen" dreidimensional anzeigt und wie man einfach per Fingerzeig über "Abstraktionsebenen" fliegt. Dieser Artikel demonstriert, wie das bereits heute mit GEF3D möglich ist – auch wenn wir noch die Maus zur Navigation einsetzen müssen.
Teil 1   Teil 2   Teil 3   Teil 4   Teil 5   

Im Bereich modellgetriebener Verfahren spielen Modelle naturgemäß eine wichtige Rolle. Modelle werden zumeist mit zweidimensionalen Diagrammen visualisiert – UML-Diagramme sind hier vielleicht die bekanntesten Vertreter. Für manche Zwecke sind zwei Dimensionen allerdings nicht ausreichend. Das kann unterschiedliche Gründe haben: Entweder erfordert das Modell selbst eine dreidimensionale Visualisierung oder es sollen mehrere zweidimensionale Diagramme gleichzeitig dargestellt werden. Letzteres ermöglicht die Anzeige von Beziehungen zwischen Elementen verschiedener Diagramme oder Modelle. In der Fachsprache heißen solche Beziehungen Inter-Diagramm-Beziehungen. Für diese Fälle steht mit Eclipse GEF3D [2] nun ein Framework zu Verfügung, das auf einfache Art und Weise die Erstellung von Editoren für dreidimensionale Diagramme ermöglicht. GEF3D ist im Rahmen der Dissertation des Autors an der FernUniversität in Hagen entstanden und seit Herbst 2008 ein Eclipse-Projekt. Aktuell hat das Projekt nur zwei Committer – Verstärkung ist hier immer willkommen. Um einen kleinen Eindruck von den Möglichkeiten zu geben, die GEF3D bietet, zeigt Abbildung 1 einen Editor des Autors. Wie von Holger Voormann für die Zukunft gesehen, werden hier tatsächlich "Abstraktionsebenen" dargestellt. Die erste Ebene zeigt ein Anwendungsfalldiagramm, das im Rahmen der Robustness-Analyse [3] in ein Klassenmodell umgewandelt wurde, das auf der zweiten Ebene zu sehen ist. Die einzelnen Elemente sind zur Veranschaulichung der "Strukturänderung" mittels so genannter "Traces" verbunden, also Inter-Diagramm-Beziehungen, die in diesem Fall Quell- und Zielelemente einer Transformation verbinden.

In der Eclipse-Welt werden grafische Editoren fast immer mit GEF [4] oder GMF [5] umgesetzt (wobei Letzteres wieder auf GEF basiert). Der grundlegende Ansatz von GEF3D ist nun, GEF so zu erweitern, dass damit dreidimensionale Editoren erstellt werden können. Diese können mit den gleichen Techniken und Konzepten erstellt werden wie ihre zweidimensionalen Kollegen – spezielle Kenntnisse der 3D-Programmierung sind (fast) nicht nötig. Darüber hinaus bietet GEF3D spezielle Verfahren, um bestehende Editoren ohne großen Aufwand 3D-fähig zu machen. Diese werden dabei einfach auf Ebenen projiziert und mit ein paar Handgriffen können sie in der 3D-Ansicht editierbar gemacht werden. GEF3D liefert einige Beispieleditoren, die das demonstrieren. So werden u. a. der Ecore-Editor (der EMF-Tools [6]) sowie der Klassen-, Aktivitäts- und Anwendungsfalleditor der UML2-Tools [7] als 3D-Versionen bereitgestellt. Letztere sind übrigens in Abbildung 1 in Aktion zu sehen.

Im Folgenden wird GEF3D genauer vorgestellt. Nach einer sehr kurzen Einführung in GEF werden wir uns ansehen, wie GEF durch GEF3D erweitert wird. Anschließend werden wir in einem kleinen Beispiel einen eigenen 2D-Editor mit GEF erstellen und diesen anschließend "3D-fizieren", also für den Einsatz in 3D umrüsten.

Teil 1   Teil 2   Teil 3   Teil 4   Teil 5