SRE-Methodenleitfaden



Ähnliche Dokumente
Einführung und Motivation

Abschnitt 16: Objektorientiertes Design

Grundlagen Software Engineering

Wir machen neue Politik für Baden-Württemberg

Informationssystemanalyse Problemstellung 2 1. Trotz aller Methoden, Techniken usw. zeigen Untersuchungen sehr negative Ergebnisse:

Validierung und Verifikation!

Das Pflichtenheft. Dipl.- Ing. Dipl.-Informatiker Dieter Klapproth Ains A-Systemhaus GmbH Berlin

Softwareentwicklungsprozess im Praktikum. 23. April 2015

Deutsches Rotes Kreuz. Kopfschmerztagebuch von:

Validierung und Verifikation

Primzahlen und RSA-Verschlüsselung

Software-Engineering SS03. Zustandsautomat

Benötigen wir einen Certified Maintainer?


Psychologie im Arbeitsschutz

FACHHOCHSCHULE MANNHEIM

ONLINE-AKADEMIE. "Diplomierter NLP Anwender für Schule und Unterricht" Ziele

Das sogenannte Beamen ist auch in EEP möglich ohne das Zusatzprogramm Beamer. Zwar etwas umständlicher aber es funktioniert

Wordpress: Blogbeiträge richtig löschen, archivieren und weiterleiten

Teilnahme-Vertrag. Der Teilnahme-Vertrag gilt zwischen. dem Berufs-Bildungs-Werk. und Ihnen. Ihr Geburtsdatum: Ihre Telefon-Nummer:

Geld Verdienen im Internet leicht gemacht

Informationsblatt Induktionsbeweis

Flow Session zum Entdecken Deines idealen Lebensstils

Folie 1: Fehlerbaumanalyse (FTA) Kurzbeschreibung und Ziel Die Fehlerbaumanalyse im Englischen als Fault Tree Analysis bezeichnet und mit FTA

Qualitätsmanagement. Andreas Bäuml SWT-Projekt WS 07/08

Free your work. Free your work. Wir wollen Ihnen die Freiheit geben, sich auf Ihr Geschäft zu konzentrieren.

Mediator 9 - Lernprogramm

Anleitung für Autoren auf sv-bofsheim.de

Rhetorik und Argumentationstheorie.

Konfigurieren mit Outlook Express (Windows XP) oder Windows Mail (Windows Vista / Windows 7)

Professionelle Seminare im Bereich MS-Office

Auswertung des Jahresabschlusses Bilanzanalyse 2

Bei der Focus Methode handelt es sich um eine Analyse-Methode die der Erkennung und Abstellung von Fehlerzuständen dient.

Der Kunde zahlt die Gehälter.

Gruppenrichtlinien und Softwareverteilung

2. Mathematik Olympiade 2. Stufe (Kreisolympiade) Klasse 7 Saison 1962/1963 Aufgaben und Lösungen

T1 - Fundamentaler Testprozess

Webgestaltung - Jimdo 2.7

INTERNET SERVICES ONLINE

Konzentration auf das. Wesentliche.

Anleitung zum Einstellen eines Artikels als Autor

DSL Entwicklung und Modellierung

Was ist Sozial-Raum-Orientierung?

Blog Camp Onlinekurs

teischl.com Software Design & Services e.u. office@teischl.com

Arbeiten mit UMLed und Delphi

Liebe Interessierte an technischen Lösungen für die Sicherheit zu Hause,

Software Engineering. 3. Analyse und Anforderungsmanagement

Dokumentenverwaltung im Internet

Anspruchsvolle Dreierausdrücke zum selbstständigen Lernen

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum

Installation der Eicon Diva PCI Karte unter Windows XP

Typisierung des Replikationsplan Wirries, Denis Datenbankspezialist

1. Weniger Steuern zahlen

1. Was ihr in dieser Anleitung

Sudoku-Informatik oder wie man als Informatiker Logikrätsel löst

Wie halte ich Ordnung auf meiner Festplatte?

Es war einmal... "StudyING: Welten bewegen - Welten gestalten"

Konfigurieren mit Mozilla Thunderbird

BERECHNUNG DER FRIST ZUR STELLUNGNAHME DES BETRIEBSRATES BEI KÜNDIGUNG

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: MORE Projects GmbH

Strom in unserem Alltag

Übungsaufgaben zur Programmiersprache Python

Lies zuerst den unten stehenden Zeitungsartikel und erfülle dann die einzelnen Aufgaben:

Pfötchenhoffung e.v. Tier Manager

Evangelisieren warum eigentlich?

Zeichen bei Zahlen entschlüsseln

Leit-Bild der Sonnenhofschule

Erfahrungen mit Hartz IV- Empfängern

Unterrichtsformalitäten für Mathematik, 3. Klasse

DOWNLOAD. Rechnen mit Geld im ZR bis Übungs- und Anwendungsaufgaben. Heide Hildebrandt. Downloadauszug aus dem Originaltitel:

Anleitung über den Umgang mit Schildern

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Papierverbrauch im Jahr 2000

Daten sammeln, darstellen, auswerten

Meet the Germans. Lerntipp zur Schulung der Fertigkeit des Sprechens. Lerntipp und Redemittel zur Präsentation oder einen Vortrag halten

Kulturelle Evolution 12

Eva Douma: Die Vorteile und Nachteile der Ökonomisierung in der Sozialen Arbeit

Musterfragen ALLGEMEINE Systemlehre

PRÜFUNG FÜR ELEKTROINGENIEURE. Softwaretechnik I. Musterlösung SS Ohne Gewähr -

Testen Prinzipien und Methoden

Nina. bei der Hörgeräte-Akustikerin. Musterexemplar

Das Festkomitee hat die Abi-Seite neu konzipiert, die nun auf einem (gemieteten) Share Point Server

Hilfe-Blatt: Ausgabenkontrolle

Semantic Web Technologies I! Lehrveranstaltung im WS10/11! Dr. Andreas Harth! Dr. Sebastian Rudolph!

EinfÅhrung in die objektorientiere Programmierung (OOP) unter Delphi 6.0. EDV Kurs 13/2

Das RSA-Verschlüsselungsverfahren 1 Christian Vollmer

Generative Prozessmodelle Patrick Otto MDD Konferenz

Bernadette Büsgen HR-Consulting

Grundlagen der Theoretischen Informatik, SoSe 2008

Semantik von Formeln und Sequenzen

Die SPD und die Grünen machen im Niedersächsischen Landtag. Alle Menschen sollen in der Politik mitmachen können.

FUTURE NETWORK REQUIREMENTS ENGINEERING

IT-Projekt-Management

Software Engineering. Dokumentation! Kapitel 21

Statuten in leichter Sprache

Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich. Softwaretechnik I

Text: Octapharma GmbH Illustrationen: Günter Hengsberg Layout: nonmodo, Köln

Der Gabelstapler: Wie? Was? Wer? Wo?

Transkript:

Root Cause Analysis liefert SRE-Methodenleitfaden (Root Cause Analysis as a Guide to SRE Methods) Timm Grams Fachhochschule Fulda Fachbereich Elektrotechnik und Informationstechnik Timm Grams, Fulda, 09.03.04

Natürliches Software Engineering (NSE) 1. Sobald du eine Ahnung davon hast, was zu tun ist, hacke dir dein Programm zusammen. Das nennt man Realisierung. 2. Fertige einen Auszug daraus. So erhältst du Konzept und Entwurf. 3. Erstelle dann die Spezifikation. Darin erklärst du die überraschenden Eigenschaften deines Programms zu Features. 4. Mache schließlich dem Kunden klar, dass das, was du liefern kannst, er im Grunde seines Herzens auch haben wollte. Diese anspruchsvolle Aufgabe heißt Requirements Engineering.

Was die Erfahrung uns sagt Unfälle geschehen, weil die Dokumentation fehlt oder lückenhaft ist, die Spezifikation nicht gründlich durchdacht wurde, die Tests nur an der Oberfläche gekratzt haben, und die Verifikation ganz weggelassen worden ist. Die Untersuchung von Unfällen liefert die besten Gründe für unnatürliche und mühsame Software Engineering Methoden.

Zweck dieses Beitrags Das Problem Viele SRE-Methoden Methoden.. Der IEC Standard 61 508 zählt 66 auf. Mehr oder weniger nützlich. Mehr oder weniger mühsam. Das Ziel Methodenleitfaden: Unter welchen Bedingungen zahlen sich welche Methoden aus? Die Methode Root Cause Analysis als Klassifizierungsinstrument.

Liste von SRE-Methoden (unvollständig) Ausfalleffekt-Analyse Analyse (FMEA) Fehlerbaum-Analyse (FTA) Ereignisbaum-Analyse (ETA) Zuverlässigkeitsblockdiagramme Zuverlässigkeitswachstumsmodelle (RGM) Ursachen-Wirkungs Wirkungs-Diagramme Code-Inspektion Reviews Walk-Through Formale Inspektion (Fagan( Inspection) Metriken Risikograph Konfigurationsmanagement Petri-Netze HAZOP (Hazards( and Operability Analysis) Simulation Unified Modeling Language (UML) Structured Analysis and Design Technique (SADT) Datenflussdiagramm Zustandsdiagramme Strukturierte Programmierung Objektorientierte Programmierung Regelkreis des selbstkontrollierten Programmierens Beweisgeleitete Programmierung Diversität, n-versionen-programmierung Fehlerbuchführung (Defect( Records) Testen nach Regeln White-Box Box-Test/Black-Box-Test Äquivalenzklassentest, Grenzwertanalyse Funktionsabdeckungstest Statische Testmethoden Regressionstest Model-Checking

Die Klassifizierungsmethode Vorfall Klassifizie- rungsschema Ursachen- analyse Primärursache rursache Methode(n) der Prävention

Drei Ebenen der Ursachenanalyse Unerwünschtes Ereignis (Unfall) Unauffällige Konsequenzen Direkte Ursachen Normalität Fehler Technische Ursachen Soziologische Ursachen Psychologische Ursachen Grundursachen (Root Causes)

Drei Ebenen der Ursachenanalyse Unerwünschtes Ereignis (Unfall) Unauffällige Konsequenzen Direkte Ursachen Normalität Fehler Ebene 1 Ebene 2 Ebene 3 Technische Ursachen Soziologische Ursachen Psychologische Ursachen Grundursachen (Root Causes)

Drei Ebenen der Ursachenanalyse 1 Analyse der direkten Ursachen Logik der Ursachen Unfallhergang Ereignisketten 2 Aufdeckung von Fehlern auf Basis normativer Modelle Probleme der normativen Modellierung Übersehen organisatorischer Faktoren Subjektivität der Klassifizierung und Ursachenzuweisung Übersimplifizierung Unwissen 3 Root Cause Analysis Lernen durch Generalisierung Basiert auf technischen, psychologischen und soziologischen Taxonomien Schlechte Realisierung technischer Aktivitäten Mängel in der Sicherheitskultur Ineffektive Organisationsstruktur

Sicherheitsbezogener Gesamtlebenszyklus IEC 61 508 Konzept Definition des Anwendungsbereichs Gefährdungs- und Risikoanalyse Spezifikation der gesamten Sicherheitsanforderungen und Zuweisung der Sicherheitsanforderungen zu den Sicherheitssystemen und zu den externen Einrichtungen zur Risikoreduktion Planung der folgenden Phasen Realisierung E/E/PES Spezifikation der Sicherheitsanforderungen Entwurf und Entwicklung Realisierung von Systemen anderer Technologien Integration Sicherheitsbezogene Validation Realisierung externer Einrichtungen zur Risikoreduktion Installation und Inbetriebnahme Sicherheitsbezogene Validation Betrieb und Wartung Außerbetriebnahme Modifikation und Nachrüstung

Klassifizierungsschema Phase Beschreibung 1 Spezifikation - Funktionale Sicherheitsanforderungen - Sicherheitsbezogene Zuverlässigkeitsanforderungen 2 Realisierung -Entwurf - Implementierung (Codierung) - Validierung und Verifizierung 3 Installation und Inbetriebnahme 4 Betrieb und Wartung 5 Änderungen nach Inbetriebnahme - Modifikation, Wiederverwendung und Nachrüstung - Außerbetriebnahme

Klassifizierung der Ursachen (HSE-Studie,, 34 Unfälle) Primärursachen nach Phasen 0% 10% 20% 30% 40% 50% Spezifikation 44.1% Realisierung 14.7% Installation und Inbetriebnahme 5.9% Betrieb und Wartung Modifikation, Nachrüstung 14.7% 20.6%

Fehlerklassifizierung Mensch-Maschine Maschine-Umwelt-System Mensch Maschine Umwelt Spezifikation

Spezifikation = Norm Fehler = Verstoß gegen die Spezifikation Technischer Fehler Maschine erfüllt die Spezifikation nicht. Bedienfehler Mensch hält sich nicht an die Spezifikation ( Bedienungs Bedienungs- anleitung ).

Fehlerklassifizierung Spezifikationsfehler (nicht existent a priori) Technischer Fehler Eingebauter Fehler (inhärenter Fehler) Konstruktionsfehler Programmierfehler Entwurfsfehler in der Hardware Fertigungsfehler Ausfall (physikalischer Fehler) Bedienfehler (fälschlich: menschliches Versagen )

Spezifikationsfehler sind Fehler a posteriori Spezifikationsfehler werden in einem Prozess des Versuchs und der Fehlerbeseitigung (trial and error) ) sichtbar. Sicherheitsspezifikationen ändern sich mit der Zeit. Spezifikation Zeit

Spezifikationsfehler sind Fehler a posteriori Spezifikationsfehler werden in einem Prozess des Versuchs und der Fehlerbeseitigung (trial and error) ) sichtbar. Sicherheitsspezifikationen ändern sich mit der Zeit. Zeit Spezifikation Unerwünschtes Ereignis

Spezifikationsfehler sind Fehler a posteriori Spezifikationsfehler werden in einem Prozess des Versuchs und der Fehlerbeseitigung (trial and error) ) sichtbar. Sicherheitsspezifikationen ändern sich mit der Zeit. Fehler Zeit Spezifikation (alt) Spezifikation (neu)

Zuverlässigkeitsvorhersagen? Fehler im Sinne der Zuverlässigkeit und Sicherheit sind Verstöße gegen die gültige Spezifikation. Eine in der Zukunft liegende Änderung der Spezifikation kann nicht in Rechnung gestellt werden. Spezifikationsfehler bilden keine Fehlerkategorie im Sinne der technischen Zuverlässigkeit. Damit fällt etwa die Hälfte aller Fehler aus der Zuverlässigkeitsbetrachtung heraus!

Zuverlässigkeitsvorhersagen? Karl Raimund Popper: Wir können nicht wissen, was wir in Zukunft wissen werden. Denn sonst wüssten wir es ja bereits jetzt. (Das soll uns nicht entmutigen - aber kritisch gegenüber Prognosen jeder Art machen!)

Die wichtigeren Fragen... Wie lernen wir möglichst viel aus Fehlern der Vergangenheit? Welche Methoden hätten zur Vermeidung der Unfälle der Vergangenheit beitragen können? Mit welchen (auf die Lebenszyklen bezogenen) Methoden lassen sich Unfälle zukünftig am besten vermeiden?

... und eine Antwort Klassifizierung und Bewertung präventiver Methoden mittels Grundursachenanalyse. Das wird im Aufsatz an zwei Beispielen durchexerziert. Strandung des Kreuzfahrtschiffs Royal Majesty Scheitern des Jungfernflugs der Ariane 5 Weiteres Material ist aus einer HSE-Studie Studie

Klassifikation der Methoden auf Basis der Ursachenanalyse Lebenszyklusphase 1 Spezifikation: Funktionale Sicherheitsanforderungen, sicherheitsbezogene Zuverlässigkeitsanforderungen Methoden Hazards and Operability Analysis (HAZOP) Fehlerbaumanalyse (FTA) Ereignisbaumanalyse (ETA) 2.1 Realisierung: Entwurf Modularisierung: Hierarchische Zerlegung, Information Hiding 2.2 Realisierung: Implementierung (Codierung) 2.3 Realisierung: Validierung und Verifizierung Modularisierung: Schnittstellenbeschreibungen wie Spezifikationen behandeln, mathematische und logische Notation von äußerster Genauigkeit verwenden, Dokumentation Schnittstellenanalyse: Strenge Modulprüfung (werden alle Anforderungen erfüllt?) Fehlereffektanalyse (FMEA) Grenzwertanalyse, Äquivalenzklassentest 3 Installation und Inbetriebnahme Inspektion und Funktionstests müssen so explizit wie möglich spezifiziert werden 4 Betrieb und Wartung Design for Maintenance 5 Änderungen nach Inbetriebnahme: Modifikation, Wiederverwendung und Nachrüstung Dieselben wie in der Realisierungsphase (Entwurf, Implementierung, Validierung und Verifizierung) Regressionstests, Schnittstellenanalyse

Schlussfolgerungen in Kürze Root Cause Analysis (Grundursachenanalyse) liefert Aussagen zur Fehleranfälligkeit der Lebenszyklusphasen; zeigt die Wirksamkeit von SRE-Methoden bzgl. der Phasen. Spezifikationsfehler sind die häufigsten Fehler. Zuverlässigkeitsvorhersagemethoden sind blind gegenüber Spezifikationsfehlern. Anspruchsvolle SRE-Methoden wie Diversität und beweis- geleitetes Programmieren sind gegen Spezifikationsfehler machtlos. Wirksame Methoden sind HAZOP, FMEA, FTA, ETA, genaue Spezifizierung und Dokumentation, Modularisierung.