Diplomarbeiten in der Arbeitsgruppe Programmiersprachen und Übersetzerkonstruktion

Diese Liste soll nur Ideen für mögliche Diplomarbeiten liefern. Sie ist auf keinen Fall als vollständig anzusehen! Um ein konkretes Thema für eine Diplom- 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 Diplomarbeiten 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.

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.
Web-Builder: Generische Entwicklung von Web-Anwendungen
(Rahmen zur Entwicklung von interaktiven Webanwendungen aus Beschreibung der Anwendungsschnittstelle, Darstellung etc)
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)
Deklaratives Debugging logisch-funktionaler Programme
(Kombination und Erweiterung existierender Techniken zum Debugging von rein logischen und rein funktionalen Programmen)

Michael Hanus

Valid XHTML 1.0 Transitional