Theses

Autolayouting von Klassendiagrammen

Bachelorarbeit in der Abteilung Softwaretechnik



Motivation

Graphen ermöglichen die nachvollziehbare Visualisierung von unterschiedlichsten Dingen (Knoten) und ihren Beziehungen (Kanten) zueinander. In der Softwaretechnik beispielsweise werden Graphen zur Visualisierung in UML-Klassendiagrammen und –Objektdiagrammen verwendet, um einen schnellen Überblick über das modellierte System zu ermöglichen. Wird aus bestehendem Sourcecode ein Klassendiagramm extrahiert, kann dieses sehr schnell sehr groß werden und erfordert daher ein komplexes Rendering des Graphen, das automatisiert werden sollte.


Aufgabenstellung

Ausgehend von dieser Grundmotivation beschäftigt sich diese Abschlussarbeit mit dem automatischen Rendering von Graphen. Insbesondere sollen auch große Datenmengen automatisch als visuell übersichtlicher und ansprechender Graph dargestellt werden können.

Im Rahmen dieser Abschlussarbeit sollen existierende Lösungsansätze und Algorithmen recherchiert sowie bestehende Werkzeuge analysiert und bewertet werden. Darauf aufbauend soll eine Werkzeugkette zusammengestellt bzw. in Teilen neu entwickelt werden, um mindestens Klassen- und Objektdiagramme als Graph visualisieren zu können.

Je nach Wunsch, Anspruch (BA oder MA) und Zeit kann eine Auswahl der folgenden Aspekte untersucht und realisiert werden:

  • Vektorgraphiken (SVG, PDF, TikZ, ...)
  • Manuelle Nachbearbeitung des generierten Graphens
  • Kompaktes Format der Graphik
  • Positionierung von Kantenbeschriftungen
  • Performanz, große Datenmengen
  • Filterung, Markierung/Einfärbung der Daten
  • ...


Betreuer
Prof. Dr. Andreas Winter ()
M.Sc. Johannes Meier ()

Related Projects
Graph Technologies
Graphs and algorithms using graphs as data structure allow the flexible creation, analysis, and storage of information. Main advantage is the high performance of searching within typed graphs which allows the usage of graphs conform to a graph schema in software engineering for lots of purposes. This research area targets approaches, techniques, and tools to create, improve, analyze, and store graphs, graph schemas, and graph algorithms.
 
Metamodeling and Model Based Engineering
Modeling and Metamodeling allow the graph-based creation, analysis, and storage of information. Model Based Engineering summerizes these and further techniques which use models as first-order objects. This research area targets approaches, techniques, and tools to create, improve, analyze, and store models conform to metamodels among the whole software life cycle.
 


(Changed: 2021-04-30)