Computer-Aided Program Development
Institute of Computer Science
Faculty of Engineering, Christian-Albrechts-University of Kiel
Logo of the Working Group
Semantik von Programmiersprachen
Vorlesung im Sommersemester 2007

Dozent:
Rudolf Berghammer

Am Montag, den 30. April 2007 fällt die Vorlesung aus!

Termine:
Mo, 12:15 - 13:45, Mi, 10:15 - 11:45, CAP3 - Raum 1

Angaben:
Vorlesung, 4 SWS, ECTS: 8,0, Fachgebiet: Theoretische Informatik/Praktische Informatik

Voraussetzungen / Organisatorisches:
Diese vierstündige Vorlesung (plus einer zweistündigen Übung) wendet sich an die Studierenden der Informatik im Haupt- und Nebenfach. Ihr Thema ist die formale semantische Beschreibung der Kontrollstrukturen von Programmiersprachen mit ordnungstheoretischen und axiomatischen Mitteln (Stichworte: denotationelle und axiomatische Semantik), sowie sich daraus ergebende Techniken zur Spezifikation, Entwicklung und Verifikation von Programmen.

Inhalt:
Zuerst stellen wir, nach einigen motivierenden Beispielen und einer knappen Übersicht, die ordnungstheoretischen Grundlagen der denotationellen Semantik bereit.
Dann zeigen wir, wie man formal eine denotationelle Semantik für eine funktionale bzw. eine prozedurale Sprachen entwickeln kann und wie die Art der semantischen Beschreibung u.a. von der Gestalt der Sprache und den verwendeten Konzepten abhängt. Als nächstes erklären wir anhand des Spezialfalles D = [D -> D] was mit einem rekursiven semantischen Bereich "gemeint" ist.
Schließlich widmen wir uns noch der Programmverifikation.
Hier studieren wir einige Methoden, die auch zur Programmentwicklung vewendet werden können. Bei den funktionalen Sprachen behandeln wir Fixpunkt-Verifikationsmethoden.
Verifikation von prozeduralen Programmen führt hingegen zur axiomatischen Semantik. Hier behandeln wir die beiden bekanntesten Ausprägungen, nämlich den Hoare-Kalkül für partielle und den wp-Kalkül für totale Korrektheit.

Falls Zeit bleibt, so gehen wir noch auf weitere Anwendungen der Semantik von Programmiersprachen ein, etwa auf transformationelle Programmierung oder formale Korrektheitsbeweise von Übersetzern.

Die Vorlesung orientiert sich an dem Buch "Semantik von Programmiersprachen" von R. Berghammer, welches im Jahr 2001 beim Logos-Verlag erschienen ist.

Empfohlene Literatur
  • Loeckx J., Sieber K.: The Foundations of Program Verification. Teubner, 1984
  • Nielson H.R., Nielson F.: Semantics with Applications. A Formal Introduction. Wiley, 1992
  • Schmidt D.A.: Denotational Semantics - A Methodology for Language Development. Allyn and Bacon, 1986
  • Winskel G.: The Formal Semantics of Programming Languages. The MIT Press, 1993

  • Weitere Informationen zu dieser Veranstaltung:
  • Die offiziellen Informationen (UnivIS)
  • Die Übungen
  • Das Manuskript zur Vorlesung ist beim Logos Verlag, Berlin, erschienen und kann deshalb nicht mehr Online zur Verfügung gestellt werden.

  •  
    Jan Christiansen - jac@informatik.uni-kiel.de
    Last modified: 25-Apr-2007, 17:18:44 MEST