Diplom- und Masterarbeiten in der Arbeitsgruppe Programmiersprachen und Übersetzerkonstruktion

Diese Liste soll nur Ideen für mögliche Diplom- und Masterarbeiten liefern. Sie ist auf keinen Fall als vollständig anzusehen! Um ein konkretes Thema für eine Diplom-, Master- oder auch Studienarbeit entsprechend Ihres bisherigen Studiums und Ihrer Interessen zu finden, sollten Sie am besten Michael Hanus kontaktieren. Die Themen können variiert und teilweise in vereinfachter Form auch als Studienarbeiten vergeben werden. Weitere Ideen kann man eventuell auch bei den abgeschlossenen Diplom- und Masterarbeiten finden.

Anmerkung: Die meisten der Themen liegen im Bereich der Entwicklung und Anwendung deklarativer Programmiersprachen, insbesondere der Multi-Paradigmen-Sprache Curry, die die wichtigsten Eigenschaften von logischen, funktionalen und nebenläufigen Sprachen vereinigt. Die Vorteile von Curry liegen in der Programmiersicherheit (polymorphes Typkonzept, Module, abstrakte Datentypen), leichtere Wartbarkeit und Verifizierbarkeit durch ein höheres Programmierniveau als in klassischen imperativen Sprachen und hohe Synchronisationsmechanismen zur Entwicklung zuverlässiger verteilter Systeme. Wer mehr zu Curry lesen möchte, findet hier eine Sprachbeschreibung. Außerdem gibt es hier einen allgemeinen Übersichtsartikel zur Integration logischer und funktionaler Programmiersprachen.

Wer sich für andere Programmiersprachen interessiert, ist ebenfalls willkommen und sollte dies persönlich mit Michael Hanus diskutieren.

Migration von Datenmodellen in Web-Applikation
In einer Masterarbeit wurde ein Konzept entwickelt, um aus Datenmodellbeschreibungen (ER-Modelle) vollautomatisch Webanwendungen für diese Daten zu erzeugen. Darauf aufbauend soll ein Konzept entwickelt werden, das die Migration der Datenmodelle und der daraus generierten Programme unterstützt.
Java-WUIs: Typorientierte Programmierung von Web-Schnittstellen in Java:
Erzeugung dynamischer Webseiten zur typkorrekten Manipulation von Daten in Java-Programmen; hierzu soll untersucht werden, inwieweit der für deklarative Sprachen entwickelte Rahmen in Java in ähnlich eleganter Form umgesetzt werden kann.
Curry Server Pages: High-level Programmierung von Webseiten
(Einbettung von Curry-Code in Webseiten, Übersetzung nach PHP o.ä.)
Visual-Curry: Ein Interface-Builder für graphische Benutzerschnittstellen in Curry
(Realisierung eines Interface-Builders mittels der GUI-Bibliothek)
Constraint-Curry: Deklarative Programmierung von Optimierungsproblemen
(Realisierung einer generischen Schnittstelle zur Integration beliebiger Constraint-Löser in Curry, Anwendung mit konkreten Constraint-Lösern)
TC-Curry: Erweiterte Typsysteme für logisch-funktionale Programme
(Erweiterung von Curry um Typklassen)
Partielle Auswertung deklarativer Programme
(Entwicklung eines Konzeptes zur Metaprogrammierung in Curry, Anwendung zur Implementierung partieller Auswertungstechniken zur Optimierung von Curry-Programmen)
Terminationsanalyse für deklarative Programme
(Erweiterung von Terminationsanalysen für rein logische Programme (Sagiv/Lindenstrauss, Codish et al.) um verzögerte und nebenläufige Auswertung, Anwendung der Analyse zur Programmoptimierung)
Verklemmungsanalyse für nebenläufige deklarative Programme
(Herleitung hinreichender statischer Kriterien zur sicheren Ausführung nebenläufiger deklarativer Programme)

Michael Hanus

Valid XHTML 1.0 Transitional