Dies sind die archivierten Webseiten des Lehrstuhls für Programmierung und Softwaretechnik (PST).
Die Seiten des Software and Computational Systems Lab (SoSy) finden Sie auf https://www.sosy-lab.org/.

Formale Techniken in der Software-Entwicklung

Aktuelles

09.07.2012: Prüfungsplanung abgeschlossen 
Die Prüfungstermine wurden festgelegt und entsprechende Einladungen wurden an alle angemeldeten Studenten per E-Mail gesendet. Falls trotz Anmeldung keine E-Mail angekommen ist, bitte beim Übungsleiter melden!
 
02.07.2012: Anmeldung für die mündliche Prüfung
 
Wer sich noch nicht zur mündlichen Prüfung angemeldet hat, möge das bitte möglichst noch heute nachholen!
 
Die Prüfungen finden am Di 24.07. und Mi 25.07. statt, jeweils zwischen 10 Uhr und 17 Uhr. Jede Prüfung dauert ca. 30 Minuten. Bitte melden Sie sich per E-Mail zur Prüfung an und wählen Sie eines der folgenden Zeitfenster als Wunschtermin und eines als Ausweichmöglichkeit aus.
 
Folgende Zeitfenster sind geplant:
 
D1) Di 24.07., 10-12 Uhr
D2) Di 24.07., 13-15 Uhr
D3) Di 24.07., 15-17 Uhr
M1) Mi 25.07., 10-12 Uhr
M2) Mi 25.07., 13-15 Uhr
M3) Mi 25.07., 15-17 Uhr
 
Die Anmeldung sollte bitte bis zum 02.07., 23:55 Uhr erfolgen. Falls keiner der Termine geeignet ist, dann bitte per E-Mail melden, damit eine Alternative gefunden werden kann.
 
01.06.2012: Aktualisierte Informationen zur Projektarbeit (inkl. Verweis auf Gepäckband-Beispiel) gibt es unter Modellierungs-Projektarbeit. Bitte wählen Sie bis Montag, dem 04.06.2012, 10 Uhr per E-Mail ein Thema aus.
19.04.2012: Bitte melden Sie sich für die Vorlesung bis zum 3. Mai bei UniWorX an.

Inhalte

Ein bedeutsames und derzeit noch unbefriedigend beherrschtes Problem im Entwicklungsprozess technischer Systeme ist die Zuverlässigkeit der Software. Diese ist nur dann gegeben, wenn ein Softwaresystem im Sinne der Anforderungen korrekt funktioniert und auch auf Fehler angemessen reagiert. Besonders in sicherheitskritischen Anwendungsgebieten, wie etwa bei medizinischen Systemen, Transport (Bahn, Flugzeug, Auto), aber Automatisierungstechnik und Robotik, ist es entscheidend, dass die verwendeten Programmsysteme zuverlässig und sicher arbeiten. In einigen dieser Bereiche sind formale Methoden mittlerweile vorgeschrieben oder empfohlen.

Die Vorlesung betrachtet Methoden und Techniken zum Entwurf sicherer Systeme, die es erlauben das Verhalten eines Systems präzise zu beschreiben und zu prüfen. Der Einsatz formaler Methoden wird anhand von zwei verbreiteten Werkzeugen, Maude und Uppaal, gezeigt und vertieft.  Für eine mehr daten-orientierte  Spezifikation und Verfeinerung von Systemen mit abstrakten Datentypen und Termersetzung wird Maude verwendet. Uppaal wird zur Modellierung, Simulation und Verifikation von nebenläufigen Systemen eingesetzt, die auf Basis von gezeiteten Zustandsautomaten modelliert werden.

Die wesentlichen Themen der Vorlesung sind wie folgt:

  • Daten-orientierte Spezifikationsentwicklung (Abstrakte Datentypen, Wechsel der Datenstruktur)
  • Spezifikation dynamischer Systeme (Transitionssysteme, modell-basierte Spezifikationen)
  • Verifikation und Verfeinerung nebenläufiger Systeme (Eigenschaften von Abläufen, Temporale Logik, Spezifikation von Zeitverhalten, Model Checking)

 

Hörerkreis

Studierende im Haupt- und Nebenfach Informatik.

ETCS-Punkte

Master Informatik: 6 ETCS-Punkte

Benötigte Vorkenntnisse

Grundkenntnisse in Informatik und Logik.

Termine

Vorlesung (3-stündig)

  • Montag 9-12 Uhr, Oettingenstr. 67, 115

Übung (2-stündig)

  • Freitag 12-14 Uhr, Oettingenstr. 67, 123
  • Beginn am 20.4 !

Vorträge zur Modellierungs-Projektarbeit

  • Montag, 09.07.2012, 9-12 Uhr, Oettingenstr. 67, 115
  • Freitag, 13.07.2012, 12-14 Uhr, Oettingenstr. 67, 123
  • Die genaue Planung wurde über UniWorX per E-Mail verschickt. 
Mündliche Prüfungen
  • Dienstag, 24.07.2012 und Mittwoch 25.07.2012
  • Wenn alle Termine feststehen, erfolgt eine offizielle Bestätigung jedes Termins per E-Mail.

Personen

Dozent

Übungsleiter

 

Materialien

  • Vorlesung
  1. Einführung (Aktualisiert am 23.4)
  2. Signaturen und Algebren
  3. Gleichungsbasierte Spezifikationen in Maude
  4. Equational Deduction Term Rewriting
  5. Change of Data Structure
  6. Reaktive Systeme
  7. Einführung Model Checking mit Uppaal
  8. Termersetzung
  9. Temporale Logik
  10. TL model checking
  11. Gezeitete Automaten
  12. Model Checking in Practice
  13. Verfeinerung von Zustandsdiagramme

 Modellierungs-Projektarbeit

Teil der zu erbringenden Prüfungsleistung ist die eigenständige Durchführung einer Modellierungs-Projektarbeit und die Präsentation der Ergebnisse in einem Vortrag vor den Teilnehmern der Vorlesung. Weitere Infiormationen finden sich in folgendem Dokument:

FTSE2012-Infos-Projektarbeit-v2.pdf