Hauptinhalt

Dieser Eintrag ist aus dem Wintersemester 2022/23 und möglicherweise veraltet. Ein aktuelles Äquivalent finden Sie hier.

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 oder Klausur
Sprache,
Benotung
Deutsch (ggf. englischsprachige Literatur),
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

Nach der Beendigung dieses Moduls werden die Studierenden

  • in der Lage sein, Systeme, Systemeigenschaften und Softwareentwicklungsaktivitäten zu formalisieren,
  • wissen, wie Systemeigenschaften automatisch analysiert und verifiziert werden können,
  • eher in der Lage sein, die Stärken und Schwächen formaler Methoden in der Softwaretechnik zu beurteilen,
  • wissenschaftlicher Arbeitsweisen (Erkennen, Formulieren, Lösen von Problemen, Schulung des Abstraktionsvermögens) geübt haben und
  • die mündlichen Kommunikationsfähigkeit durch Einüben der freien Rede vor einem Publikum und bei der Diskussion trainiert haben.

Voraussetzungen

Keine. Empfohlen werden die Kompetenzen, die in den Modulen Theoretische Informatik, Logik und Softwaretechnik vermittelt werden.


Literatur

(Keine Angaben.)



Bitte beachten Sie:

Diese Seite beschreibt ein Modul gemäß dem im Wintersemester 2022/23 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:

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.