Durch den Wandel von vorwiegend mechanischen Systemen hin zu immer mehr elektronischen Systemen entstehen zunehmend sicherheitsrelevante Themen, die schon vor der Entwicklung eines Systems betrachtet werden müssen um ein Fehlverhalten des Systems zu Vermeiden oder das Risiko davon zu minimieren. Wir möchten Ihnen in diesem Blogartikel einige Herausforderungen vorstellen, die es bei der Entwicklung von sicherheitskritischen Systemen zu beachten gilt.
Was bedeutet eigentlich der Begriff „Safety“?
In der deutschen Sprache gibt es leider keine Unterscheidung zwischen „Safety“ und „Security“, beide Begriffe werden mit Sicherheit übersetzt. Dabei gilt es allerdings zu unterscheiden: „Safety“ bezieht sich auf die Zuverlässigkeit eines Systems, speziell in Bezug auf dessen Ablauf- und Ausfallsicherheit. „Security“ hingegen bezeichnet den Schutz eines Systems vor beabsichtigen Angriffen wie z.B. durch Hacker. Allerdings sind die beiden Begriffe nicht völlig unabhängig voneinander, denn „Safety“ schließt auch „Security“ mit ein.
Warum sind Safety-Anforderungen überhaupt notwendig?
Nehmen wir zur Erläuterung ein aktuelles Personenkraftfahrzeug mit automatischem Schaltgetriebe. Auf den ersten Blick sieht es so aus als hätte der Fahrer die volle Kontrolle über das Fahrzeug. Er bedient den Schalthebel, steuert somit das Getriebe und das Fahrzeug wird auf sein Kommando hin bewegt. Doch hält diese Aussage auch einer genaueren Betrachtung stand? Nein, denn zwischen dem Getriebe und dem Schalthebel befindet sich meist noch eine oder mehrere elektronische Kontrolleinheit-/en (engl. ECU = Electronic Control Unit), die im Falle eines Ausfalls des Systems die Kontrolle übernimmt und Entscheidungen trifft und somit – bei einer Fehlfunktion – im Stande wäre sehr gefährliche Situationen herbeizuführen. Um genau solche Situationen zu vermeiden und das Risiko zu minimieren, ist es notwendig diese Ausfallsituationen schon im Voraus zu Betrachten und das entgegenwirkende Systemverhalten in Form von Anforderungen zu dokumentieren.
Damit überhaupt Anforderungen entstehen können die Ausfallsituationen vorbeugen oder das Risiko vermindern, ist es notwendig eine Gefahren- und Risikoanalyse (HARA = Hazard And Risk Analysis) durchzuführen. Der erste Schritt einer solchen Analyse ist es, Gefährdungen durch das System unter Berücksichtigung der Betriebssituationen des Systems zu identifizieren. Anschließend werden die identifizierten Gefahren anhand des Schweregrads, der Wahrscheinlichkeit des Auftretens und der Kontrollierbarkeit bewertet. Daraus ermittelt man wiederrum den „Safety Integrity Level (SIL)“ des jeweiligen Risikos. Der SIL dient also zur Beurteilung der Zuverlässigkeit Elektrisch/Elektronischer-Systeme (E/E-Systeme) im Hinblick auf sicherheitsrelevante Funktionen. Anhand dieses SIL werden im Anschluss daran Sicherheitsziele (sog. Safety Goals) definiert, um aus diesen wiederrum Safety-Anforderungen abzuleiten. Dabei gilt es, den gesamten Safety-Engineering-Prozess in den Gesamtentwicklungsprozess des Systems mit einzubinden.
Die Gefahren- und Risikoanalyse wird oftmals von speziell ausgebildeten Safety-Ingenieuren durchgeführt, welche Kenntnisse in den Bereichen der zu entwickelnden Technologie (Soft- und Hardware) und der einzuhaltenden Normen z.B. ISO 26262 oder IEC 61508 mitbringen sollten. Den Überblick hierbei zu behalten ist nicht einfach, denn heutige Systeme sind oftmals sehr stark vernetzt d.h. Funktionen erstrecken sich über viele elektronische Komponenten, unterscheiden sich durch die Variantenvielfalt des Systems oder ändern sich vollständig durch neu entwickelte Innovationen. Durch die dadurch steigende Komplexität von Systemen, können Safety-Anforderungen oftmals nicht mehr eindeutig oder widerspruchsfrei in natürlicher Sprache beschrieben werden und erfordern eine Beschreibung durch andere Notationen wie der SysML
Zusätzlich fordern Normen oder Gesetze eine durchgängige Traceability zwischen den einzelnen Entwicklungsartefakten. Traceability ist die Verfolgbarkeit und damit die Nachvollziehbarkeit von Projektinformationen und Entwicklungsschritten. Um diese Nachvollziehbarkeit zu gewährleisten, müssen bestimmte Artefakte wie einzelne Anforderungen über verschiedene Detaillierungsebenen, Designelemente oder Testfälle miteinander verknüpft werden. Eine Verbindung zwischen den einzelnen Artefakten herzustellen ist mit einem hohen Zeitaufwand verbunden und sollte schon von vornherein mit eingeplant werden.
Bedenken Sie außerdem, dass Sie Ihr System einem Safety-Assessment unterziehen müssen. Im Fokus dieser Sicherheitsbewertung liegt z.B. die Qualität der Umsetzung und das technische Konzept zum Erreichen der Sicherheitsziele. Der Assessor stellt Ihnen zu den genannten Punkten Fragen, bereiten Sie sich also ausreichend vor, denn gute Argumentation ist der Schlüssel zum Erfolg. Desweiteren werden alle durch Normen oder Gesetze geforderten Dokumente einem Review unterzogen.
Damit sind wir auch schon am Ende dieses Artikels angekommen. Wir konnten Ihnen hoffentlich einen groben Einblick, über die Herausforderungen die es bei der Entwicklung sicherheitskritischer Systeme zu bewältigen gilt, geben. Bedenken Sie in Zukunft also den Leitsatz „Safety First“, denn Schäden an Mensch und Umwelt gilt es zu vermeiden.
Viele Grüße,
Ihre SOPHISTen
Teil 1: Herausforderungen in Systems-Engineering-Projekten
Teil 2: Herausforderungen in Systems-Engineering-Projekten –Architektur und Kontextabgrenzung
Teil 3: Herausforderungen in Systems-Engineering-Projekten – Dokumentation von Systemarchitektur
Teil 4: Herausforderungen in Systems-Engineering-Projekten – nicht-funktionale Anforderungen
Bildquelle:
Titel: Student Driver
Quelle: iStockphoto
Autor: Tillsonburg