Termersetzungssysteme
Grundlagen der Prototyp-Generierung algebraischer Spezifikationen
Klaus Drosten
Termersetzungssysteme sind ein nicht-deterministisches Berechnungsmodell aus dem Bereich der funktionalen Programmierung. Die Funktionen werden durch rekursive Regeln spezifiziert und durch Untertermersetzung ohne explizite Kontrolle ausgewertet. Die logische Programmierung geht auf den Anfang der 70er Jahre zurück und wurde besonders populär in Verbindung mit der Programmiersprache PROLOG. Die algebraische Programmierung entstand in ihren Grundzügen Mitte der 70er Jahre, als die ersten Arbeiten über die Spezifikation abstrakter Datentypen veröffentlicht wurden. Obwohl die algebraische und die logische Programmierung auf gemeinsamen Prinzipien beruhen, entwickelten sie sich zunächst unabhängig voneinander. Erst in jüngster Zeit wurde mit Erfolg versucht, beide Ansätze in einem gemeinsamen Kalkül zu vereinen. Das Buch wendet sich an alle, die an den theoretischen Grundlagen der algebraischen und logischen Programmierung interessiert sind. Es gibt zunächst einen Überblick über die Grundlagen der Ausführung algebraischer Spezifikationen sowie eine Zusammenfassung der benötigten Grundbegriffe. Das Grundkonzept der algebraischen Spezifikation wird um Ausdrucksmittel zur Fehlerbehandlung und Modularisierung in abstrakten Datentypen erweitert. Die Ausdrucksmittel werden besonders im Hinblick auf ihre Operationalisierbarkeit untersucht. Außerdem wird gezeigt, wie (und wann) sich algebraische Spezifikationen automatisch in PROLOG-Programme übersetzen und mit deren Hilfe ausführen lassen. Zum besseren Verständnis des Textes sind Grundkenntnisse der mathematischen Logik hilfreich.