Hasso-Plattner-Institut25 Jahre HPI
Hasso-Plattner-Institut25 Jahre HPI
Login
 

Software Reliability Engineering - Building Stable, Reliable, Fault-Tolerant Systems (Sommersemester 2018)

Dozent: Prof. Dr. Andreas Polze (Betriebssysteme und Middleware) , Daniel Richter (Betriebssysteme und Middleware) , Lukas Pirl (Betriebssysteme und Middleware)
Website zum Kurs: https://www.dcl.hpi.uni-potsdam.de/teaching/SRE/

Allgemeine Information

  • Semesterwochenstunden: 4
  • ECTS: 6
  • Benotet: Ja
  • Einschreibefrist: 20.04.2018
  • Lehrform: Vorlesung / Seminar / Projekt
  • Belegungsart: Wahlpflichtmodul
  • Maximale Teilnehmerzahl: 20

Studiengänge, Modulgruppen & Module

IT-Systems Engineering MA
  • ISAE: Internet, Security & Algorithm Engineering
    • HPI-ISAE-S Spezialisierung
  • ISAE: Internet, Security & Algorithm Engineering
    • HPI-ISAE-T Techniken und Werkzeuge
  • OSIS: Operating Systems & Information Systems Technology
    • HPI-OSIS-K Konzepte und Methoden
  • OSIS: Operating Systems & Information Systems Technology
    • HPI-OSIS-S Spezialisierung
  • OSIS: Operating Systems & Information Systems Technology
    • HPI-OSIS-T Techniken und Werkzeuge
  • SAMT: Software Architecture & Modeling Technology
    • HPI-SAMT-K Konzepte und Methoden
  • SAMT: Software Architecture & Modeling Technology
    • HPI-SAMT-S Spezialisierung
  • SAMT: Software Architecture & Modeling Technology
    • HPI-SAMT-T Techniken und Werkzeuge

Beschreibung

Ein Softwaresystem ist zuverlässig, wenn es seinen Dienst auf eine vertrauenswürdige Weise erbringt. Softwarezuverlässigkeit gewinnt mehr und mehr an Bedeutung, da Software in unserem Leben allgegenwärtig und gleichzeitig immer komplexer wird. Moderne Softwaresysteme gewinnen nicht nur an Größe, sondern auch an Komplexität durch zusätzliche Abstraktionsschichten, Interaktion mit verschiedenen Komponenten, Nebenläufigkeit und andere Quellen von Nicht-Determinismus.

Diese Vorlesung stellt den Stand der Technik im Bereich der Softwarezuverlässigkeit vor, mit einem starken praktischen Fokus auf Fallstudien und realitätsnahen, großtechnischen Softwaresystemen. Zu den behandelten Themen gehören:

  • Grundlagen
    • Dependability Threats, Dependability Attributes, Dependability Means
    • Software Fault, Timing, and Consistency Models
  • Fault Prevention
    • Processes for dependable software design
    • Development practices
  • Fault Tolerance
    • Patterns for fault tolerance and detection
    • Distributed systems: theory and applications
    • Fault tolerance in operating systems
    • Error Recovery & Error Mitigation
  • Fault Removal and Forecasting
    • Formal methods
    • Testing and Debugging
  • Fault Forecasting
    • Fault injection
    • Dependability modelling and analysis
  • Discussion of Case Studies and Postmortems from Practice

Große Teile der Zeit verbringen wir mit praktischer Projektarbeit in kleinen Teams. Im Rahmen eines Programmierprojektes wird eine Anwendung fehlertolerant gemacht und anschließend durch Fehlerinjektion ausgewertet. Die praktische Projektarbeit wird als Wettbewerb konzipiert und erstreckt sich über das gesamte Semester.

Leistungserfassung

Die Vorlesung wird von einer Übung/einem Projekt begleitet, deren erfolgreiche Teilnahme Voraussetzung für die Prüfungszulassung ist. Die Leistungserfassung erfolgt Rahmen einer mündlichen Prüfung.

Termine

  • Mittwochs, 11.00–12.30 Uhr in A-2.2
  • Donnerstags, 13.30–15.00 Uhr in H-2.58

Zurück