zur Startseite

Verlässlichkeit von automatisierten Systemen

Mitarbeiter des Forschungsgebiets

Aktuelle Forschungsthemen des Forschungsgebiets

Forschungsprojekte des Forschungsgebiets

  • DFG-Projekt SafeRail (abgeschlossen)
    Integration von Methoden zur Spezifikation und Verifikation von Sicherungseinrichtungen im spurgeführten Verkehr

  • DFG-Projekt System-Zuverlässigkeit (abgeschlossen)
    Entwicklung von Konzepten und Methoden zur Ermittlung der Zuverlässigkeit mechatronischer Systeme in frühen Entwicklungsphasen

Beschreibung des Forschungsgebiets

„Nahverkehrszug fährt auf Güterzug auf“, „Flugzeug schießt über Landebahn hinaus“, „Airbags lösen im ruhenden Kfz versehentlich aus“. Schlagzeilen dieser Art lesen wir Jahr für Jahr. Sie haben mit der Verlässlichkeit von Prozessautomatisierungssystemen zu tun. Irgendetwas funktioniert nicht so, wie es soll. Die Folgen können verheerend sein (s. Abbildung 1) [Leve95]. Sie reichen von geringem Sachschaden und einigen wenigen Verletzten bis hin zu hohen Sach- und Personenschäden oder sogar Toten. Immer werfen solche Schlagzeilen Fragen auf: Hat der Mensch versagt oder war es die Technik, die der Mensch geplant hat, die er einsetzt und instand hält? War es ein Hardware-Ausfall oder ein unentdeckter Softwarefehler? Was ist zu tun, um künftige Ausfälle möglichst zu vermeiden? Wie weit und wodurch lässt sich die Verlässlichkeit durch Automatisierungsmaßnahmen erhöhen?

Abbildung
Abbildung 1: Unfälle in der Automatisierungstechnik

Für Automatisierungssysteme sind neben besonderen Anforderungen an Rechtzeitigkeit, Gleichzeitigkeit und Vorhersehbarkeit auch besondere Anforderungen an die Verlässlichkeit charakteristisch. Verlässlichkeit beschreibt dabei die Eigenschaft eines Systems, die es erlaubt, volles Vertrauen in seine Funktion zu setzen [LbGö99]. Die Forderung nach Verlässlichkeit ist dann von besonderer Bedeutung, wenn ein Ausfall des Rechner- und Kommunikationssystems zu Zeitverzug, Mehrarbeit, einer Gefährdung von Sachwerten oder gar von Menschenleben führen kann. Verlässlichkeit schließt somit die Themen Sicherheit, Zuverlässigkeit und Verfügbarkeit ein. Ein sicherheitskritisches System ist ein System, das Funktionen mit Sicherheitsverantwortung (Funktionen, deren Versagen gefährliche Auswirkungen haben können) wahrnimmt. Mit Zuverlässigkeit wird die Fähigkeit eines Systems bezeichnet, für eine gegebene Zeit korrekt zu arbeiten. Mit Verfügbarkeit wird die Wahrscheinlichkeit bezeichnet, ein System zu einem beliebigen Zeitpunkt fehlerfrei anzutreffen.

Stand der Forschung bei der Entwicklung verlässlicher Prozessautomatisierungssysteme

Ein Prozessautomatisierungssystem besteht aus drei Teilen: Dem technischen Prozess, der Datenverarbeitung inklusive Kommunikation und dem Menschen [LbGö99]. Die Rahmenbedingungen für die Entwicklung der steuernden bzw. regelnden Hard- und Software eines Systems werden durch den technischen Prozess vorgegeben. Der wesentliche Anteil der Automatisierungsfunktionalität wird dabei zunehmend von der Automatisierungssoftware erbracht [BeBe99]. Bei der Entwicklung verlässlicher Prozessautomatisierungssysteme geht es darum, entweder Fehler und Ausfälle an sich zu vermeiden (Perfektions- und Intoleranzstrategien) oder den Auswirkungen von Fehlern und Ausfällen entgegenzuwirken (Fehlertoleranzstrategien) [LbGö99]. Dabei sind Fehler als Nichterfüllung vorgegebener Forderungen und Ausfälle als Aussetzen der Ausführung einer festgelegten Aufgabe zu sehen. Je nachdem, welcher Art der Verlässlichkeit gefordert ist (Sicherheit oder Zuverlässigkeit), müssen entsprechende besondere Maßnahmen in der Systementwicklung getroffen werden.

Bei Zuverlässigkeitsmaßnahmen wird zwischen Fehlertoleranz- und Fehlerintoleranz-Strategien unterschieden. Für die Fehlertoleranzstrategie spielen Redundanzmaßnahmen auf verschiedenen Ebenen eines Prozessautomatisierungssystems (Bauelemente-Redundanz, Baugruppen-Redundanz, Geräte-Redundanz usw.), Programmablauf-Überwachungsprogramme (sog. Watchdogs) sowie Diversität (Einsatz verschiedenartiger Lösungen) entscheidende Rollen. Zuverlässigkeitsverfahren nach der Fehlerintoleranz-Strategie lassen sich in und Fehleroffenbarungsmaßnahmen und Fehlerabwehrmaßnahmen einteilen. Fehleroffenbarungsmaßnahmen sind einerseits sog. Reviews, d. h. Verfahren zur systematischen Durchsicht und Überprüfung der Anforderungsspezifikationen und des Software-Enturfs durch Fachleute, und andererseits Tests, d. h. die Anwendung von Testprogrammen zur Aufdeckung von Softwarefehlern [Habl98]. Zuverlässigkeitsmaßnahmen zur Fehlerabwehr sind der Einsatz von zertifizierten Entwicklungsprozessen, die Verwendung von formalen Methoden sowie Softwareentwicklungsumgebungen, die in der Anforderungsanalyse und im Entwurf statische und dynamische Prüfungen ermöglichen. Zuverlässigkeitsmaßnahmen werden heutzutage für die Software, die Hardware und die Mechanik weitgehend unabhängig voneinander durchgeführt. Um der immer größer werdenden Bedeutung des Softwareanteils für die Systemfunktionen gerecht zu werden, sind systemübergreifende Zuverlässigkeitsmaßnahmen erforderlich.

Die Entwicklung von Automatisierungssystemen mit Sicherheitsverantwortung wird heute von einem Sicherheitsnachweis begleitet, der von einer Aufsichts- oder Zulassungsbehörde abgenommen werden muss. Der Sicherheitsnachweis besteht aus einem Dokument, in welchem in nachprüfbarer Form gezeigt wird, dass vorgegebene sicherheitstechnische Anforderungen eingehalten werden. Dabei geht es um den Nachweis, dass das Risiko beim Betrieb eines Prozessautomatisierungssystems kleiner als das für den betreffenden Fall anzusetzende Grenzrisiko bleibt. Bei dieser Nachweisführung spielen neben der Verwendung spezieller Vorgehensmodelle und Testverfahren zur Vermeidung von sicherheitskritischen Fehlern, der Einsatz von Techniken der Sicherheitsanalyse und zunehmend auch der Einsatz formaler Methoden zum Nachweis der Korrektheit eine entscheidende Rolle. Für den erfolgreichen Sicherheitsnachweis ist es unabdingbar, den Forderungen der sicherheitsgerichteten Normen nachzukommen. Für eine effiziente Arbeitsweise ist es erforderlich, die unterschiedlichen Verfahren, die im Rahmen eines Sicherheitsnachweises anzuwenden sind, methodisch miteinander zu verbinden [Bits02].

Abbildung
Abbildung 2: Risiko- und Gefährdungsanalyse

Techniken der Sicherheitsanalyse (z. B. ETA – Entscheidungsbaumanalyse, FTA – Fehlerbaumanalyse, FMEA – Fehlermöglichkeits- und Einflussanalyse, PAAG – Prognose eines Ereignisses, das auftreten könnte, Auffinden der Ursache, Abschätzen der Auswirkungen, Gegenmaßnahmen) werden zur Durchführung von Risiko- und Gefährdungsanalysen eingesetzt (s. Abbildung 2). Die Risiko- und Gefährdungsanalyse auf der Systemebene ist notwendig, um die potentiellen Gefahren, ihre Auswirkungen und auch ihre Ursachen zu erkennen. Die Risikoanalyse wird vom Auftraggeber und die Gefährdungsanalyse vom Hersteller durchgeführt. Bei einer Risikoanalyse werden die betrieblichen Gefährdungen samt den Gefährdungsraten ermittelt, die in der Systementwicklung nicht überschritten werden dürfen. Ziel der Gefährdungsanalyse ist, zu zeigen, dass das nach der technischen Lösungskonzeption entwickelte System die zulässigen Gefährdungsraten nicht überschreitet [Bits02].

Bisherige Arbeiten am IAS

Seit mehr als 10 Jahren beschäftigt sich das IAS mit der Verwendung qualitativer Modelle in der Sicherheitsanalyse von Automatisierungssystemen. Die Modellierungsverfahren SQMA (Situationsbasierte Qualitatives Modellbildung und Analyse) [Bieg97, Fröh97, Lauf97] und SQMD (Situation-based Qualitative Monitoring and Diagnosis) [Manz00] sind Ergebnisse der kontinuierlichen Entwicklung in diesem Bereich. Wichtige Merkmale dieser Techniken sind die Modellierung von Situationen, in denen etwas von zentraler Relevanz für das System passiert, die hierarchische Strukturierung und die Komponentenorientierung. Auf Basis dieser Eigenschaften wird die einfach Modellierung eines realen Systems, die Automatisierung des Modellierungsverfahrens und die Wiederverwendung der vorhandenen Komponenten ermöglicht.

Abbildung
Abbildung 3: Verwendung formaler Methoden zur Korrektheitsprüfung

Durch den Einsatz formaler Methoden kann die Korrektheit von System-, Entwurfs- und Implementierungsmodellen gegenüber Sicherheitsanforderungen geprüft und verifiziert werden (s. Abbildung 3). Formale Methoden dienen zur Spezifikation und Analyse Computer-basierter Systeme (Hardware und Software), die auf Ideen der mathematischen oder formalen Logik basieren. Für die Nutzung formaler Methoden ist es erforderlich, strukturiert vorzugehen und das Vorgehen an den Randbedingungen der Anwendungsdomäne auszurichten. Dies wurde in den vergangenen Jahren am IAS in verschiedenen Forschungsthemen bereits bearbeitet [Moik02, Gunz03]. Für eine effiziente Arbeitsweise bei der Entwicklung sicherheitsgerichteter Systeme sollten diese Methoden ebenso die Durchführung von Risiko- und Gefährdungsanalysen erleichtern.

Für den Einsatz von formalen Methoden sind jedoch die Aspekte Anwenderfreundlichkeit, Erlernbarkeit, Handhabbarkeit und Nachvollziehbarkeit unerlässlich, damit diese Methoden von Ingenieuren verwendet werden können [BiGu99, Göhn95]. Deshalb ist die Bereitstellung von Techniken und Methoden erforderlich, welche die Erstellung präziser Modelle sowie den dazugehörigen Anforderungen in den einzelnen Entwicklungsphasen und die Durchführung von Korrektheitsnachweisen unterstützen [Bits02, Moik02].

Abbildung
Abbildung 4: Testen als Prüfverfahren zum Aufdecken von Fehlern

Für verlässliche Systeme aller Art stellt nach wie vor das Testen eine der wichtigsten Qualitätsmaßnahmen zur Software- und Systemprüfung dar. Am IAS werden auf diesem Gebiet bereits seit vielen Jahren Forschungsthemen bearbeitet [Bels97, Flei03]. Beim Testen wird anhand von Stichproben die Anwesenheit von Fehlern im System überprüft. Dabei werden im sog. Testentwurf wirksame Testfälle ermittelt (s. Abbildung 4), welche möglichst viele Fehler aufdecken sollen, durch deren Korrektur die Softwarequalität gesteigert werden kann. Dazu finden geeignete Methoden Anwendung, welche schlussendlich auf Erfahrung und Kenntnis über fehlerträchtige Aspekte [ApLu99] basieren und Testfälle entweder aus der Implementierung, d. h. dem Programm, oder der entsprechenden Spezifikation, ableiten. Eine aktuelle Frage in Bezug auf die Durchführung von Tests ist zum einen, wie der Aufwand für das Testen und damit die Kosten für das Testen gering gehalten werden können. Weiterer Forschungsbedarf ist bezüglich der Nachweisbarkeit von Qualität und Wirksamkeit durchgeführter Tests vorhanden.

Die genaue, angemessene und rechzeitige Fehlerüberwachung für verlässliche Systeme ist zusammen mit der Beobachtung und der frühzeitigen Erkennung fehlerhaften Verhaltens im technischen Prozess von großem Wert. Dies wird normalerweise mit modellbasierten Lösungen erreicht, durch die versucht wird, eine präzise Beschreibung von einer technischen Anlage oder ihrem Verhalten zu reproduzieren. Die meisten technischen Systeme sind jedoch zu komplex, um von mathematischen Modellen wirksam beschrieben werden zu können. Deswegen sind neue Modellierungsmethoden erforderlich.

Literatur

[ApLu99] Appelrath, H.; Ludewig, J.: Skriptum Informatik - eine konventionelle Einführung. B.G. Teubner, 1999.
[BeBe99] Bergmann, J.; Bender, K.: Funktionsprüfung eingebetteter Systeme der dezentralen Automatisierungstechnik. at 7/99, S. 320ff, 1999.
[Bels97] Belschner, R.: Ein Verfahren zur simulationsbasierten Analyse von verteilten Prozessautomatisierungssystemen in der Spezifikationsphase. Dissertation, Universität Stuttgart, 1997.
[Bieg97] Biegert, U.: Prozessüberwachung auf der Basis von qualitativen Modellen. ASIM Jahrestagung, 1997.
[Bits02] Bitsch, F.: Process Model for the Development of System Requirements Specifications for Railway Systems. In: Workshop on Software specification of safety relevant transportation control tasks 2002 (E. Schnieder, Hrsg.), Fortschritt-Berichte VDI Reihe 12, Nr. 535, VDI Verlag GmbH, Düsseldorf, 2003, S. 75-90.
[BiGu99] Bitsch, F. und Gunzert, M.: Formale Verifikation von Softwarespezifikationen in ASCET-SD und Matlab. Fachtagung "Verteilte Automatisierung", Magdeburg, 2000.
[Flei03] Fleisch, W.: Validierung komponentenbasierter Software für Echtzeitsysteme. Dissertation IAS, Universität Stuttgart, In: Forschungsbericht Institut für Automatisierungs- und Softwaretechnik (Prof. Dr.-Ing. Dr. h . c. P. Göhner, Hrsg.), Shaker Verlag Aachen, erscheint 2003.
[Frö97] Fröhlich, P.: Überwachung verfahrenstechnischer Prozesse unter Verwendung eines qualitativen Modellierungsverfahren. Dissertation, Institute für Automatisierungs- und Softwaretechnik, 1997.
[Göhn95] Göhner, P.: Spezifikation und Verifikation von sicheren Softwaresystemen,
atp, 4/1995, S. 24-31.
[Gunz03] Gunzert, M.: Komponentenbasierte Softwareentwicklung für sicherheitskritische eingebettete Systeme. Dissertation IAS, Universität Stuttgart, In: Forschungsbericht Institut für Automatisierungs- und Softwaretechnik (Prof. Dr.-Ing. Dr. h . c. P. Göhner, Hrsg.), Shaker Verlag Aachen, erscheint 2003.
[Habl98] Hablawetz, D.: Application Software und Systemsicherheit in speicherprogrammierbaren Systemen. at Automatisierungstechnik 46 (1998) Heft 2, S. 84-92.
[Lauf97] Laufenberg, X.: Ein modellbasiertes qualitatives Verfahren für die Gefahrenanalyse, Dissertation, Instittut für Automatisierungs- und Softwaretechnik, 1997.
[LbGö99] Lauber, R., Göhner, P.: Prozessautomatisierung. Bd. 1., 3. Aufl., 1999.
[Leve95] Leveson, N.: Safeware: system safety and computers. Adison-Wesley , 1995.
[Manz00] Manz, S.: Online-Prozessverfolgung auf der Basis hybrider Komponentenmodellel ASIM Jahrestagung, Hamburg, 2000.
[Moik02] Moik, A.: Ingenieurgerechte formale Methoden für die Entwicklung von sicheren Automatisierungssystemen. Dissertation IAS, Universität Stuttgart, In: Forschungsbericht Institut für Automatisierungs- und Softwaretechnik (Prof. Dr.-Ing. Dr. h . c. P. Göhner, Hrsg.), Band1/2002, Shaker Verlag Aachen.