Formale Grundlagen der Fehlertoleranz in verteilten Systemen



Ähnliche Dokumente
Fehlertoleranz in eingebetteten Systemen

FEHLERTOLERANZ EINE SEHR GROBE ÜBERSICHT BETRIEBSSYSTEME UND SICHERHEIT, WS 2016/17 HERMANN HÄRTIG

Fehlertoleranz. Betriebssysteme. Hermann Härtig TU Dresden

Fehlertolerante und Selbstheilende Systeme. Redundanztechniken

Formale Grundlagen der Fehlertoleranz in verteilten Systemen

Fehlertoleranz & Robustheit

Redundanz und Replikation

Zuverlässige Systeme Fehlertoleranz

Residue Number System und Modulararithmetik

Studie zur Erhöhung der Zuverlässigkeit der SHAP- Mikroarchitektur.

Grundlagen methodischen Arbeitens

Verteilte Systeme. 7. Fehlertoleranz

PROSEMINAR: MODELLBASIERTE SOFTWAREENTWICKLUNG FÜR INTELLIGENTE TECHNISCHE SYSTEME

Software-Qualität Ausgewählte Kapitel

12 Fehlertoleranz. Begriffe. Failure das System verhält sich nicht wie spezifiziert.

Verteilte Systeme F. Fehlertoleranz

7.2 Conjoining Specifications

7 Fehlertoleranz. vs7 1

Vor- und Nachteile der Fehlermaskierung

Sicherheit bei lernenden Robotern

Fehler und Fehlertoleranz

Fehlertoleranzmechanismen in hochverfügbaren Clustersystemen

Introduction to Reliable and Secure Distributed Programming

Verteilte Systeme Prof. Dr. Stefan Fischer

Ein RSA verwandtes, randomisiertes Public Key Kryptosystem

Der Requirement-Pattern-Ansatz

Überblick. Replikation Motivation Grundlagen Aktive Replikation Passive Replikation. c td VS (SS16) Replikation 6 1

Systeme II 3. Die Datensicherungsschicht

Fehlertolerante Systeme

Verlässliche Systeme

Zeitgesteuerte Kommunikationssysteme für Hard-Real-Time Anwendungen. Jörn Sellentin

Safer Software Formale Methoden für ISO26262

Motivation für Fehlertoleranz in VS Fehlermodelle Erreichen von Fehlertoleranz. Verteilte Systeme. 7. Fehlertoleranz

Deductive Software Verification The KeY Book Haupt- und Proseminar in SoSe 2017

Vorlesung Modellierung nebenläufiger Systeme Sommersemester 2014 Universität Duisburg-Essen

12 Fehlertoleranz. Begriffe

Fehlertolerante Datenstrukturen

HW/SW CODESIGN. Echtzeitverhalten. Mehmet Ozgan November 2015

Entwurfsmuster und Softwarearchitekturen für sicherheitskritische Systeme

Transformation Der Weg zu einer zukunftsfähigen Gesellschaft

Abstrakte Temporale Eigenschaften

Advanced Business Intelligence. Advanced Networking. Artificial Intelligence. Campus Offenburg Badstraße 24, 77652

dependable FhG FIRST Real Time Dependable Operating System BOSS Sergio Montenegro

Berühmte Informatiker

Seminar über Software Model Checking Vortrag zum Thema Predicate Abstraction

Zuverlässige Kommunikation mittels. Time-Triggered Protokolle

Computergestützte Modellierung und Verifikation

on Software Development Design

Verteilte Algorithmen

Algorithmen in Zellularautomaten. Thomas Worsch Institut für Theoretische Informatik Karlsruher Institut für Technologie

Allgegenwärtiger Datenzugriff für mobile Geräte

Übung 8 Transitionssysteme Formale Techniken in der Software-Entwicklung

Verlässliche Echtzeitsysteme

Simplifying System Design Through Hybrid Dependability Measures By Christian M. Fuchs, Martin Langer and Carsten Trinitis

Munich Center for Technology in Society

Gliederung. Nebenläufigkeit und Fairness. 1. Nebenläufigkeit Lokalitätsprinzip. 2. Betrachtungsweisen von Nebenläufigkeit. 3.

Entwicklung konzeptuellen Wissens bei Studierenden

War bis 2004 Bakk. rer.soc.oec. Bakkalaureus/Bakkalaurea rerum socialium oeconomicarumque Bakk. der Sozial- und Wirtschaftswissenschaften

Selbstreduzierbarkeit (von Joachim Selke, Mai 2005) Fünfter Vortrag im Rahmes des Seminars Perlen der Komplexitätstheorie

Kapitel 4: Analyse von Petrinetzen

Network Coding in P2P live streaming

Internationale Sommer-Akademie 2008 an der BTU Cottbus, gefördert durch den Deutschen Akademischen Austauschdienst (DAAD)

Application Requirements Engineering

Resilient Remote Procedure Call

Studie zur Erhöhung der Zuverlässigkeit der SHAP- Mikroarchitektur.

LEISTUNGSERKLÄRUNG. Nr DE

Kooperative Fahrstreifenwechselassistenz: Hintergrund, Implementierung & Evaluation. Johann Kelsch, Marc Dziennus, Frank Köster

Einführung in parallele Dateisysteme am Beispiel von GPFS. Proseminar von Jakob Schmid im SS 2014

Software Engineering. Validierung und Verifikation. Martin Glinz Harald Gall. Kapitel 7. Universität Zürich Institut für Informatik

Systemsicherheit ermöglicht Energiewende

Informatik I. Grundlagen der systematischen Programmierung. Peter Thiemann WS 2007/08. Universität Freiburg, Germany

Oracle8 & Recovery Handbuch

Pfadgenerierung/Polygone/Polygonoffsetting

Seminar "Pleiten, Pech und Pannen der Informatik" (SoSe 2002) Betriebsfehler: Fehlertoleranz und Redundanz

Seminar: Fehlertolerante und Selbstheilende Systeme

Übung 6 Hausaufgaben Formale Techniken in der Software-Entwicklung

Modeling the Business Model and Business Strategy Conception and Implementation of OMG s Business Motivation Model in a Software Prototype

Algorithmus. Was ist ein Algorithmus? Ibn Musa Al-Chwarismi persischer Mathematikers 9. Jahrhundert Buch: Regeln der Wiedereinsetzung und Reduktion.

Refinement of π-calculus Processes. Manuel Gieseking. Carl von Ossietzky Universität Oldenburg Entwicklung korrekter Systeme

Modellbasierte Software- Entwicklung eingebetteter Systeme

Validierung und Verifikation

Bounded Model Checking mit SystemC

Überblick. Modellbildung in der Entwicklung mit Schwerpunkt Architekturen Schnittstellen. Schnittstelle. Schnittstelle

Samuel's Checkers Program

Thomas Schirrmann Nebenläufigkeit. Nebenläufigkeit. Vortrag Thomas Schirrmann. Seminar Systementwurf Dozentin Daniela Weinberg

Computability and Complexity

Utilization bei Go Back N ARQ

Technische Informatik

Entwicklung sicherheitskritischer Systeme

Strukturierte Extraktion von Text aus PDF. Präsentation der Masterarbeit von Fabian Schillinger

Internet Economics 4

LEISTUNGSERKLÄRUNG. DoP: 0092 für fischer Rahmendübel SXR/SXRL (Kunststoffdübel für die Verwendung in Beton und Mauerwerk) DE

Eva Lugstein Michaela Peterhansl Sophie Wirnsberger Cornelia Zenz

Kapitel 5: Statische Analyse

Inhaltsverzeichnis. Inhaltsverzeichnis XVII

Von IPSEN zu mechatronischen Entwurfsumgebungen

Safety versus Security Gegenüberstellung und Einordnung

Johannes Buchsteiner, Sebastian Strumegger. June 10, Biometrische Kryptographie. Commitment Schema. Fehler Korrigieren. Fuzzy Commitment.

2 Softwarearchitektur in der Organisationsstruktur 25

Kommunikationskomplexität

Transkript:

1/27 Formale Grundlagen der Fehlertoleranz in verteilten Systemen Felix Gärtner TU Darmstadt felix@informatik.tu-darmstadt.de

2/27 Bezug zur formalen Softwareentwicklung formale SE Definitionsphase Aufsplittung Fehlertoleranz konventionelle SE Integration Test Installation Wartung

3/27 Entwicklung fehlertoleranter Systeme Benötigt wissenschaftlich gesicherte Methodik. Bestandteile (von mir untersucht): Modellbildung und -bewertung [Gärtner 1999a]. Spezielle Methoden der Verifikation [Gärtner 1999b; Mantel and Gärtner 2000]. Verständnis für die grundsätzliche Wirkungsweise von Fehlertoleranzverfahren. [Gärtner and Völzer 2000] Algorithmische Grundbausteine [Gärtner and Kloppenburg 2000].

4/27 Beispiel: Space Shuttle STS51 Discovery, Quelle: http://spaceflight.nasa.gov/

5/27 Fehlertolerante Arbeitsweise [Spector and Gifford 1984] Fünf redundante Computer (IBM). Vier davon fahren Steuerungssoftware. I vote, you vote. Fail-operational, fail-safe. Fünfter Computer fährt Backup-Software (von anderem Hersteller).

6/27 Weitere Methoden triple modular redundancy (TMR). checkpointing/recovery. error detecting/error correcting codes. recovery blocks. Replikation und atomic broadcast....

7/27 Ausgangsfrage Was sind die grundlegenden Mechanismen, die in Fehlertoleranzverfahren eine Rolle spielen? Erste Antwort: Redundanz! Aber wie und warum?

8/27 Modellierung als Automaten d a f niemals! c b e Speicherredundanz

9/27 Speicherredundanz redundante Zustände = Speicherredundanz Zustände, die nicht erreicht werden, wenn keine Fehler auftreten. Bekannt aus der Kodierungstheorie [Rao and Fujiwara 1989]. Puffer zur Fehlererkennung.

10/27 Problem: Lebendigkeit immer wieder! d a f c b e Zeitredundanz

11/27 Zeitredundanz redundante Transitionen = Zeitredundanz Transitionen, die nie ausgeführt werden, wenn keine Fehler auftreten. Ergebnis ist neu! Ein Kapitel der Dissertation: Untersuchung der genauen Voraussetzungen, unter denen Speicher- und Zeitredundanz notwendig sind. skip

12/27 Definition: Fehlermodell Fehlermodell = Transformation F von Automaten, die Zustandsübergänge einbaut. * * a b c a b c Σ F (Σ)

13/27 Eigenschaften Automaten sind Generatoren von Abläufen. Ablauf = Folge s 1, s 2,... von Zuständen. Eigenschaft = Menge {σ 1, σ 2,...} von Abläufen. Ein Automat besitzt Eigenschaft E wenn alle seine Abläufe in E liegen.

14/27 Sicherheit und Lebendigkeit Sicherheitseigenschaft (safety): Eigenschaft, die immer im Endlichen verletzt wird. Beispiel: wechselseitiger Ausschluß. Lebendigkeitseigenschaft (liveness): Eigenschaft, die nur im Unendlichen verletzt werden kann. Beispiel: Aushungerungsfreiheit. Sicherheit und Lebendigkeit sind fundamental [Alpern and Schneider 1985].

15/27 Fehlertolerante Versionen Designprozeß: Man hat ein System Σ 1, welches Sicherheitseigenschaft S verletzt, wenn Fehler aus F auftreten. Möchte Σ 1 gerne in Σ 2 umwandeln, so daß Σ 2 S erfüllt, auch wenn Fehler aus F auftreten. Σ 2 soll aber im fehlerfreien Fall dasselbe Verhalten haben wie Σ 1. Σ 2 ist die fehlertolerante Version von Σ 1.

16/27 Fehlertoleranz und Sicherheit Nie x ist eine Sicherheitseigenschaft. Wann kann man fehlertolerante Versionen bezüglich einem Fehlermodell F und einer Sicherheitseigenschaft S bauen? Unmöglich, falls S direkt mittels Transitionen aus F verletzt werden kann. Oft möglich durch Löschen redundanter Transitionen. Resultierendes System Σ 2 hat Speicherredundanz.

17/27 Sicherheit und Speicherredundanz Speicherredundanz notwendig, um fehlertolerant bezüglich einer Sicherheitseigenschaft zu werden. Voraussetzung: F muß in Σ 1 und Σ 2 dieselben Fehler einbauen. Annahme: Sicherheitseigenschaft ist fusionsabgeschlossen.

18/27 Fusionsabgeschlossenheit α γ Sicherheit allgemein: Ausschluß einer Menge endlicher Präfixe. Fusionsabgeschlossene Sicherheit: Ausschluß einer Menge von Transitionen. Man kann an der Transition erkennen, ob sie ausgeführt werden darf oder nicht. s β δ

19/27 Fehlertoleranz und Lebendigkeit Immer wieder x ist eine Lebendigkeitseigenschaft. Was muß man tun, um fehlertolerante Versionen bezüglich einer Lebendigkeitseigenschaft zu konstruieren?

20/27 Lebendigkeitsannahmen Automat Σ = (C, I, T, A) * a b c Maximalität Schwache Fairness

21/27 Fehlermodelle und Lebendigkeit Fehlermodelle können auch die Lebendigkeitsannahme abschwächen. Beispiel: Abschwächung von schwacher Fairness zu Maximalität. * * a b c a b c Σ F (Σ)

22/27 Fehlertoleranz und Lebendigkeit Wann kann man fehlertolerante Versionen bezüglich einem Fehlermodell F und einer Lebendigkeitseigenschaft L bauen? Unmöglich, falls aus direktem Programmfluß ein livelock ausschließlich in F -Transitionen passieren kann. Oft möglich durch Hinzufügung von redundanten Transitionen. Resultierendes System Σ 2 hat Zeitredundanz.

23/27 Lebendigkeit und Zeitredundanz Zeitredundanz notwendig, um fehlertolerant bezüglich einer Lebendigkeitsspezifikation zu werden. Voraussetzung: F schwächt bei beiden Programmen die Lebendigkeitsannahme in derselben Art ab.

24/27 Beispiel: TMR Komponente x berechnet einen Wert aus {0, 1}. Spezifikation: Nur korrekter Wert soll auf Ausgang out geschrieben werden (Sicherheit) und schließlich soll out von auf 0 oder 1 wechseln (Lebendigkeit). Zusätzliche Komponenten y und z stehen zur Verfügung. Fehlermodell: maximal eine Komponente berechner fehlerhaften Wert.

25/27 Speicher- und Zeitredundanz in TMR out = 0 1 z = 0 1 0 1 0 1 y = 0 x = 0 x = 1 * y = 1 x = 0 x = 1 *

26/27 Zusammenfassung F -tolerant bzgl. notwendig Sicherheit Speicherredundanz Lebendigkeit Zeitredundanz + Speicherredundanz back Speicherredundanz bekannt aus der Kodierungstheorie. Relation zu safety neu! Zeitredundanz ist ein neuer Begriff! Relation zu liveness neu!

27/27 Nutzen Keine Fehlertoleranz ohne Redundanz. Redundanz messbar (Zählen von redundanten Zuständen/Transitionen). Systeme bezüglich Redundanz vergleichbar: TMR ist redundanzoptimal bzgl. Sicherheit und Lebendigkeit. TMR ist nicht redundanzoptimal bzgl. Sicherheit. Methodologische Basis für effiziente Fehlertoleranzverfahren [Kulkarni and Arora 2000].

28/27 Danksagungen Diese Folien wurden hergestellt unter Verwendung von pdfl A TEX und Klaus Guntermanns PPower4. References Alpern, B. and Schneider, F. B. 1985. Defining liveness. Information Processing Letters 21, 181 185. Gärtner, F. C. 1999a. Fundamentals of fault-tolerant distributed computing in asynchronous environments. ACM Computing Surveys 31, 1 (March), 1 26. Gärtner, F. C. 1999b. Transformational approaches to the specification and verification of fault-tolerant systems: Formal background and classification. Journal of Universal Computer Science (J.UCS) 5, 10 (Oct.), 668 692. Special Issue on Dependability Evaluation and Assessment.

29/27 Gärtner, F. C. and Kloppenburg, S. 2000. Consistent detection of global predicates under a weak fault assumption. In Proceedings of the 19th IEEE Symposium on Reliable Distributed Systems (SRDS2000) (Nürnberg, Germany, Oct. 2000), pp. 94 103. IEEE Computer Society Press. Gärtner, F. C. and Völzer, H. 2000. Redundancy in space in fault-tolerant systems. Technical Report TUD-BS-2000-06 (July), Department of Computer Science, Darmstadt University of Technology, Darmstadt, Germany. Kulkarni, S. S. and Arora, A. 2000. Automating the addition of fault-tolerance. In M. Joseph Ed., Formal Techniques in Real-Time and Fault-Tolerant Systems, 6th International Symposium (FTRTFT 2000) Proceedings, Number 1926 in Lecture Notes in Computer Science (Pune, India, Sept. 2000), pp. 82 93. Springer-Verlag. Mantel, H. and Gärtner, F. C. 2000. A case study in the mechanical verification of fault tolerance. Journal of Experimental & Theoretical Artificial Intelligence (JETAI) 12, 4 (Oct.), 473 488.

30/27 Rao, T. R. N. and Fujiwara, E. 1989. Error-control coding for computer systems. Prentice-Hall. Spector, A. and Gifford, D. 1984. The space shuttle primary computer system. Communications of the ACM 27, 9, 874 900.