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 MinutenAnimiert | A4
Animiert | A42 06.04. 2. Einleitung2.1. Therac-252.2. Ariane 52.3. Mars Climate OrbiterAnimiert | A4
Video
Video
Video3 13.04. 3. Grundlagen
3.1. Begriffsdefinition: Fehler
3.2. Verlässlichkeitsmodelle
3.3. Fehler und Systementwurf
3.4. Software- und HardwarefehlerAnimiert | A4
Video
Video
Video
Video4 20.04. 4. Fehlertoleranz durch Redundanz
4.1. Grundlagen
4.2. Strukturelle Redundanz
4.3. Umsetzungsalternativen und Beispiele
4.4. DiversitätAnimiert | A4
Video
Video
Video
Video5 27.04. 5. Codierung
5.1. Grundlagen
5.2. Arithmetische Codierung
5.3. Heterogener Einsatz von Redundanz
Animiert | A4
Video
Video
Video6 04.05. 6. Fehlerinjektion
6.1. Grundlagen
6.2. Fehlerinjektionstechniken
6.3. Auswertung und InterpretationAnimiert | 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 TestumgebungAnimiert | 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 & VereinfachungAnimiert | A4
Video
Video
Video
9 01.06. 9. Verifikation nicht-funktionaler Eigenschaften
9.1. Speicherverbrauch
9.2. AusführungszeitAnimiert | A4
Video
Video10 08.06. 10. Verifikation funktionaler Eigenschaften: Design-by-Contract
10.1. Grundlagen
10.2. Formale Spezifikation
10.3. Praktische ÜberlegungenAnimiert | A4
Video
Video
Video
11 15.06. 11. Fallstudie Reaktorschutzsystem
11.1. Sizewell BAnimiert | A4
Video12 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.
-