Bachelor + Master Publishing
811 Bachelorarbeiten, 533 Masterarbeiten, 10.103 Diplomarbeiten

Explorative Modellvisualisierung von EMF Modellen mit GMF

Explorative Modellvisualisierung von EMF Modellen mit GMF
Über dieses Buch
  • Art: Diplomarbeit
  • Autor: Jens Buschek
  • Abgabedatum: September 2008
  • Umfang: 74 Seiten
  • Dateigröße: 3,9 MB
  • Note: 2,4
  • Institution / Hochschule: Technische Universität Dresden Deutschland
  • Bibliografie: ca. 35
  • ISBN (eBook): 978-3-8366-2514-2
  • Sprache: Deutsch
  • Prämierung:
  • Arbeit zitieren: Buschek, Jens September 2008: Explorative Modellvisualisierung von EMF Modellen mit GMF, Hamburg: Diplomica Verlag
  • Schlagworte: framework, Eclipse Modeling, Graphical Modeling, Graphical Editing, Modellvisualisierung

Diplomarbeit von Jens Buschek

Einleitung:

Graphische Darstellungen ermöglichen die intuitive Vermittlung von Informationen und Strukturen. Dieser Prozess der Visualisierung findet in modernen Programmiersprachen Unterstützung durch die graphische Metamodellierung.

Metamodelle sind abstrakte Beschreibungen von Domänen und spezifizieren den Inhalt eines begrenzten Fachgebiets. Bei der Erstellung von Modellen auf Basis von Metamodellen werden die einzelnen Elemente des Metamodells gegebenenfalls mehrfach instanziiert.

Die Auswertung des Modells erfolgt über verschiedene Werkzeuge, zum Beispiel Generatoren, Konsistenzprüfer und Simulatoren. Für die Entwicklung solcher Auswertungswerkzeuge wäre es von Vorteil, wenn auch Metamodellinstanzen graphisch visualisiert werden könnten.

Problematisch ist hierbei jedoch die hohe Anzahl an Darstellungselementen, die bereits bei der Visualisierung von kleinen Modellen auftreten. Durch die vielfache Instanziierung der jeweiligen Metamodellelemente wird die Darstellung schnell unübersichtlich. Somit ist eine intuitive Informationsvermittlung nicht möglich und erfordert Strategien zur Verbesserung.

Der Schwerpunkt dieser Arbeit liegt auf der Reduktion der dargestellten Elemente. Zum einen wird eine explorative Strategie ausgehend von einem Anfangszustand verfolgt, der die interaktive Suche nach Informationen ermöglicht. Zum anderen werden Möglichkeiten zur Filterung untersucht. Es erfolgt eine Betrachtung von Aspekten zur Erleichterung der Orientierung und Exploration. Die Realisierung dieser Erkenntnisse soll Entwicklern in Eclipse die Möglichkeit geben, Modelle direkt und intuitiv visuell darzustellen. Dazu erfolgt eine Betrachtung von Visualisierungsframeworks für Eclipse. Auf Basis der Untersuchungsergebnisse wird ein Visualisierungswerkzeug als Eclipse-Plugin realisiert. Dieses, mit dem Graphical Modeling Framework (GMF) umgesetzte Werkzeug, ermöglicht neben der explorativen Darstellung auch die intuitive und dynamische Filterung von graphischen Objekten und Objektgruppen.

Dementsprechend ist diese Arbeit wie folgt gegliedert. In Kapitel 2 werden die Metamodellierung, deren Entwicklung innerhalb von Eclipse und deren Betrachtung im Prozess der modellgetriebenen Softwareentwicklung behandelt. Es folgt die Vermittlung von Grundlagen in den Bereichen Visualisierung sowie Exploration und Interaktion. Im Anschluss findet eine Betrachtung verwandter Arbeiten statt.

In Kapitel 3 werden die Anforderungen an das Visualisierungswerkzeug gestellt. Auf dieser Basis wird die Konzeption durchgeführt. Dabei finden Auswahl und Abbildung der zu visualisierenden Daten, die Festlegung der Visualisierungstechnik sowie die Konzeption der explorativen Merkmale und Filtermöglichkeiten statt. Es folgen Diskussion und Auswahl eines Visualisierungsframeworks für Eclipse.

Die Implementierung des Visualisierungswerkzeugs wird in Kapitel 4 zweistufig mit dem GMF realisiert. Zunächst wird generativ ein graphischer Editor erstellt. Dieser wird im zweiten Schritt über ein separates Plugin mit Fähigkeiten zur Darstellung von Modellinstanzen des Eclipse Modeling Framework (EMF) sowie Möglichkeiten zur Exploration und Interaktion ausgestattet.

Kapitel 5 thematisiert eine Evaluation des erstellten Werkzeugs. Anhand eines Beispiels werden die Bereicherungen der explorativen Navigation kurz dargestellt. Abschließend bietet Kapitel 6 eine Zusammenfassung der Ergebnisse dieser Arbeit und einen Ausblick auf Weiterentwicklungsmöglichkeiten.

Die in der Arbeit erwähnte CD ist nicht Bestandteil des eBooks!

Inhaltsverzeichnis:

Inhaltsverzeichnis II
1. Einleitung 3
2. Grundlagen 5
2.1 Modellierung 5
2.1.1 Modellgetriebene Softwareentwicklung 5
2.1.2 Metamodellierung 6
2.1.3 Eclipse Modeling Framework 8
2.2 Visualisierung 9
2.2.1 Visualisierungsprozess 9
2.2.2 Visualisierungstechniken 10
2.3 Exploration & Interaktion 11
2.3.1 Filtertechniken 12
2.3.2 Überblickstechniken 12
2.3.3 Details-On-Demand Techniken 13
2.3.4 Verzerrungsorientierte Techniken 13
2.4 Verwandte Arbeiten 14
3. Konzeption 15
3.1 Anforderungen 15
3.2 Datenaufbereitung & Mapping 16
3.2.1 ECLASS 18
3.2.2 EREFERENCE 19
3.2.3 EATTRIBUTE und EDATATYPE 20
3.3 Visualisierungstechniken 22
3.4 Exploration & Filterung 23
3.4.1 Filtertechniken 23
3.4.2 Explorationstechniken 26
3.5 Visualisierungsframeworks 29
3.5.1 Draw2D 29
3.5.2 Zest 30
3.5.3 Graphical Editing Framework 30
3.5.4 Graphical Modeling Framework 32
3.5.5 Bewertung 34
4. Realisierung der explorativen Modellvisualisierung 35
4.1 GMF Tooling - Generierung des Editors 36
4.1.1 Modellgenerierung mit EMF 36
4.1.2 Editorgenerierung mit GMF 41
4.1.3 GMF Editor 45
4.2 GMF Runtime - Erweiterungen zur Umsetzung einer explorativen Visualisierung 46
4.2.1 Transformation des Quellmodells 49
4.2.2 Implementierung explorativer Eigenschaften 50
5. Evaluation 61
5.1 Funktionalität 61
5.1.1 GMF 61
5.1.2 GMF Editor 62
5.1.3 Interaktionsplugin 63
5.2 Verwendung 63
5.3 Fazit 65
6. Zusammenfassung und Perspektiven 67
6.1 Zusammenfassung 67
6.2 Perspektiven 68

Textprobe:

Kapitel 4.2.2.1, Auf- und Zuklappfunktion: Das Collapse & Expand, als das befristete Ein- und Ausblenden referenzierter Knoten wird auf der Ebene des Notationsmodells durchgeführt. Elemente lassen sich von der Darstellung entfernen, indem auf der View setVisible ausgeführt wird. Das Element ist daraufhin in der Darstellung nicht mehr vorhanden und im Darstellungsmodell als visible=false markiert.

Die Durchführung solcher Aktionen erfolgt in GMF über Kommandos. Das für diese Funktion zuständige Kommando ist die Klasse CollapseCommand, welche über die Klasse VisibilityHandler aufgerufen wird. Letztere sorgt für die Umsetzung der Navigation über die Kommandos. Hinzu kommen spezielle Formen des Ein- und Ausblendens:

-Expand Exclusive Beinhaltet zusätzlich zum normalen Expand das Ausblenden benachbarter Knoten und wird über das CollapseExclusiveCommand realisiert.

-Expand Exclusive & Reduce Hier werden die Compartments von allen Elementen, die nicht den ausgewählten Knoten direkt oder indirekt referenzieren, geschlossen.

-Hide Beinhaltet das einfache Ausblenden eines einzelnen Elements.

Die verwendeten Aktionen werden über die GMF Oberklassen der generierten EditParts des Editors, den ShapeNodeEditParts für die Knoten und ConnectionNodeEditParts für die Verbindungen zwischen diesen, in das Kontextmenü eingebunden.

Kapitel 4.2.2.2, Filter: Die Einbindung der Aktionsklassen zur Filterung erfolgt auf die selbe Art und Weise wie beider Ein- und Ausblendfunktion. Die Durchführung der Filterung übernimmt die Klasse VisualFilter.

Um neben dieser Funktion eine weitere Möglichkeit der Reduktion der Darstellungselemente durch die Filterung zuzulassen, muss ein weiteres Attribut eingeführt werden, welches Informationen über den Filterungszustand enthält. In Abbildung 4.16 ist das um die Filterattribute erweiterte Metamodell der Visualisierung von 4.3 zu sehen. Die zusätzlich eingefügten Attribute sind grün eingefärbt. Alternativ könnten die gefilterten Elemente auch gelöscht werden. Dann wäre es jedoch nicht möglich die gefilterten Elemente später wiederherzustellen. Ersatzrelationen bei ClassTopic und ReferenceTopic Um die Filterungen auch über mehrere Stufen zu ermöglichen, bekommen die Relationen des Metamodells drei EReferences für die aus dem Diagram gefilterten Elemente zugewiesen:

Ein Topic und zwei Relations. Diese dienen der Speicherung des gefilterten Topics sowie der Relations von und zu diesem. In Abb. 4.16 sind diese blau unterlegt. Das bedeutet für jeden gefilterten Knoten werden Ersatzrelationen geschaffen, die alle Ausgangsknoten mit allen Zielknoten verbinden. Für die Filterung von AttributeTopic und TypeTopic werden keine Ersatzrelationen geschaffen.

Ein Beispiel für diese Ersatzrelationen ist in Abbildung 4.17b abgebildet. Dies ist die Darstellung nach der Filterung des in Abbildung 4.17a mittig dargestellten Knotens. Bei diesem Knoten und den eingehenden und ausgehenden Kanten wird das Attribut Filtered, welches grün unterlegt ist, auf true gesetzt. Diese Elemente werden somit nicht mehr angezeigt. Als Ersatz werden zwei FilteredLink Elemente erstellt, die im vorherigen Abschnitt bereits erwähnt wurden und als gestrichelte Kanten dargestellt werden. Die blau unterlegten Referenzen Filtered Source, Filtered Target und Filtered Topic referenzieren die Objekte, deren Filtered Attribut nun true ist und die nun nicht mehr angezeigt werden.

Die Filterung eines einzelnen Knotens wird im Code, wie in Listing 4.1(siehe Listing 4.1: VisualFilter) gekürzt dargestellt, umgesetzt.

Zuerst werden in Zeile 5 und 6 alle ein- und ausgehenden Verbindungen des Knotens abgefragt. Dies dient dazu, für jede eingehende Verbindung neue Verbindungen zu jeder ausgehenden zu erstellen. In Zeile 13 und 14 werden dafür die Ursprungsknoten der eingehenden und die Zielknoten der ausgehenden Verbindung abgefragt. Zwischen diesen Knoten wird in Zeile 16 eine neue Verbindung erstellt, der in Zeile 20 die drei Objekte übergeben werden, die zur Filterung vorgesehen sind. Das sind die folgenden Modellobjekte der eingehenden Verbindung filteredSrcRelation (Zeile 18), der ausgehenden Verbindung filteredTrgRelation (Zeile 19) und des gefilterten Knotens filteredTopic (Zeile 17). Über die Referenz der neuen Verbindung auf den gefilterten Knoten wird die Umkehrbarkeit des Filterprozesses gewährleistet. In den Zeilen 22 und 25 wird das Attribut filtered der Verbindungen dann true gesetzt. Nachdem alle ein- und ausgehenden Verbindungen so verarbeitet wurden, wird in Zeile 30 das Attribut filtered von Topic auf true gesetzt. In Zeile 28 - 34 wird das Attribut visible des View Elements der Knotendarstellung explizit auf false gesetzt und damit der Knoten nicht mehr angezeigt.

Arbeit zitieren:
Buschek, Jens September 2008: Explorative Modellvisualisierung von EMF Modellen mit GMF, Hamburg: Diplomica Verlag

Schlagworte:
framework, Eclipse Modeling, Graphical Modeling, Graphical Editing, Modellvisualisierung

Entdecken Sie mehr zum Thema

diplom.de
Bachelor + Master Publishing

Hermannstal 119 k
22119 Hamburg

Fon: +49 (0) 40 655992-0
Fax: +49 (0) 40 655992-22

Service-Telefon

Rufen Sie uns an:
+49 (0) 40 655992-0

Mo-Fr
09.00-16.00 Uhr

diplom.de in den Medien

Folgen Sie uns bei Twitter & werden Sie diplom.de-Fan bei Facebook!
Schreibtipps unserer Lektoren, Neuigkeiten aus dem Verlagsalltag und das Expertenwissen unserer Autoren als Tweet & Post!
Wir freuen uns auf Sie!

diplom.de BACHELOR + MASTER PUBLISHING

Bachelorarbeiten, Masterarbeiten, Diplomarbeiten, Magisterarbeiten, Dissertationen und andere Abschlussarbeiten aus allen Fachbereichen und Hochschulen können Sie bei uns als eBook sofort per Download beziehen oder sich auf CD oder als Buch zusenden lassen. Seit mehr als 15 Jahren ist diplom.de der seriöse, professionelle und erfolgreiche Partner für die Veröffentlichung wissenschaftlicher Abschlussarbeiten.

© Diplomica Verlag GmbH 1996-2011, AG Hamburg HRB 80293 - GF Björn Bedey, USt-IdNr.: DE214910002 - Verkehrsnummer: 12285 - Impressum
Index der Arbeiten - Index der Autoren