Kohäsionsmetrik... Examensarbeiten Untersuchung der UML...

Diplomarbeit

Evaluierung verschiedener Verfahren zur Fehlerbaumanalyse komplexer Systeme

 

Zusammenfassung

Die Fehlerbaumanalyse ist ein zentraler Bestandteil bei der Entwicklung und beim Betrieb von sicherheitskritischen Systemen, wie es Kernkraftwerke oder Spaceshuttles darstellen. Mit Hilfe der Fehlerbaumanalyse kann herausgefunden werden, in welcher Kombination einzelne Komponenten ausfallen müssen, damit ein unerwünschtes Ereignis, wie zum Beispiel der Ausfall des Antriebs beim Spaceshuttle, eintritt. Ziel der Fehlerbaumanalyse ist es, die minimale Anzahl der Ereignisse herauszufinden, die schon dieses Top Event auslösen können, und damit besondere Schwachstellen im System aufzuspüren.
Der geschichtliche Hintergrund der Fehlerbaumanalyse liegt im militärischen Bereich. Anfang der 1960er Jahre wurde diese Technik bei der U.S. Air Force zuerst eingesetzt und hat sich seitdem auf viele Bereiche der Luft- und Raumfahrt, sowie Kernenergie ausgedehnt. Es werden viele Anstrengungen unternommen, immer umfangreichere und komplexere Systeme als Fehlerbäume abzubilden und zu analysieren.
Fehlerbäume basieren auf booleschen Funktionen, die anhand verschiedener Algorithmen mit unterschiedlicher Effizienz auf minimalen Schnitte untersucht werden können. Ziel dieser Arbeit ist es, einige dieser Algorithmen zu untersuchen und bewertende Aussagen über ihre Effizienz zu treffen. In diesem Bereich werden die Methode von Quine-McCluskey zur Minimierung boolescher Funktionen, der MOCUS-Algorithmus, der Algorithmus von Rauzy auf binären Entscheidungsdiagrammen, der Algorithmus von Madre und Coudert mit Metaprodukten und die Suchstrategie CAMP DEUSTO untersucht. Diese Algorithmen basieren auf unterschiedlichen Datenstrukturen und Vorgehensweisen zur Bestimmung der Primimplikanten bzw. der minimalen Schnitte. Ein zentrales Thema dieser Arbeit sind die beiden Algorithmen, die auf binären Entscheidungsdiagrammen basieren, da durch diese Technik ein großer Fortschritt erzielt wurde. Zuvor werden die Grundlagen der booleschen Algebra und von Fehlerbäumen, sowie die grundlegende Vorgehensweise bei der Fehlerbaumanalyse im Produkt- und Softwarelebenszyklus vorgestellt.
Die vorliegende Arbeit ist in sechs Kapitel eingeteilt. Kapitel 1 befasst sich mit der Geschichte der Fehlerbaumanalyse und ordnet sie in die Phasen des Produktlebenszyklus ein. Kapitel 2 erläutert die Darstellung von booleschen Funktionen in einem Fehlerbaum und die grundlegenden Definitionen von minimalen Schnitten und Primimplikanten einer booleschen Funktion. Kapitel 3 zeigt die grundlegende Vorgehensweise bei der Fehlerbaumanalyse auf und erläutert die Anwendung der Fehlerbaumanalyse auf Softwareprojekte. Kapitel 4 stellt vorhandene Algorithmen anhand verschiedener Anwendungsbeispiele vor. Kapitel 5 stellt die verschiedenen Algorithmen gegenüber und vergleicht sie. Kapitel 6 gibt einen Ausblick auf mögliche, zukünftigen Entwicklungen im Bereich der Fehlerbaumanalyse.

Bearbeiter: Martin Seel

Betreuer: Dr.-Ing. Norbert Oster