Hauptinhalt
CS 510 — Formale Methoden in der Softwaretechnik
(engl. Formal Methods in Software Engineering)
Niveaustufe, Verpflichtungsgrad | Vertiefungsmodul, abhängig vom importierenden Studiengang |
Lehr- und Lernformen, Arbeitsaufwand |
Vorlesung (4 SWS), Übung (2 SWS), 270 Stunden (90 Std. Präsenzzeit, 180 Std. Selbststudium) |
Leistungspunkte, Voraussetzungen zum Erwerb |
9 LP Studienleistung(en): Erreichen von mindestens 50 Prozent der Punkte aus den wöchentlich zu bearbeitenden Übungsaufgaben und mündliche Präsentation der Lösung von mindestens zwei der Übungsaufgaben. Prüfungsleistung: Mündliche Prüfung (Einzelprüfung) oder Klausur |
Sprache, Benotung |
Englisch,Die Benotung erfolgt mit 0 bis 15 Punkten gemäß der Prüfungsordnung für den Studiengang M.Sc. Informatik. |
Exportfach, Ursprung | Informatik, M.Sc. Informatik |
Dauer des Moduls, Häufigkeit |
Ein Semester, Unregelmäßig |
Modulverantwortliche(r) | Prof. Dr. Gabriele Taentzer |
Inhalt
Formale Methoden werden zur formalen Spezifikation und Analyse von Softwaresystemen verwendet sowie als geeigneten Abstraktionsebene für die Beschreibung und Lösung von softwaretechnischen Problemen. Ausgehend von endlichen Automaten beginnen wir mit der formalen Spezifikation von einfachen Systemen und analysieren diese mit Model-Checking-Verfahren. Zur Spezifikation und Analyse von realistischeren Systemen verfeinern wir die Zustandsspezifikation durch Datenstrukturen. Graphen können flexibel zur Spezifikation von Datenstrukturen eingesetzt werden. Ihre Änderungen können mit Graphtransformationen systematisch definiert werden. Auf dieser Basis lassen sich typische Aktivitäten der Softwareentwicklung, wie z.B. der Systementwurf und das Testen von Programmen, formal spezifizieren und analysieren. Daneben betrachten wir einfache Programmverifikation. Abschließend widmen wir uns einem ausgewählten Problem der Softwaretechnik und entwickeln gemeinsam eine Spezifikations- und Analysetechnik für dieses Problem.
Qualifikationsziele
Studierende
- sind in der Lage, Systeme, Systemeigenschaften und Softwareentwicklungsaktivitäten zu formalisieren,
- wissen, wie Systemeigenschaften automatisch analysiert und verifiziert werden können,
- können die Stärken und Schwächen formaler Methoden in der Softwaretechnik beurteilen,
- sind in der Lage, wissenschaftliche Arbeitsweisen beim eigenständigen Erkennen, Formulieren und Lösen von Problemen anzuwenden,
- sind in der Lage über wissenschaftliche Inhalte frei zu sprechen, sowohl vor einem Publikum als auch in einer Diskussion.
Voraussetzungen
Keine. Empfohlen werden die Kompetenzen, die in den Modulen Theoretische Informatik, Logik und Softwaretechnik vermittelt werden.
Literatur
- Wird jeweils in der Modulankündigung angegeben.
Bitte beachten Sie:
Diese Seite beschreibt ein Modul gemäß dem im Wintersemester 2023/24 aktuellsten gültigen Modulhandbuch. Die meisten für ein Modul gültigen Regeln werden nicht durch die Prüfungsordnung festgelegt, und können daher von Semester zu Semester aktualisiert werden. Folgende Versionen liegen im Online-Modulhandbuch vor:
- WiSe 2016/17 (kein Äquivalent)
- SoSe 2018
- WiSe 2018/19
- WiSe 2019/20
- WiSe 2020/21
- SoSe 2021
- WiSe 2021/22
- WiSe 2022/23
- WiSe 2023/24
Das Modulhandbuch enthält alle Module, unabhängig vom aktuellen Veranstaltungsangebot, vergleichen Sie dazu bitte das aktuelle Vorlesungsverzeichnis in Marvin.
Die Angaben im Online-Modulhandbuch wurden automatisch erstellt. Rechtsverbindlich sind die Angaben der Prüfungsordnung. Wenn Ihnen Unstimmigkeiten oder Fehler auffallen, sind wir für Hinweise dankbar.