Embedded Linux in Safety-kritischen Kontexten einzusetzen, ist äußerst attraktiv. Es löst den vendor lock-in der proprietären Alternativen auf und bietet perspektivisch ein erheblich breiteres Portfolio an technischen und funktionalen Optionen.
Im März 2024 hat nun eine vollständig neue Lösung ein positives und sehr weitreichendes Assessment durch den TÜV Nord erhalten. Dieses gilt sowohl im Rahmen der IEC 61508 (SIL2) als auch der ISO 26262 (ASIL B, SEooC): Im Rahmen eines innovativen Entwicklungsprojektes der Elektrobit Automotive GmbH in Erlangen hat emlix einen Linux Safety Monitor entwickelt, der den Linux Kernel so zuverlässig überwacht, dass eine SIL2 Applikation direkt auf dem Linux laufen kann. Die bisher bestehende Kluft zwischen Safety und Open Source-Lösungen wird damit überbrückt.
Diese Lösung steht ab sofort für Projektintegrationen beispielsweise in den Bereichen Medical Technology, Industrial Automation und Power Engineering zur Verfügung.
Unsere Embedded Linux und Safety Experten diskutieren gerne geeignete Architekturen mit Ihnen.
SIL2 Safety Applikationen direkt auf Linux
Embedded Linux kommt seit Jahren in vielen Safety-kritischen Applikationen zum Einsatz. Es wird hierbei jedoch in der Regel ausschließlich für nicht safety-kritische Funktionen eingesetzt, häufig Kommunikation, Netzwerk, Update-Funktionen und Visualisierung.
Liegt eine Safety-Last auf dem Linux-System, werden mehrheitlich redundante Ansätze genutzt. Diese Redundanz verursacht jedoch unmittelbare - z.B. für Hardware - und mittelbare Kosten - zum Beispiel für Maintenance. Auf zwei separate SOCs laufen in aller Regel zwei unterschiedliche, über den Lebenszyklus zu wartende Betriebssysteme. Die Maintenance erfordert dementsprechend auch Kompetenzen in beiden Betriebssystemen sowie Kommunikation an den Schnittstellen.
Die neue Architektur erlaubt es, Performance Kerne eines SoCs zu nutzen, um Safety und QM Applikationen in Linux VMs auf einem L4 basierten Hypervisor auszuführen..
Das Ausführen von Rust, C und C++ Applikationen direkt auf dem Linux ist mit dem Linux Safety Monitor und passenden Safety Compilern schon jetzt kein Problem mehr. Weitere Sprachen und Compiler können genutzt werden, sofern sie Linux-kompatible ELF-Binaries produzieren.
Neben üblichen Kommunikationskanälen erlaubt ein Shared Memory Interface eine Low Latency-Kommunikation, mit welcher SIL-Prozesse abgesichert mit einander interagieren können. Darüber hinaus existiert auch zur Non-SIL Virtual Machine ein solches Interface.
Linux for Safety Applications in unterschiedlichen Branchen
Die Freigabe sowohl gegen die Anforderungen der ISO26262 als auch der IEC61508 erweitert das potenzielle Einsatzspektrum ganz erheblich in unterschiedliche Branchen.
Im Bereich Industrieautomation wären beispielsweise einige Aspekte einer Lasersteuerung safety-kritisch. Zwar könnte die Konfiguration des Lasers mittels einer Non-SIL Applikation erfolgen. Eine Safety-Applikation muss dann jedoch sicherstellen, dass bestimmte Benchmarkwerte niemals über- oder unterschritten werden. Dies könnten die Intensität des Laserstrahls sowie maximale Winkel bei der Ausrichtung sein.
Auch ein weiteres Beispiel aus der Medizintechnik zeigt das Potenzial des durch den Linux Safety Monitor überwachten Linux-Systems: Auf einem Bildschirm sollen sowohl safety-kritische Informationen als auch unkritische Informationen dargestellt werden. Hierbei kann es sich um Vitalwerte des Patienten mit Alarmfunktion handeln, die absolut verlässlich sein müssen, gepaart mit einigen Komfortinformationen für das medizinische Personal.
Die Darstellung der kritischen Informationen kann nicht durch die Non-SIL Daten korrumpiert werden, da das Rendering in einem eigenen Layer erfolgt, der niemals überschrieben werden kann. Kritische Daten werden erst dann wiedergegeben, wenn eine abschließende Prüfung durch die SIL-Applikation erfolgt ist.
Diese beiden Beispiele zeigen, wie Software-Architektur mit diesem Ansatz neu gedacht werden kann. Hardware-Kosten werden reduziert, wobei der eigentliche Hebel in der deutlich geringeren Komplexität in der Lifecycle Maintenance liegt.
Durch die Integration von Non-SIL und SIL Applikation auf einem SOC ist es möglich, beide mit niedriger Latenz in der Kommunikation zu verbinden und die Leistungsreserven eines Linuxsystems auszunutzen.
Security und Lifecycle Management für sichere Software-Systeme
Die relevanten Standards, etwa die IEC 61508 oder die IEC 62304, stellen nicht nur Anforderungen an die eigentliche Entwicklung, sondern auch an das Lifecycle Management der Software. Aufgrund wachsender Anforderungen an Datensicherheit und Manipulationsschutz der immer häufiger netzwerkintegrierten Systeme wird diese Aufgabe zunehmend komplex. Ein „Never touch a running system“-Ansatz ist heute nicht mehr möglich.
Für die ins Feld gebrachte Software muss somit kontinuierlich überwacht werden, ob es Verbesserungspotential für die Software gibt und ob dieses genutzt werden soll. Für das Linux-System muss ein kontinuierliches Monitoring für die tatsächlich genutzten Software-Pakete implementiert werden, um frühzeitig sowohl Security issues und fixes als auch funktional relevante Verbesserungen und Updates zu detektieren, zu analysieren und ggf. ein entsprechendes System-Update an die Anwender auszurollen.
emlix unterstützt seine Kunden vor dem Hintergrund langjähriger Erfahrung in der Software Maintenance und Modifikation von Embedded Linux-Systemen in diesen Phasen des Produktlebenszyklus. Dabei sind wir häufig eng in die PRM/CRM-Prozesse unserer Kunden eingebunden. Neben der Analyse, ob eine potentielle Modifikation für die konkrete Software von Relevanz ist, schließt sich im Safety-Bereich eine Impact-Analyse an, um sicherzustellen, dass eine Modifikation Safety-kritische Eigenschaften nicht verändert.