Warum ich ISO 26262 ziemlich gut finde
Foto von Maxim Hopman auf Unsplash

Ich schreibe dies im Flugzeug auf dem Weg nach Uganda :)

In letzter Zeit wird viel über Safety in der Automobilwelt diskutiert, und ISO 26262 steht oft im Kreuzfeuer. Manche argumentieren, es sei übertrieben, zu bürokratisch oder verlangsame die Innovation. Als jemand mit besonderem Interesse an formaler Systemmodellierung, der tief in den Praktiken der Softwarequalifizierung bei Apex.AI steckte und das Security-, Quality- und Safety-Team leitete, habe ich eine etwas andere Perspektive.

Hier ist meine Meinung, warum ISO 26262 mit all seiner Strenge eigentlich eine gute Sache ist, besonders für diejenigen von uns, die mit Firmware, Betriebssystemen und Hypervisoren auf ARM-Architekturen ringen.

Und Spoiler-Alarm:

Es ist nicht der Standard selbst, der das Problem ist, es ist, wie Sie Ihre Software architekturieren.

Dekomposition und Freedom From Interference: Zurück zu den Grundlagen

Eines der fundamentalen Prinzipien beim Engineering sicherer Systeme ist die Dekomposition. Wir zerlegen komplexe Systeme in kleinere, besser handhabbare Komponenten. Aber hier ist der Haken: Diese Komponenten müssen unabhängig sein. Fehler in einer sollten nicht auf andere übertragen werden. Hier kommt Freedom from Interference (FFI) ins Spiel.

Denken Sie an den tragischen Einsturz der Brücke im Hafen von Baltimore. Der Schaden an einem Pfeiler brachte die gesamte Struktur zum Einsturz. Das ist ein Mangel an FFI mit verheerenden Folgen.

In Software ist das Erreichen von FFI knifflig. Es erfordert oft die Nutzung von Hardware-Mechanismen wie Memory Protection Units (MPUs) und I/O MMUs. Ein vertrauenswürdiges OS oder ein Hypervisor spielt eine entscheidende Rolle bei der Verwaltung dieser Hardware-Ressourcen und der Durchsetzung der Isolation zwischen Softwarekomponenten.

ISO 26262 und die Schönheit der Komponierbarkeit

Hier glänzt ISO 26262. Es fördert einen strukturierten Ansatz zur Softwareentwicklung, der sich an diesen Prinzipien der Dekomposition und FFI orientiert. Durch die Forderung nach rigoroser Qualifizierung für sicherheitskritische Komponenten zwingt es uns, sorgfältig darüber nachzudenken, wie wir unsere Software architekturieren und Hardware-Isolationsmechanismen nutzen.

Ja, es kann anspruchsvoll sein. Aber hier ist der Gewinn:

  • Reduziertes Risiko: FFI minimiert das Risiko, dass sich Fehler durch das System ausbreiten.
  • Aufwandsreduzierung: Nur sicherheitskritische Komponenten erfordern die volle ISO 26262-Behandlung.
  • Erhöhtes Vertrauen: Eine gut definierte Architektur mit starker Isolation bietet größeres Vertrauen in die Sicherheit des Systems.

Es geht um die Architektur, Dummkopf!

Das Problem ist nicht ISO 26262. Es ist, einen monolithischen Software-Blob in einen einzigen Adressraum zu quetschen und dann zu versuchen, ihn in ein sicherheitskritisches System zu zwängen. Das ist, als würde man eine Brücke mit einem einzigen, massiven Pfeiler bauen und sich dann wundern, warum sie instabil ist.

Nutzen Sie die Prinzipien der Dekomposition, setzen Sie auf Hardware-Isolation und verwenden Sie ein vertrauenswürdiges OS. Sie werden feststellen, dass ISO 26262 weniger eine Last und mehr ein Leitfaden zum Aufbau wirklich sicherer und zuverlässiger Systeme wird.

Jenseits linearer Gleichungen

Mein Hintergrund in formaler Modellierung hat mir eine tiefe Wertschätzung für die Kraft der Komponierbarkeit vermittelt. ISO 26262 spiegelt auf seine Weise dieselbe Philosophie wider. Es geht nicht nur darum, Kästchen anzukreuzen und Dokumentation zu generieren. Es geht darum, Systeme zu bauen, die von Natur aus sicher, zuverlässig und wartbar sind. Und das ist etwas, wofür es sich zu streben lohnt, auch wenn es etwas mehr anfänglichen Aufwand bedeutet.