Für das Gesamtsystem muss der Entwickler sicherstellen, dass es die Sicherheitsanforderungen erfüllt. Keine Software-Komponente im System darf dem entgegenstehen. Für Software-Komponenten ohne sicherheitsrelevante Funktionen ist daher die Einhaltung der Rückwirkungsfreiheit die einzige Sicherheitsanforderung.
Die Rückwirkungsfreiheit von Software-Komponenten ist definiert durch drei Eigenschaften:
Die Rückwirkungsfreiheit einer Komponente lässt sich durch klassische Verifikationsmaßnahmen nachweisen, zum Beispiel durch Code Reviews. Es existieren auch Ansätze, die Rückwirkungsfreiheit der Basis-Software durch einen speziell entwickelten Code-Checker zu überprüfen. Um auch sicher gegen Hardware-bedingte Störungen zu sein, können weitere Maßnahmen in die Software aufgenommen werden.
Ein modernes AUTOSAR-Betriebssystem wie MICROSAR OS SafeContext (Bild 1) bietet den Schutz vor fehlerhaftem Überschreiben von Speicherinhalten. Hierzu werden die funktionalen Gruppen sogenannten Betriebssystem-Applikationen (OS Application) zugeordnet. Jede OS-Applikation bekommt eine eigene Speicherpartition zugeteilt. In einer solchen Speicherpartition liegen neben den Anwendungsdaten auch kontextrelevante Daten wie Stacks und die Inhalte wichtiger Register. Den Zugriff auf diese Speicherpartitionen schützt eine Memory Protection Unit (MPU), die Bestandteil der Mikroprozessor-Hardware ist.
Beim Wechsel der laufenden Task oder der Interrupt Service Routine führt das Betriebssystem einen Kontextwechsel durch. Dabei werden die Kontextdaten gesichert und die MPU so umkonfiguriert, dass sie nur noch die Speicherpartition für die nach dem Wechsel aktive Task oder die Interrupt Service Routine freigibt (Bild 2). Dieses Umschalten geschieht nur durch das Betriebssystem und ist sicherheitsrelevant. Daher wurde das AUTOSAR-Betriebssystem MICROSAR OS SafeContext nach ASIL D eingestuft und gemäß dem in der ISO 26262 definierten Prozess für ASIL D entwickelt.