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