PES Funktionale Sicherheit in verteilten Embedded-Systemen

Programmierbare elektronische Systeme bestehen mittlerweile aus mehreren autarken, jedoch miteinander verbundenen Komponenten, die gemeinsam sicherheitskritische Aufgaben erfüllen können. Problematisch kann dabei der Nachweis funktionaler Sicherheit in diesen verteilten Embedded-Systemen sein

Sicherheitskritische Embedded-Systeme werden für immer komplexere Aufgaben eingesetzt und lösen konventionelle Steuerungen ab. In vielen aktuellen Anwendungen besteht das „programmierbare elektronische System (PES)“ aus mehreren autarken Komponenten, die miteinander verbunden sind und gemeinsam eine sicherheitskritische Aufgabe erfüllen. Dabei können diese „programmierbaren elektronischen Komponenten (PE-Komponenten)“ Teilaufgaben zur Steuerung, Regelung und Überwachung eines Systems zur Verfügung stellen, die als verteilte Sicherheitsfunktionen im vernetzten PES agieren. Der Nachweis der funktionalen Sicherheit in derartigen verteilten PES (Bild 1) kann dabei sehr aufwendig werden und stellt besondere Herausforderungen, auf die im Folgenden kurz eingegangen wird.

Funktionale Sicherheit verteilter Funktionen

Damit verteilte Sicherheitsfunktionen ein definiertes Verhalten zeigen, müssen die beteiligten PE-Komponenten in einer bestimmten zeitlichen und logischen Folge interagieren. Prozesse müssen zeitliche Vorgaben einhalten (Echtzeit) und sich gegebenenfalls untereinander abgleichen, wodurch neue Fehlerquellen in Kommunikation und Synchronisation auf den PE-Komponenten entstehen. In verteilten Sicherheitsfunktionen muss die Sicherheitsintegrität über alle beteiligten PE-Komponenten hinweg gewährleistet werden.

In Bezug auf funktionale Sicherheit kann eine PE-Komponente in eine Systemschicht (für Hard- und Software) und in eine Applikationsschicht (nur Software) unterteilt werden (Bild 2). In der Systemschicht werden Fehler und Ausfälle (systematisch und zufällig) auf Bauteilebene inklusive aller Maßnahmen zur lokalen Sicherheitsintegrität behandelt. In der Applikationsschicht wird die Ausführung von Sicherheitsfunktionen aus Prozesssicht behandelt. Sicherheitsfunktionen können vollständig lokal auf einer PE-Komponente oder verteilt implementiert werden.

Die globale Sicherheitsintegrität („End-to-End“ über alle PE-Komponenten) einer verteilten Sicherheitsfunktion besteht aus dem

  • Vermeiden systematischer Fehler im Design, in der Realisierung und im Betrieb
  • Beherrschen systematischer Fehler während des Betriebs 

Eine oft gebräuchliche Möglichkeit zum Erreichen der erforderlichen Sicherheitsintegrität einer Funktion ist die Implementierung diversitärer Redundanz. In mehrkanaligen PES ist dafür oft ein separater Kanal vorgesehen, in dem die Sicherheitsfunktion von Anfang bis Ende (End-to-End) parallel ausgeführt oder überwacht wird, z.B. Timing-Anforderungen.

In verteilten Sicherheitsfunktionen wird ein redundanter Kanal über alle beteiligten PE-Komponenten benötigt, der exemplarisch durch das Safety-Agent- (SA) und Safety-Server-Prinzip (SSrv) (Bild 2) dargestellt werden kann. Sämtliche Funktionen dieses redundanten Kanals und der Datenaustausch sind sicherheitsrelevant. Kommunikationsseitig kann dabei ein logischer Kanal im gleichen physikalischen Medium ausreichen.