Abgeschlossene Arbeiten

Studentische Arbeiten

Debugging und Visualisierung von graphbasierten ILP-Spezifikationen

Typ der Arbeit: Bachelor-Thesis
Bearbeitungsstand: Abgeschlossene Arbeiten
Möglicher Beginn der Arbeit: 18.10.2022
Arbeit abgeschlossen am: 28.10.2024
Betreuer*in: M.Sc. Maximilian Kratz
Student*in: Markus Blank

Zurück zur Übersicht

Motivation

Das am Fachgebiet entwickelte Tool GIPS (https://github.com/Echtzeitsysteme/gips) wird dazu verwendet, um automatisch aus graphbasierten Einbettungsproblemen ILP-Probleme zu generieren und diese durch einen ILP-Solver lösen zu lassen.
Ein Teil davon ist eine Problemspezifikation in der domänenspezifischen Sprache GIPSL.
Aufgrund der Struktur und der Größe von realitätsnahen Szenarien wächst dabei die Größe des ILP-Problems sehr stark an.
Dies resultiert in einer Vielzahl von ILP-Variablen, Constraints und auch Termen in der zu optimierenden, linearen Zielfunktion.
Die Suche nach Fehlern in konkreten GIPSL-Spezifikationen anhand der generierten LP-Ausgaben ist sehr mühselig und fehleranfällig.
Aufgrund der immensen Größe der ILP-Probleme ist ab einer gewissen Modellgröße eine praktische, manuelle Suche nach Fehlern überhaupt nicht mehr möglich.
Neben der Suche nach Fehlern in GIPSL-Spezifikationen ist es für die Entwickler am Fachgebiet auch oft notwendig, manuell zu überprüfen, ob die generierte LP-Ausgabe korrekt ist oder ob in den Mechanismen der Generatorerstellung Fehler enthalten sind.

Für alle genannten Anwendungsfälle ist ein umfangreicher visueller Debugger sehr hilfreich.

Aufgabenstellung

Das Ziel der Arbeit ist, einen visuellen Debugger bzw. ein Tool zu entwickeln, mit dem sich Fehler in LP-Problemen leichter finden lassen können.
Dafür sind folgende Arbeitspakete notwendig:

  • Literaturrecherche: Wie werden Fehler in LP-Problemen/-Dateien der etablierten Tools gesucht?
  • Was für Frameworks/Ansätze gibt es für Data- und Graph-Visualization?
  • Erstellung eines Lastenheftes und Arbeitsplans in Absprache mit dem Betreuer
  • Forschungsfragen:
    • Bis zu welcher Modellgröße ist der Debugger performant verwendbar?
    • Bis zu welchen Modellgrößen hilft das visuelle Debuggen überhaupt?
  • Evaluation: Qualitative Diskussion über die Features aus dem Lastenheft zusammen mit der Beantwortung der oben stehenden Forschungsfragen

Voraussetzungen

  • Sehr gute Java-Programmier-Kenntnisse
  • Vorkenntnisse über ILP (wünschenswert aber optional)
  • Interesse an Visualisierung und/oder GUIs
  • Vorkenntnisse über Eclipse-Plugin-Entwicklung (wünschenswert aber optional)
  • Bei Bachelor-Arbeit: Mindestens eins aus {ILP, Visualisierung, Eclipse-Plugin-Entwicklung} ist Pflicht

Zurück zur Übersicht