Dr.-Ing. Andreas Kerren
Gebiet
Informationsvisualisierung
Status
Thema bereits vergeben.
Inhalt
Das Praktikum findet im Kontext des FWF-Projektes
GeoGraph statt.
Hier werden Verfahren erforscht, die mit Hilfe von Hierarchien ebener Graphen geographische
Informationen sammeln, analysieren und visualisieren. Solche Graphhierarchien werden
als Graphpyramiden bezeichnet und dienen als abstrakte Struktur zur Speicherung und
zum Information Retrieval.

|
Eine Graphpyramide
Entnommen aus:
Logarithmic Tapering Graph Pyramid.
Y. Haxhimusa and R. Glantz and M. Saib and G. Langs and W. G. Kropatsch.
In the Proceeding of the DAGM Symposium 2002, Luc Van Gool (Ed.), Zürich, September 2002, Swiss, pages
117-124. |
Aufgabe in diesem Praktikum wird sein, Graphpyramiden und die in ihnen enthaltenen
Informationen (entsprechende thematische Karten, Attribute, ...) sowie die in der
Projektbeschreibung (siehe obigen Hyperlink) erwähnten Kontraktionsregeln in
adäquater Weise zu visualisieren. Als Entwicklungssprache soll entweder VRML oder
Java3D verwendet werden. Es ist darüber hinaus eine Schnittstelle zu der
im FWF-Projekt bisher entwickelten Software in Java zu entwerfen.
Voraussetzungen
- Objekt-orientierte Programmierung in Java
- Bereitschaft, sich in VRML oder Java3D einzuarbeiten
Gebiet
Softwarevisualisierung
Status
Noch Plätze frei.
Inhalt
Ausgehend von der Erkenntnis, daß der Mensch bildliche Eindrücke
besonders effizient verarbeitet und konkrete Objekte besser erfassen kann
als abstrakte Beschreibungen, suchte man in den letzten Jahren nach Möglichkeiten,
die unsichtbare Maschine Software sichtbar zu machen. Dabei kann eine Visualisierung von Software in unterschiedlichen Gebieten und für unterschiedliche Zielsetzungen erfolgen:
- Visuelles Debuggen
- Visualisierung der Daten und Abläufe in Anwendungen
- Visualisierung des Ablaufs nebenläufiger Programme
- Lernsoftware im Bereich Informatik, insbesondere Visualisierung von Berechnungsmodellen
- Graphlayoutalgorithmen in der Software Visualisierung
- Verwendung von Diagrammen in der Softwarevisualisierung (UML, Diagrammsprachen allgemein, Concept Maps, ...)
- Visualisierung von Datenstrukturen
- Softwarevisualisierung im Internet
- Algorithmenanimation
- Algorithmenerklärung
Um einige dieser Ziele zu erreichen, wurde ein Java-basiertes Framework, genannt GANIMAL,
implementiert. Es besteht aus der Animationsbeschreibungssprache GANILA mit zugehörigem
Compiler und einer Laufzeitumgebung, für die der Compiler entsprechenden
Programmcode generiert. GANILA erweitert die Programmiersprache Java um
Animationsannotationen und ermöglicht die Spezifikation komplexer, interaktiver
Animationen.
Die Laufzeitumgebung ist anhand des Entwurfsmusters MVC (Model/View/Controller) strukturiert.
Sie unterstützt den Animationsentwickler in der Programmierung eigener Sichten auf
den Algorithmus und stellt ein Basispaket mit graphischen Primitiven sowie
eine Anzahl vordefinierter Standardsichten zur Verfügung. Eine graphische
Benutzerschnittstelle dient zur Steuerung der Animation und zur Modifikation
der Programmpunkteinstellungen.
Aufgaben
Interessierte StudentInnen können eine ganze Reihe von Aufgaben bearbeiten:
- Erweiterung des Laufzeitsystems um eine Animationssteuerung von Rekursionen
- Erweiterung des Laufzeitsystems um neue Sichten auf den Ausführungszustand des
zu animierenden Algorithmus, z.B.
- eine "Sicht" für flexible Benutzereingaben
- eine Kommunikationssicht für Netzwerkalgorithmen oder Koordination
- eine Variablensicht zur Beobachtung aktueller Variablenwerte (Watch)
- Erstellung eines Tutorials für Systembenutzer
- Entwicklung neuer Algorithmenanimationen mit Hilfe des GANIMAL-Frameworks
Voraussetzungen
- Objekt-orientierte Programmierung in Java (J2SE 1.4.1)
- Spaß an der Entwicklung komplexer Systeme
- Grundkenntnisse in Compilerbau sind für bestimmte Aufgaben von Vorteil, aber nicht
zwingend notwendig.