Forschung und Lehre

Safely Embedded Software im Auto

Seite: 2/2

Firmen zum Thema

Konzept des Safely Embedded Software

Die sicherheitskritische Funktion benötigt eine Sicherung der Daten und der Operationen. Es ist so möglich, zufällige Fehler sicher zu erkennen und geeignete Gegenmaßnahmen einzuleiten und somit die funktionale Sicherheit des Systems zu garantieren. Das Konzept geht davon aus, dass die sicherheitskritischen und -relevanten Funktionen korrekt erstellt wurden, und nur noch zufällige Fehler wie beispielsweise Bitfehler zu einer gefährlichen Fehlreaktion des Steuergerätes (ECU) führen können. Die dieser Absicherung zugrunde liegende Idee wird Vital Coded Monoprocessor oder Coded Processing genannt.

Safely Embedded Software (SES) realisiert Diversität der Daten mit einem AN+B-Code. Das Verfahren benutzt die Transformationsvorschrift xc := xf * A + Bx + D des Vital Coded Monoprocessors, wobei die Variable xf des Originalraumes in die entsprechende Variable xc des Bildraumes unter Benutzung einer statischen Signatur Bx für jede Variable und einer dynamischen Signatur D für jeden Taskzyklus codiert wird. Zusätzlich wird ein lokales und globales Programmfluss-Monitoring unter Verwendung der codierten Daten eingesetzt. In Abbildung 1 findet sich die vereinfachte Codierung für xc := xf * A.

Bildergalerie
Bildergalerie mit 6 Bildern

Die Primzahl A bestimmt wichtige Safety-Charakteristiken, wie den Hammingabstand und die Restfehlerwahrscheinlichkeit P=1/A des Codes. Die statische Signatur garantiert die Korrektheit der Speicheradresse der benutzten Variablen. Die dynamische Signatur kann mit einem Clock-Zähler oder direkt durch den Task-Scheduler ermittelt werden. Die Anweisungen werden derart codiert, dass am Ende eines jeden Taskzyklus, zum Beispiel bevor eine Ausgabe an einen Aktuator erfolgt, ein Komparator die Ergebnisse des diversitären Berechnungskanals zc == zf * A + Bx + D? überprüft. Alternativ kann der codierte Berechnungskanal direkt mit der Modulofunktion überprüft werden: (zc-Bx-D) mod A ==0? Damit können verfälschte Daten erkannt werden.

Die Addition ist die einfachste der vier grundlegenden arithmetischen Operationen. Folgender Zusammenhang ergibt sich nach Anwendung der Transformationsvorschrift für die Additionsoperation im Bildraum:

Die verbleibenden arithmetischen Operatoren werden ähnlich errechnet.

Auch die logischen Operatoren erhalten im Bildraum eine komplexere Struktur. Beispielsweise wird für den Grösser-Gleich-Operator Geqzc (xc) folgende Darstellung [6] gefunden:

(1) IF xc umodA = Bx + D THEN xf _ 0.

(2) ELSE IF xc umodA = (Bx + D + (2n mod A)) mod A THEN xf ‹ 0.

(3) ELSE xc is not a valid code word.

(ID:290861)