Sicherheit geht vor: Alles unter Kontrolle
Jeden Tag verlassen wir uns auf unzählige komplexe Systeme, ohne darüber nachzudenken, wie sie funktionieren. Von kleinen Handlungen wie dem Betätigen eines Lichtschalters bis hin zu grösseren Entscheidungen wie dem Aufgeben von Bestellungen bei Online-Händlern oder sogar dem Antritt eines Fluges – wir überlegen uns in der Regel, was wir brauchen, aber nicht, was schiefgehen könnte. Wir gehen einfach davon aus, dass das Flugzeug, in das wir einsteigen, nicht abstürzt, dass das Licht funktioniert, und dass die für den nächsten Tag zur Lieferung markierten Artikel tatsächlich am nächsten Tag ankommen. Wenn diese Ereignisse jedoch nicht eintreten, können die Folgen von einer leichten Unannehmlichkeit (verspätetes Paket) bis hin zu einer Katastrophe (Flugzeugabsturz) reichen.
Diese Erwartungen können als unser Konzept von Sicherheit beschrieben werden. Wenn die Erwartungen erfüllt werden, sind wir sicher; wenn sie verletzt werden, ist das System unsicher geworden. Sicherheit ist in diesem Sinne ein Mass für das Vertrauen in die Fähigkeit eines Geräts oder Systems, das zu tun, was wir von ihm erwarten; sie kann psychologische oder umweltbezogene Sicherheit umfassen, nicht nur physische. Lassen Sie uns anschauen, wie Ingenieure Sicherheit definieren (und gewährleisten) und wie wir verschiedene Arten von Einschränkungen ausgleichen. In einem zweiten Blogbeitrag werden wir näher auf die technischen Aspekte von Sicherheit in der Automatisierung eingehen.
Was ist Sicherheit?
Für Systementwicklerinnen und -betreiber muss Sicherheit auf allen Ebenen berücksichtigt werden: vom Konzept bis zur Umsetzung und dem Betrieb, einschliesslich Fehlererkennung und -behebung (und Notfallmassnahmen). Es handelt sich nicht nur um ein technisches, sondern auch um ein betriebliches Problem, aber Regelungstechnikerinnen sind bei der Erstellung von Sicherheitssystemen in jeder Phase von entscheidender Bedeutung.
Es gibt viele Aspekte zu berücksichtigen. Im Zusammenhang mit Flugreisen sollte das Flugzeug am Zielort landen, pünktlich ankommen, alle Reisenden und das gesamte Gepäck ausladen, in der Luft einen vernünftigen Abstand zu anderen Objekten (Boden, Türme und andere Flugzeuge) einhalten, die strukturelle Integrität beibehalten, einen akzeptablen Treibstoffstand aufrechterhalten, den Passagieren während der gesamten Reise Komfort bieten (in Bezug auf Temperatur, Druck und Sauerstoffgehalt), die Software zuverlässig und vorhersehbar ausführen und für den nächsten Flug in gutem Betriebszustand sein.
Einige dieser Anforderungen sind eindeutig wichtiger als andere. Wenn die Temperatur im Flugzeug etwas zu niedrig ist, kann es den Reisenden zwar unangenehm, aber nicht gefährlich werden; dasselbe gilt nicht für einen vollständigen Druckabfall oder einen Flugzeugabsturz. Ebenso ist das Erreichen der Destination das Ziel, aber in einer Notsituation (z. B. bei einem Triebwerksschaden) sollte das Flugzeug lieber so schnell wie möglich sicher landen, egal wo, um Reparaturen zu ermöglichen.
Es gibt also eine Hierarchie von Sicherheitsvorgaben, insbesondere bei unausweichlichen Problemen. Wenn das Flugzeug mit Sicherheit abstürzt, sollte dies so geschehen, dass die Zahl der Opfer und der Schaden so gering wie möglich sind – beispielsweise durch einen Absturz über Wasser statt einer dicht besiedelten Stadt. Je nach Anwendung können Prioritäten von vielen verschiedenen Interessengruppen festgelegt werden: Normungsgremien, (zwischen-)staatliche Behörden, Unternehmen, Forschenden, Ingenieurinnen und Nutzern (einschliesslich Ihnen).
Und darüber hinaus müssen Sicherheitsspezifikationen mit Stabilität in Einklang gebracht werden: das (erwünschte) Verhalten des Systems, zu einem vorgegebenen Betriebspunkt, -muster oder -bereich zurückzukehren. Sicherheit und Stabilität sind komplementäre Prinzipien und beeinflussen sich gegenseitig. Bei einem Flugzeug könnte Stabilität beispielsweise bedeuten, nach einer Störung auf eine nominelle Flugbahn zurückzukehren, während Sicherheit bedeuten würde, dabei nicht abzustürzen oder ins Trudeln zu geraten.
Was ist ein sicherer Bereich?
Bei der Beurteilung, ob ein System sicher ist, beginnen wir mit der Definition sicherer Bereiche – obwohl diese, wie wir sehen werden, mehr als nur geografische Dimensionen haben.
Nehmen wir ein neues Beispiel: den Strassenverkehr. Für ein Auto, das auf einer Strasse fährt, ist der sichere Bereich (im Sinne der Position) der Teil der Strasse, der nicht von anderen Verkehrsteilnehmern (einschliesslich Fussgängern und Radfahrern sowie Fahrzeugen) belegt ist, während das Auto die Verkehrsregeln (Vorfahrt, Ampeln, Seitenstreifen usw.) beachtet. Alles andere ist der unsichere Bereich. Dazu gehören Situationen, in denen das Auto mit anderen Autos (ups – das ist eine Kollision) oder vielleicht mit einem Gebäude (Crash!) in Berührung kommt. Aber natürlich sagt die Position allein nicht alles über die Sicherheit aus. Wir müssen auch Geschwindigkeiten und andere Zustände berücksichtigen.
Stellen Sie sich ein Auto vor, das auf Kollisionskurs mit einer Mauer ist. Wenn man nur die Position betrachtet, könnte man sagen, dass sich die Insassen des Autos in einem sicheren Bereich befinden – schliesslich sind sie noch nicht gegen das Gebäude gekracht. Aber wenn das Auto schnell genug fährt, sodass selbst starkes Bremsen eine Kollision nicht verhindern würde, ist es bereits unsicher. Bei der Entwicklung von Regelsystemen für autonome Fahrzeuge muss der unsichere Bereich so definiert werden, dass er die anfängliche Position und die Geschwindigkeit des Fahrzeugs sowie die Wirksamkeit seiner Bremsen berücksichtigt. Darüber hinaus hängen Sicherheitsspezifikationen oft von der Zeit und der Reihenfolge der Aufgaben ab. Ein Elektroauto muss ausreichend aufgeladen, von der Ladestation getrennt und dann gefahren werden: Wenn das Auto während des Fahrtantritts an die Ladestation angeschlossen bleibt, führt dies in der Regel zum Bruch des Kabels oder des Ladegeräts.
Mit anderen Worten: Es reicht nicht aus, dem Auto zu sagen: „Bremse nicht bis zum Stillstand ab“. Die Regelungstechnik muss diese allgemeine Spezifikation (Vermeidung des unsicheren Bereichs!) in umsetzbare Aufgaben mit richtig geordneten Prioritäten umwandeln. Menschliche Fahrer arbeiten nach einer unausgesprochenen, aber allgemein verständlichen Reihe von Anweisungen: „Fahre mit einer sicheren Geschwindigkeit zu deinem Ziel, halte dabei einen sicheren Kraftstoff- oder Ladezustand aufrecht, beachte alle Verkehrsregeln und weiche anderen Verkehrsteilnehmenden aus, auch wenn diese sich nicht an die Verkehrsregeln halten.“ Sie folgen wahrscheinlich auch einem sekundären, weniger häufig benötigten Verständnis: „Wenn du nicht sicher bleiben kannst, dann füge dir selbst, deinen Mitreisenden und anderen Verkehrsteilnehmenden den geringsten Schaden zu. Nimm vor allem auf die schwächsten Verkehrsteilnehmenden Rücksicht.“ Ingenieure müssen all das irgendwie in Code umsetzen ... und die Definition der unscharfen Teile dieser Anleitung, wie z. B. Verwundbarkeit, kann den Rahmen der Technik allein sprengen.
Der Kern der Fahrzeugprogrammierung kann als eine Aufgabe des Typs ‚Erreichen-Vermeiden‘ (Reach-Avoid auf Englisch) ausgedrückt werden: (IMMER NICHT im unsicheren Satz) UND (SCHLUSSENDLICH im Zielsatz). Reach-avoid-Aufgaben finden Anwendung in der Routenplanung: Ein Lagerroboter sollte beispielsweise ankommen und sein Paket in der Ladezone abstellen, während er Kollisionen mit Regalen und anderen Robotern vermeidet. Die Fahrzeugnavigation ist nur eine Teilmenge dieser Art der Routenplanung.
Dann kann die Zeit- und Aufgabenabhängigkeit in Form einer temporalen Logik ausgedrückt werden, die sich aus den logischen Standardoperationen (NICHT, UND, ODER) und zeitgesteuerten Operationen (IMMER, BIS, EVENTUELL) zusammensetzt. Zeitlogik kann verwendet werden, um Spezifikationen für Systeme zu erstellen, einschliesslich solcher, die mehrere Agenten umfassen, wie z. B. ein Drohnenschwarm in einer Lichtshow. Aber wie Sie sich vorstellen können, wird es mit zunehmender Grösse und Komplexität der Systeme immer schwieriger, zeitlogische Spezifikationen zu überprüfen und einzuhalten. Und die anderen Faktoren, die mit Sicherheit zu tun haben – von der Geschwindigkeit bis zu Notfallmassnahmen – erfordern eine immer komplexere Logik.
Es gibt formale Methoden, mit denen überprüft werden kann, ob die Sicherheitsspezifikationen erfüllt werden. Bei der Erreichbarkeitsanalyse werden beispielsweise alle möglichen erreichbaren Zustände untersucht (oder angenähert), um sicherzustellen, dass der unsichere Bereich nie betreten wird. Software-Steuerungen in Autos und Flugzeugen (und anderen Anwendungen) werden streng geprüft, um sicherzustellen, dass das Programm in jedem möglichen Szenario gemäss den logischen Spezifikationen ausgeführt wird. Die Kontrollgesetze enthalten auch Anweisungen, wie Sicherheitsspezifikationen in unvermeidbaren Situationen ausbalanciert werden können, da nicht alle Verstösse gegen Sicherheitsspezifikationen gleich sind. (Es ist erwähnenswert, dass ein Sicherheitszertifikat für die Software allein natürlich keine Sicherheit für das gesamte System garantiert. Ein zertifizierter korrekter Regelungsalgorithmus für ein Flugzeug kann immer noch zum Absturz des Flugzeugs führen, wenn einige Schrauben oder Befestigungselemente fehlen.)
Es ist schlimm, aber ist es tödlich?
Gehen wir zurück zum Beispiel mit dem Flugzeug und betrachten zwei mögliche Ereignisse: eine Kollision mit einem Berg oder eine halbe Stunde Verspätung bei der Ankunft am Zielort. Beide stellen Verstösse gegen die Sicherheitsspezifikationen dar, sind aber in ihrer Schwere kaum vergleichbar.
Sicherheitsverstösse können in zwei grundlegende Kategorien unterteilt werden: tödlich und nicht tödlich. „Tödlich“ bezieht sich hier auf die Beendigung des Systems, nicht unbedingt auf das menschliche Leben – es stoppt sofort die weitere Ausführung des Systems. Fatale Sicherheitsverletzungen sollten unter allen Umständen vermieden werden, während nicht fatale Verletzungen zwar akzeptabel, aber nicht wünschenswert sind. Für das Flugzeug ist der Absturz eine fatale Sicherheitsverletzung, während eine verspätete Ankunft nicht fatal ist.
Weitere Beispiele für fatale Sicherheitsverletzungen sind ein Stromausfall, oder das Überfahren eines Fussgängers durch ein Auto. Sie sind mit schwerwiegenden Strafen verbunden (ob Verlust der menschlichen Gesundheit, schwere finanzielle Schäden oder andere Folgen) und sollten unter allen Umständen vermieden werden.
Nicht tödliche Sicherheitsverletzungen können kostspielig sein, verhindern jedoch nicht, dass das System weiter funktioniert. Kontrollrichtlinien können Einschränkungen zulassen, z. B. dass die Lufttemperatur über die festgelegten Komfortgrenzen hinausgeht.
Es wird komplizierter. Aktuelle Einschränkungen im Stromnetz führen zu einer Kombination aus tödlichen und nicht tödlichen Sicherheitsverletzungen. Ein Turbinenmotor (z. B. ein Gasgenerator) könnte in kurzen Intervallen das 5- bis 10-fache seines sicherheitsbewerteten Stroms abgeben, ohne dass dies zu einer Gefahr wird. Wenn dieser Überstrom jedoch länger anhält, kann dies dazu führen, dass der Motor kaputt geht oder eine Stromleitung durchhängt und möglicherweise schmilzt. Diese Komponenten haben “tödliche” Sicherheitsbeschränkungen in Bezug auf Hitze und physische Belastung. Diese Einschränkungen können als nicht-tödliche Sicherheitsverletzungen in Bezug auf Stromstärke abstrahiert werden, was einen Regler dazu anregt, in den sicheren Bereich zurückzukehren und Wärme abzuführen/Spannungen zu reduzieren.
Mit dem Übergang zu erneuerbaren Energiequellen kommen mehr “tödliche” Sicherheitsbeschränkungen ins Spiel. Solarenergie wird in der Regel in Gleichstrom erzeugt und muss durch ein leistungselektronisches Gerät, einen sogenannten Wechselrichter, in Wechselstrom umgewandelt werden. Wechselrichter haben eine tödliche Sicherheitsbeschränkung in Bezug auf ihre Strombegrenzung: Überstrom könnte die Schaltungskomponenten zum Schmelzen bringen. Ingenieurinnen, die in Stromsystemen und Leistungselektronik arbeiten, arbeiten an Methoden, um das Netz unter den strengen Strombegrenzungen, die von Wechselrichtern gefordert werden, sicher und stabil zu halten.
Wie sicher sind wir?
Ein sicheres Ergebnis, also ein glückliches Ende, ist in manchen Fällen nicht gut genug: Wenn zwei Flugzeuge, die in entgegengesetzte Richtungen fliegen, aneinander vorbeifliegen, ohne zusammenzustossen, spielt es durchaus eine Rolle, ob sie einander um 30 km oder 10 cm verfehlen. Die Leute an Bord jedenfalls würden diese beiden Situationen sehr unterschiedlich empfinden!
Deshalb sprechen wir von der quantitativen Bestimmung der Sicherheit. Mögliche quantitative Bestimmungsgrössen könnten die minimale Entfernung, die minimale Störung, die einen Absturz verursachen könnte, die Wahrscheinlichkeit eines Absturzes im schlimmsten Fall, die minimale Datenkorruption, die ein datenkonsistentes Modell des Systems zum Absturz bringen könnte, oder das Mittel/Quantil/Risiko dieser Entfernung (oder einer anderen Grösse) unter Unsicherheit sein.
Massstäbe für spezifische Anwendungen könnten die Höchstgeschwindigkeit eines Flugzeugs, die Höhe einer Drohne, die Konzentration einer giftigen Substanz im Wasser oder die Anzahl der Infizierten während einer Pandemie sein. In jedem Kontext kann es manchmal sinnvoll sein, den Maximalwert zu senken, anstatt nur sicherzustellen, dass der Grenzwert nicht überschritten wird. Mit anderen Worten: Es reicht nicht aus, das andere Flugzeug am Himmel nur knapp zu verfehlen. Man braucht einen ausreichend grossen Sicherheitsabstand.
All dies sollte Ihnen ein gutes Verständnis dafür vermitteln, was Sicherheit in der Regelungstechnik bedeutet und wie Ingenieure die Logik formulieren müssen, um wichtige Einschränkungen für ein automatisiertes System bereitzustellen. Wenn Sie daran interessiert sind, wie verschiedene Arten von Regelungen diese Einschränkungen umsetzen – und insbesondere, wie sie mit Unsicherheiten umgehen – werden wir darauf in einem zweiten, technischeren Blogbeitrag eingehen.