Funktionale Sicherheit – Wie ermögliche ich diese und wer bestimmt die Einhaltung?
Zuverlässigkeit und Sicherheit sind Kriterien, die beim Kauf von komplexen technischen Produkten eine wesentliche Rolle spielen, seien es Geräte, Maschinen oder Anlagen. Deshalb sind auch immer mehr Embedded Systeme vom Thema Funktionale Sicherheit betroffen. Hersteller sind neben eigenen Qualitätsansprüchen auch aus Wettbewerbssicht gezwungen, eine möglichst hohe Systemzuverlässigkeit zu ermöglichen und die Regeln der Funktionalen Sicherheit bereits in der Entwicklungsphase anzuwenden.
Wodurch aber lassen sich Zuverlässigkeit und Sicherheit eines Systems technisch garantieren?
Hierfür arbeitet man häufig mit Fallbeispielen und Tests. Die heutige Tendenz, dass Systeme immer komplexeren Anforderungen entsprechen müssen führt dazu, dass auch immer mehr Software-Komponenten eingesetzt wird, die dann für Embedded-Systeme funktionsentscheidend sind und miteinander funktionieren müssen. Deshalb wächst die Bedeutung des Bereichs Softwaretesting enorm und eine Vielzahl an qualifizierten Testverfahren, die eine Funktionalität garantieren, müssen umgesetzt werden. In dieser Phase der Entwicklung kann häufig nur mit fallweisen Beurteilungen und Systemanalysen, Wahrscheinlichkeiten bzw. deren annähernden Berechnungsmethoden gearbeitet werden.
Ermöglicht dies allein die gewünschte Sicherheit? Gewiss nicht...
Regeln, die solche Testverfahren begleiten, umfassen Vorgehensweisen, Rollen, Dokumentation und Vorgaben für beides: die Implementierung sowie die Tests. Diese Regeln basieren auf Erfahrungen. Üblicherweise werden diese Regeln als V-Modell dargestellt. Sie bieten eine gute Basis.
Aber welche Standards müssen beachtet werden, um der Funktionalen Sicherheit gerecht zu werden?
Die IEC 61508 ist eine internationale Norm zur Entwicklung von elektrischen, elektronischen und programmierbaren elektronischen (E/E/PE) Systemen, die eine Sicherheitsfunktion ausführen. Sie wird von der International Electrotechnical Commission (IEC) herausgegeben. Sie ist eine Norm, die aus sieben Teilen besteht. Sie wurde bereits 2001 als DIN-Norm übernommen. Aus ihr wurden verschiedene bereichsbezogene Normen abgeleitet; die neueste ist die ISO 26262.
Die Einhaltung dieser Norm ist der erste Schritt zur Gewährleistung der Systemsicherheit.
Eine zweite ist die Einstufung des Systems und die Prüfung des Sicherheits-Integritäts-Levels. Dieses wird mit Hilfe des Begriffs SIL (SIL = Safety Integrity Level) quantifiziert. Zur Bewertung des erreichten Safety Integrity Levels ist es nötig, sowohl systematische als auch zufällige Fehler zu betrachten und mit geeigneten Maßnahmen zu vermeiden, zu beherrschen oder wenigstens zu bewerten. Aus der SIL-Einstufung kann dann die erlaubte Fehlerrate abgeleitet werden.
Sind beide Schritte eingehalten, kann nachvollzogen und gelenkt werden, wie groß das Ausfallrisiko des Systems sein darf und wie man den Entwicklungsprozess lenken sollte. Fehler können immer wieder auftreten und im Zuge einer komplexen Systementwicklung, werden sie dies auch tun. Folgt man aber den Vorgaben der IEC 61508 und legt das Sicherheitslevel fest, kann man diese Fehler auf ein tolerables reduzieren.