Safety Engineering, Teil 3 Modellbasierte Safety-Analyse mit Komponentenfehlerbäumen

Von Dr.-Ing. Daniel Schneider, Christian Wolschke*

Die Komplexität sicherheitskritische Produkte nimmt stetig zu. Dies erschwert auch die notwendigen Analysen um Ursache- und Wirkungszusammenhänge von Fehlern zu verstehen. Hier hilft das Safety-Werkzeug safeTbox mit seinem modellbasierten Ansatz weiter.

Anbieter zum Thema

(Bild: gemeinfrei / Pixabay )

Klassische Analysemethoden wie die Failure Mode and Effect Analyse FMEA oder die Fehlerbaumanalyse FTA stoßen zunehmend an ihre Grenzen: Die höhere Komplexität sicherheitskritischer Produkte erfordert geeignete Konzepte, um komplexe Systeme mit einer Vielzahl von Komponenten in geeigneter Qualität abzusichern. Sicherheitsanalysen müssen die System-Architektur auf verschiedenen Ebenen berücksichtigen, um ein vollständiges Fehlerpropagierungsmodell mit Traceability zu erhalten.

Software-Architektur zum Erstellen von Komponentenfehlerbäumen

Hier setzt die kostenlose safeTbox-Suite des Fraunhofer-Instituts für Experimentelles Software Engineering IESE an: Das Tool für die Entwicklung & Zertifizierung von sicherheitskritischen Systemen erweitert durch seinen modellbasierten Ansatz die klassische Fehlerbaumanalyse. Es bindet die Software-Architektur zum Erstellen von Komponentenfehlerbäumen ein; Komponentenfehlerbäume sind Fehlerbäume, die für jede Komponente erstellt werden. Das Hierarchie- und Komponentenkonzept des Safety Tools für komplexe Systeme erzeugt analysierbare Sichten. Dank seiner grafischen Benutzeroberfläche werden Traceability-Beziehungen übersichtlich dargestellt. Die Wiederverwendung von Fehlermodellen für Komponenten und die Einbindung der Komponentenfehlerbäume in das Konfigurationsmanagement verringern den Entwicklungsaufwand, erhöhen die Qualität und verbessern die Einbindung in bestehende Projektstrukturen.

Bildergalerie

Auf einen Blick

Modellbasiertes Safety Engineering – die Serie

Von den Vorteilen der modellbasierten Entwicklung kann auch das Safety Engineering profitieren, wie diese vierteilige Serie zeigt.

  • Nach einer allgemeinen Einführung im ersten Artikel zeigt der Autor in den darauffolgenden Beiträgen dieser Serie entlang des Safety Engineering Lebenszyklus exemplarisch, wie typische Aktivitäten des Safety Engineering modellbasiert umgesetzt werden können. Hier geht's zu Teil 1.
  • Der zweite Beitrag behandelt, wie Gefährdungen und Risiken eines zu entwickelnden Systems analysiert werden können und dieser Prozess in einen modellbasierten Ansatz integriert wird. Hier geht's zu Teil 2
  • Aufbauend darauf beschreibt dieser dritte Artikel, wie sich die Safety-Analyse bezüglich der zuvor identifizierten Gefährdungen mit Hilfe des modellbasierten Ansatzes und Komponentenfehlerbäumen realisieren lässt.
  • Abschließend wird im vierten Artikel gezeigt, wie ein modellbasierter Sicherheitsnachweis mit den benötigten Verknüpfungen der Entwicklungsartefakte erstellt werden kann.

Fehlerbaumanalysen zur Bewertung von Sicherheitsmaßnahmen

Fehlerbaumanalysen werden eingesetzt, um Events zu identifizieren, die zu Sicherheitsgefährdungen in Systemen führen, und um bestehende Sicherheitsmaßnahmen zu bewerten. Entstanden ist die Fehlerbaumanalyse in den 1960er Jahren. Sie wurde zunächst in der Raketentechnik, Luft- und Raumfahrt, Kernkraftwerkstechnik und chemischen Industrie eingesetzt. In den folgenden Jahrzehnten etablierte sich diese Methode in allen wichtigen Ingenieursbereichen. Empfehlungen und auch verpflichtende Nutzung von Fehlerbäumen finden sich in allen gängigen Sicherheitsstandards (ISO 12100, ISO 61508, ISO 13849, EN 50128, ISO 26262, ISO 25119).

Seminar-Tipp

Das Seminar Risikobeurteilung und Betriebsanleitung hilft Ihnen bei der Umsetzung der wichtigsten Anforderungen der Maschinenrichtlinie 2006/42/EG.

Ausgangspunkt für Fehlerbaumanalysen sind Fehlerbilder der Gefahren- und Risikoanalyse, die zu Gefährdungen führen können. Ihr Auftreten muss verhindert werden, indem die ursächlichen Fehler identifiziert, Sicherheitsmaßnahmen definiert und deren Wirkung auf Sicherheitsmaßnahmen bewertet wird. Diese drei Aspekten können durch die Fehlerbaumanalyse unterstützt werden. Die zusätzliche Zuordnung von Ausfallwahrscheinlichkeiten ermöglicht eine quantitative Analyse zum verbleibenden Restrisiko.

Komponentenfehlerbäume zur Analyse verteilter Hardware-/Software-Systeme

Die Vernetzung verschiedener Komponenten führt zu wechselseitigen Abhängigkeiten mit entsprechenden Fehlerpropagationen. Fehler propagieren innerhalb einer Komponente und zwischen Komponenten. Komponentenfehlerbäume ermöglichen es, die Intra-Fehlerpropagierung einer Komponente modular zu beschreiben und anschließend semi-automatisiert die Inter-Fehlerpropagierung zwischen den Komponenten aus den Verbindungsstrukturen zu generieren.

Generierung und automatisierte Prüfungen vereinfachen die Integration von Komponenten und ermöglichen zudem Plug-&-Safe-Lösungen. Das gilt nicht nur für die horizontale Integration von Komponenten gleichen Typs, sondern auch für die vertikale SW/HW-Integration.

Formale Traces zwischen den modularen Fehlerbäumen und den Komponenten ermöglichen automatische Analysen. Beispielsweise werden Fehlermodi im Fehlerbaum mit Ports einer Komponente verlinkt. Das ermöglicht das automatische Anpassen des Fehlerbaums, wenn ein Port einer Komponente wegfällt.

Modellbasiertes Safety Engineering mit safeTbox

Ein Komponentenfehlerbaum orientiert sich am Systemaufbau und den Abhängigkeiten zwischen Komponenten. Die bereits existierende Architektur des Systems wird automatisch übernommen und muss nicht extra modelliert werden. Das spart nicht nur Modellierungsaufwand, sondern stellt auch die Traceability zu jedem Zeitpunkt und ohne zusätzlichen Wartungsaufwand sicher und verhindert Inkonsistenzen zwischen Modellen. Hierdurch eröffnen sich neue Möglichkeiten für Sicherheitsanalysen und Darstellung der Fehlerpropagierung.

Abb. 1: Systemarchitektur des Beatmungsgeräts.
Abb. 1: Systemarchitektur des Beatmungsgeräts.
(Bild: Fraunhofer IESE)

Abbildung 1 zeigt die Architektur eines einfachen und prototypischen Beatmungsgerätes. Abhängig vom Luftfluss und Luftdruck wird zum Einatmen die Luft komprimiert (vgl. Komponente Air-Compression) und zum Patienten geführt. Um auch ein Ausatmen zu ermöglichen, wird periodisch zwischen Ein- und Ausatmen-Stellung gewechselt. Dies geschieht, in dem die Komponente VentilatorController die Ventile NC-Inhalation, bzw. NO-Exhale periodisch öffnet und schließt. Um Fehler in den Ventilen zu modellieren, sind beide Ventile jeweils als Komponente modelliert. Ferner ist auch die Verbindung zwischen den Ventilen modelliert. Zur Überwachung der korrekten Funktionsweise der Ventile werden die jeweils anliegenden Spannungen überwacht.

Fehlermodi für Sicherheitsverletzungen bestimmen

In der Gefahren- und Risikoanalyse wurde für das Beatmungsgerät die Sicherheitsfunktion „prevent breathing cycle malfunction“ identifiziert. Mithilfe des Komponentenfehlerbaums können für jeden Output-Port mögliche Fehlermodi, die zu dieser Sicherheitsverletzung führen, bestimmt werden. So wurde beispielsweise für den Output-Port „Alarm Breathing Cycle“ das Ausbleiben der Signalisierung als Sicherheitsverletzung dargestellt. Im Modell ist dies mit dem Fehler “No Alarm/Valve Opening” modelliert.

Abb. 2: Komponentenfehlerbaum der Komponente Ventilator Controller. Rechts: Kontextmenü des safeTbox Werkzeugs.
Abb. 2: Komponentenfehlerbaum der Komponente Ventilator Controller. Rechts: Kontextmenü des safeTbox Werkzeugs.
(Bild: Fraunhofer IESE)

Abbildung 2 stellt das Fehlermodell dar, welche die Ursachen dieses Fehlers zeigt. Neben Basic Events wie „Alarm signal does not activate, despite fault in system“, die in der Komponente verortet sind, können auch propagierte Fehler „No Controller Power Supply“ aus anderen Komponenten für das Auftreten dieses Fehlers ursächlich sein oder zu diesem beitragen.

Jede Komponente der Architektur ist durch ein Fehlermodell beschrieben, wobei eine Komponente auch weitere hierarchische Fehlermodelle umfassen kann. Dieser Aufbau ermöglicht die parallele und zeitgleiche Modellierung der Fehlermodelle sowie die Einbindung von Fehlermodellen externer Zulieferer. Konfigurations- und Variantenmanagement sind durch verschiedene Realisierungen einer Komponente umsetzbar.

Die Rückbindung zur Architektur garantiert, dass jede Komponente und jedes Signal zwischen den Komponenten analysiert werden und die Vollständigkeit der Analyse gewahrt bleibt.

Die Funktionen von safeTbox

SafeTbox unterstützt das Safety Engineering bei der Erstellung von Fehlermodellen, der Navigation zwischen der Architektur und Fehlermodellen, der Bereitstellung von Layout und Komfortfunktionen. Da safeTbox als Plugin im Modellierungswerkzeug Enterprise Architect integriert ist, übernimmt es dessen Features:

  • Intuitives User Interface: Die Benutzeroberfläche erlaubt das einfache Einfügen und Ändern von Objekten und Beziehungen.
  • Traceability: Die Nachverfolgbarkeit von Beziehungen zwischen Modellierungselementen ist mit graphischen Links und expliziten Traceability-Matrizen möglich. SafeTbox erlaubt praktische Shortcuts für die Navigation von Traceability Beziehungen und erleichtert dem Entwickler, sich innerhalb des Modells und der Architektur zurechtzufinden. Eine Suchfunktion erleichtert zudem die Navigation in sehr großen Modellen.
  • Model-driven Architecture Support: Import- und Exportfunktionen etwa für XML bieten die Möglichkeit zur Einbindung weiterer Modellierungswerkzeuge. Der Export als HTML-Website und als Word-Dokument kann zur Ansicht der Modelle ohne vorherige safeTbox-Installation genutzt werden. Die Plugin-Erweiterungsfähigkeit und XML-Schema-Unterstützung erlauben die individuelle Erweiterung des Werkzeugs.

Zur Analyse des Komponentenfehlerbaums werden die zugewiesenen Wahrscheinlichkeiten mit der jeweiligen Fehlerverteilung berücksichtigt. Eine Analyse und die Ermittlung der Minimal Cut Sets ermöglicht die Bestimmung der Ereigniskombinationen, die zu einem Gesamtausfall führen können, und die systematische Ableitung von Sicherheitsmaßnahmen, falls erforderlich. Eine Exportfunktion und Anbindung an die isograph Reliability Workbench von FaultTree+ 12/13 kann alternativ genutzt werden um Berechnungen durchzuführen.

Komponentenübergreifende Safety

Sicherheitsanalysen sind durch Komponentenfehlerbäume auch für komplexe System umsetzbar. Komponentenfehlerbäume strukturieren die Sicherheitsanalyse und stellen einen expliziten Bezug zur Systemarchitektur her. Der komponentenbasierte Ansatz verbessert Wartbarkeit, Verständlichkeit und Wiederverwendbarkeit.

Das Werkzeug safeTbox verknüpft die etablierte modellgetriebene Entwicklung mit modellgetriebenem Safety-Engineering. Dies erhöht die Effizienz bei der Modellierung der Fehlerpropagation, verhindert Inkonsistenzen zwischen den Modellen und stellt die Traceability sicher. Die Fehlerbaumanalyse wird somit skalierbar im Rahmen eines übergreifenden Systems Engineering anwendbar und unterstützt dynamische Smart Manufacturing Szenarien.

* Dr.-Ing. Daniel Schneider, Department Head Safety Engineering, Fraunhofer-Institut für Experimentelles Software Engineering IESE; Christian Wolschke, Arbeitsgruppe Software Engineering, Technische Universität Kaiserslautern

(ID:48081447)