Logisches Programmieren WS 94/95

Vorlesung gehalten im Wintersemester 1994/95 von Prof. Gert Smolka, Universität des Saarlandes, FB 14

Material

Beschreibung der Vorlesung

Die Vorlesung wird sich mit grundlegenden Aspekten problemnaher Programmiersprachen befassen. Im Mittelpunkt steht dabei Oz, eine neuartige am DFKI entwickelte Programmiersprache, die Konzepte aus funktionalen, logischen, objektorientierten und nebenläufigen Sprachen in einem einheitlichen Berechnungsmodell vereinigt. Wir werden uns mit Programmiertechniken, konkreten Programmiersprachen, abstrakten Berechnungsmodellen, formalen Beschreibungstechniken sowie Implementierungsmodellen befassen. Programmierübungen werden mit dem interaktiven Oz System durchgeführt.

Stichworte zum Inhalt

Interaktives Programmieren; Bäume als Datenstrukturen, Beschreibung von Werten durch Constraints, Rechnen mit partieller Information, nebenläufiges Konditional, zeitgesteuerte Ereignisse, prozedurale Abstraktion, Strikte und nichtstrikte Funktionen, Daten als Funktionen, Rekursion als Selbstanwendung.

Berechnungsmodelle; Gamma-Kalkül, abstrakte Syntax, Variablenbinder, Substitution, strukturelle Kongruenz, Kontexte und Reduktion. Pi-Kalkül. Lambda-Kalküll.

Nebenläufiger Zustand und Zellen; Methoden, Objekte und Vererbung; Kommunikation, Synchronisation und Verklemmung; Programmieren graphisher Benutzerschnittstellen mit Oz und Tcl/Tk. Nebenläufige Simulationen.

Suchprobleme; Suche und Constraints; deklarative Semantik; lokale Berechnungsrä ume und Abstraktion von Alternativen; endliche Bereiche und virtuelle Constraints; Branch-and-Bound Suche, Heuristiken. Constraint-Grammatiken für Analyse und Generierung natürlich sprachlicher Sätze. SLD-Resolution und Prolog.

Formale Definition rationaler Bäume. Unifikation, Simplifikation und relative Simplifikation. Effiziente Implementierung mittels abstrakter Maschine. Vollständige Axiomatisierung und Unentscheidbarkeitsergebnisse.

Literatur

Als Script dienten Originalarbeiten, die in der Vorlesung verteilt wurden.

Teilgebiet

Hauptstudium; praktische Informatik mit theoretischen Grundlagen; Vertiefungsvorlesung im Bereich Programmiersprachen und Logik.

Vorkenntnisse

Vordiplom; etwas Logik und/oder Semantik ist hilfreich.
Zurück zu "Unterlagen..."
Martin Henz