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