Abschnittsübersicht

    • Inhalt der Vorlesung

      Die Veranstaltung Verlässliche Systemsoftware stellt Methoden und Techniken für die Entwicklung sicherheitskritischer Systeme aus Sicht der Systemsoftware (Betriebssystem- / Maschinenprogrammebene) in den Mittelpunkt. Ziel der Vorlesung ist die zuverlässige Entwicklung von Software (frei von internen Fehlern) ebenso wie die Entwicklung zuverlässiger Software (robust gegenüber äußeren Fehlern). Im Fokus steht hierbei weniger die Vermittlung von theoretischer Grundkenntnisse, sondern vielmehr deren praktischer Einsatz in Form von:

      • Fehlersuche und -vermeidung: funktional, räumlich und zeitlich,
      • unter Einsatz existierender Werkzeuge und Methoden wie sich auch in der Industrie zum Einsatz kommen.
      • Robuste Echtzeitsysteme durch Fehlertoleranz und Verteilung

      Auf diese Weise wird ein Fundament für die konstruktive Umsetzung verlässlicher Systeme gelegt werden. Dieses Modul vermittelt daher fundierte Anknüpfungspunkte für die Entwicklung verlässlicher (Echtzeit-)systeme.

    • Vorlesungsfolien

    • Achtung: Die Folien aus dem Vorjahr (WS21) bleiben für Sie zur Ansicht verlinkt und werden fortlaufend im Semester aktualisiert.

      Kapitel
      Vorlesung
      Thema Folien
      Screencasts
      1
      06.04.
      1. Organisatorisches
      X. Was sind Echtzeitsysteme in 10 Minuten
      Animiert | A4
      Animiert | A4
       
      2
      06.04.
      2. Einleitung
      2.1. Therac-25
      2.2. Ariane 5
      2.3. Mars Climate Orbiter
      Animiert | A4
      Video
      Video
      Video
      3
      13.04.
      3. Grundlagen
      3.1. Begriffsdefinition: Fehler
      3.2. Verlässlichkeitsmodelle
      3.3. Fehler und Systementwurf
      3.4. Software- und Hardwarefehler
      Animiert | A4
      Video
      Video
      Video
      Video
      4
      20.04.
      4. Fehlertoleranz durch Redundanz
      4.1. Grundlagen
      4.2. Strukturelle Redundanz
      4.3. Umsetzungsalternativen und Beispiele
      4.4. Diversität
      Animiert | A4
      Video
      Video
      Video
      Video
      5
      27.04. 5. Codierung
      5.1. Grundlagen
      5.2. Arithmetische Codierung
      5.3. Heterogener Einsatz von Redundanz
      Animiert | A4
      Video
      Video
      Video
      6
      04.05. 6. Fehlerinjektion
      6.1. Grundlagen
      6.2. Fehlerinjektionstechniken
      6.3. Auswertung und Interpretation
      Animiert | A4
      Video
      Video
      Video
      7
      18.05. 7. Dynamisches Testen
      7.1. Testarten und Konzepte
      7.2. Bewertung von Testfällen
      7.3. Durchführung und Testumgebung
      Animiert | A4
      Video
      Video
      Video
      8
      25.05. 8. Grundlagen der statischen Programmanalyse
      8.1. Vom Testen zur Verifikation
      8.2. Abstraktion der Programmsemantik
      8.3. Analyse & Vereinfachung
      Animiert | A4
      Video
      Video
      Video
      9
      01.06.
      9. Verifikation nicht-funktionaler Eigenschaften
      9.1. Speicherverbrauch
      9.2. Ausführungszeit
      Animiert | A4
      Video
      Video
      10
      08.06.
      10. Verifikation funktionaler Eigenschaften: Design-by-Contract
      10.1. Grundlagen
      10.2. Formale Spezifikation
      10.3. Praktische Überlegungen
      Animiert | A4
      Video
      Video
      Video
      11
      15.06.
      11. Fallstudie Reaktorschutzsystem
      11.1. Sizewell B
      Animiert | A4
      Video
      12
      29.06.
      12. Zusammenfassung
      Animiert | A4

    • Literatur

    • Zur Begleitung und Vertiefung des Vorlesungsinhalts kann auf folgende Fachbücher zurückgegriffen werden:

      • Michael Lyu, editor. Software Fault Tolerance, volume 3 of Trends in Software. John Wiley & Sons, Inc., 1995. http://www.cse.cuhk.edu.hk/~lyu/book/sft/.
      • Shubu Mukherjee. Architecture Design for Soft Errors. Morgan Kaufmann Publishers Inc., San Francisco, CA, USA, 2008.
      • Olga Goloubeva, Maurizia Rebaudengo, Matteo Sonza Reorda, and Massimo Violante. Software-Implemented Hardware Fault Tolerance. Springer-Verlag, 233 Spring Street, New York, NY 10013, USA, 2006.
      Hierbei ist aber zu beachten, dass sich der Inhalt der Vorlesung nicht streng an einem dieser Bücher orientiert und sich keineswegs auf diese Bücher beschränkt. Die gezielte Aufarbeitung der einzelnen Vorlesungskapitel kann anhand der Literaturhinweise am Ende der jeweiligen Foliensätze erfolgen. Grundlegende Erläuterungen zu den Fachbegriffen und Grundtechniken fehlertoleranter Systeme sollten darüber hinaus in jedem Fachbuch vermittelt werden, das sich mit diesem Themengebiet befasst.