Formale Systeme II: Anwendung

Vorlesung im Sommersemester 2021

Prof. Dr. Bernhard Beckert, Dr. Mattias Ulbrich


Zielgruppe: Master Informatik
Umfang: 3 SWS, 5 ETCS,
optional weitere 3 SWS / 5 ECTS (s.u.)
Vertiefungsfächer: Theoretische Grundlagen und Softwaretechnik und Übersetzerbau
Ort: Online
Zeit: Dienstag, 12:00 - 13:30 Uhr
Freitag, 12:00 - 13:30 Uhr
Erstmals: 13.04.21
Veranstaltungs-Nr.: 2400093

Aktuelle Hinweise

Aktuelle Informationen, Videos, Forum etc. finden Sie im Ilias-Kurs zur Vorlesung.

Überblick

Methoden für die formale Spezifikation und Verifikation - zumeist auf der Basis von Logik und Deduktion - haben einen hohen Entwicklungsstand erreicht. Es ist zu erwarten, dass sie zukünftig traditionelle Softwareentwicklungsmethoden ergänzen und teilweise ersetzen werden. Formale Methoden haben den Bereich akademischer Fallstudien hinter sich gelassen, und die Softwareindustrie zeigt ernsthaftes Interesse.

Nahezu sämtliche formale Spezifikations- und Verifikationsverfahren haben zwar die gleichen theoretisch-logischen Grundlagen, wie man sie etwa in der Vorlesung "Formale Systeme" kennenlernt. Zum erfolgreichen praktischen Einsatz müssen die Verfahren aber auf die jeweiligen Anwendungen und deren charakteristischen Eigenschaften abgestimmt sein. An die Anwendung angepasst sein müssen dabei sowohl die zur Spezifikation verwendeten Sprachen als auch die zur Verifikation verwendeten Kalküle.

Auch stellt sich bei der praktischen Anwendung die Frage nach der Skalierbarkeit, Effizienz und Benutzbarkeit (Usability) der Verfahren und Werkzeuge.

Digitales Format

In diesem Semester werden wir die Vorlesung aufgrund der Covid19-Pandemie als Online-Veranstaltung durchführen, die sich im Wesentlichen aus zwei Komponenten zusammensetzt:

  1. Video-Einheiten zur Einführung der theoretischen Grundlagen.
    Frage-Einheiten und Diskussionsrunden im Plenum ergänzen diese.
  2. Praktische Übungen.
    Jede(r) Teilnehmer(in) soll jedes Werkzeug installieren und in kleinen Aufgaben Erfahrungen mit der Formalen Methode sammeln.

Angedachte Themen sind

  • Deduktive Verifikation mit KeY
  • Bug Finding für imperative Programme mit Software Bounded Model Checking
  • Modellierung und Refinement mit Event-B
  • Informationsfluss-Eigenschaften
  • Temporallogische Eigenschaften mit Model Checking
  • Echtzeiteigenschaften, Timed Automata mit UPPAAL

Vorlesungsbegleitendes Forschungspraktikum

In diesem Semester bieten wir neben der Vorlesung ein optionales begleitendes Forschungspraktikum im Umfang von insgesamt fünf Leistungspunkten (LP) (davon 2 Schlüsselqualifikation (SQ)) an. Zu Beginn der Vorlesung werden Themen vorgestellt, für die sich die Teilnehmer:innen in der ersten Vorlesungswoche bewerben können (die Plätze sind begrenzt!). Das Forschungspraktikum basiert thematisch auf in der gekoppelten Vorlesung vermittelten Inhalten. Die praktische Forschungsaktivität ist Teil einer (größeren) Forschungsaktivität des Lehrstuhls und trägt zu deren Erfolg bei.

Weitere Informationen zum Forschungspraktikum ...


Materialien und Lektüre zu den einzelnen Themen

In Kürze auf dem zugehörigen Ilias-Projekt (muss noch freigeschaltet werden).