Spezifikation abstrakter Datentypen

Hartwig, Rolf

Teilnehmerkreis:

Studenten der Informatik und Mathematik im Hauptstudium, die sich für Grundfragen und Hintergründe moderner Entwurfs- und Programmiermethoden interessieren

Übersicht:

Bei der Software-Entwicklung gehört heute die Nutzung und der Entwurf von abstrakten Datentypen gewissermaßen zum Handwerkszeug des Programmentwicklers. Deshalb findet sich auch bereits in manchem Grundkurs Informatik ein Abschnitt über abstrakte Datentypen. Letztlich aber kann man den Begriff des abstrakten Datentyps (ADT) und die Methoden der Spezifikation von ADT erst verstehen, wenn man wenigstens einen Teil des Apparats der Universellen Algebra beherrscht.

Die Vorlesung führt in die algebraischen Methoden der Software-Spezifikation, speziell der abstrakten Datentypen, ein. Algebraische Konzepte werden dabei in dem Umfang behandelt, in dem sie für die jeweilige Fragestellung gebraucht werden.

Mehr als auf die zugrundeliegenden Sätze und Beweise soll auf die Motivation und anschauliche Beispiele Wert gelegt werden, ohne der Exaktheit der Begriffe und Darstellungen Abbruch zu tun.

Wesentliche Stichworte zum Inhalt der Vorlesung sind:

Heterogene Algebren, Gleichungstheorie, Gleichungsspezifikationen, Initiale Semantik, Gleichungskalkül und Induktion, Erweiterungen von Spezifikationen, Finale und andere Semantiken, Korrektheit von Spezifikationen, Implementierungen von Gleichungsspezifikationen.

Literatur:
Klaeren, H.A.: Algebraische Spezifikation. Springer-Verlag, Berlin, 1983
Ehrich, H.-D., M. Gogolla, U. W. Lipeck: Algebraische Spezifikation abstrakter Datentypen . B. G. Teubner Stuttgart, 1989
Loeckx, J., H.-D. Ehrich, M. Wolf: Specification of Abstract Data Types. John Wiley & Sons and B. G. Teubner, 1996

Erwartete Vorkenntnisse:

Nützlich, aber nicht unbedingt erforderlich, sind Kenntnisse zu algebraischen Grundlagen der Informatik bzw. Grundkenntnisse in der Universellen Algebra.

Scheinvergabe:

Bei regelmäßigem Vorlesungsbesuch.

Sonstiges:

Zur Vorlesung gibt es ein gut ausgearbeitetes Skript.