Seminar: Fehlertolerante und Selbstheilende Systeme Juniorprofessor Dr. Holger Giese, Stefan Henkler, Matthias Tichy FG Softwaretechnik Raum E 3.165 Tele. 60-3321 [hg,mtt,shenkler]@upb.de
Fehlertoleranz Zusicherung von Sicherheit: Design des Systems muss mit allen erwarteten Fehlern umgehen Mögliche Strategie: Techniken zur Laufzeit, die mit den Auswirkungen von Fehlern umgehen können die Auswirkungen auf ein akzeptables Niveau reduzieren Fehlertoleranz (FT): Unterstützung von Diensten, welche trotz Fehler konsistent mit der Spezifikation sind. 2
Einschränkungen Fehlertoleranz Funktioniert nur mit erwarteten Fehlern: Nicht erwartetes wird nicht behandelt Erwartete Fehler werden vermieden oder eliminiert Anwendbar nur für Fehler, die nicht vermieden oder elimiert werden können Generell: Aufschlüsselung der auftretenden Fehlerklassen Wird ein Fehler entdeckt, kann hierauf reagiert werden 3
Fehlertoleranzphasen (1) Fehlerdetektion: Das Problem muss bekannt sein, um es zu bearbeiten (2) Schadenabschätzung: Der Schaden muss bekannt oder bestimmbar sein, um die Situation einzuschätzen (3) Zustandsrestaurierung: Zum Fortfahren wird ein konsistenter Zustand benötigt (4) Fortgesetzter Dienst: Weiterhin Einhaltung der Spezifikation 4
Self Healing Self-healing systems are an emerging class of software systems that exhibit the ability to adapt themselves at run-time to handle situations resource variability, changing user needs, and system faults. Fokus ACM SIGSOFT Workshop on Self-Healing Systems (WOSS'02) Call for Papers. http://www-2.cs.cmu.edu/~garlan/woss02/ Anpassung zur Laufzeit (vs. statisch) Teilw. auch ohne fortgesetzten Dienst 5
Gliederung (SWT) I. Grundlagen II. III. IV. Fehlerdetektion und Schadenabschätzung Fehlertoleranz (statische Ansätze) Selbstheilende Systeme 6
I. Grundlagen (1) Beeinträchtigung und Softwaretechniken zur Erhaltung der Verlässlichkeit (z.b. Fehlerursachen (HD/SW Fehler)) (2) Überblick von Ansätzen für selbstheilende Systeme 7
II. Fehlerdetektion und Schadenabschätzung (1) Fehlerdiagnose/-detektion von Echtzeitsystemen (2) Modellbasierte Fehlerdetektion und -diagnose 8
III. Fehlertoleranz (1) Synthese fehlertoleranter Software (2) Qualitätsverbessernde Transformationen (3) Adaptive Fehlertoleranz 9
IV. Selbstheilende Systeme (1) Erhöhen der Verfügbarkeit/Zuverlässigkeit während der Laufzeit durch Überwachung (2) Fault Tolerance and recovery by middleware (3) Stochastische Ansätze für failure detection and recovery (4) Fault Adaptive Control (5) Zugesicherte Rekonfiguration (6) Microrebooting/ Rejuvenation 10
Themenübersicht (SWT) (1) Beeinträchtigung und Softwaretechniken zur Erhaltung der Verlässlichkeit (z.b. Fehlerursachen (HD/SW Fehler)) (2) Überblick von Ansätzen für selbstheilende Systeme (3) Fehlerdiagnose/-detektion von Echtzeitsystemen (4) Modellbasierte Fehlerdetektion und diagnose (5) Synthese fehlertoleranter Software (6) Qualitätsverbessernde Transformationen (7) Adaptive Fehlertoleranz (8) Erhöhen der Verfügbarkeit/Zuverlässigkeit während der Laufzeit durch Überwachung (9) Fault Tolerance and recovery by middleware (10) Stochastische Ansätze für failure detection and recovery (11) Fault Adaptive Control (12) Zugesicherte Rekonfiguration (13) Microrebooting/ Rejuvenation 11