Das Grundprinzip dieses Separationskerns ist, dass die Partitionierung der Hardwareplattform manipulationssicher und statisch ist [WIK01]. Außerdem ist seine Trusted Code Base (TCB) klein genug, um mit vertretbarem Aufwand verifizierbar zu sein. PikeOS von SYSGO ist eine spezielle Implementierung eines Separationskerns und bietet Partitionierung auf Basis eines Mikrokerns, wie in Abb. 5 dargestellt. PikeOS vereint somit ein Echtzeitbetriebssystem und einen Hypervisor in einem Produkt. Auf den Partitionen können einerseits Betriebssysteme wie Linux oder Android laufen, während andererseits ein Container für Laufzeitsysteme wie POSIX®, AUTOSAR, ARINC 653 zur Verfügung steht. Darüber hinaus ermöglicht PikeOS über die zeitliche Partitionierung die Sicherstellung einer Worst-Case Execution Time (WCET) gemäß EN 50128 [MOE01]. Ein geeignetes Konzept auf der Basis des Separationskerns kann die Zertifizierung drastisch vereinfachen. In der Bahnindustrie nutzen sowohl Zugsteuerungssysteme als auch softwarebasierte Leitstellensysteme bereits das Separationskonzept, um softwarebasierte SIL4-Sicherheit auf ihren jeweiligen Hardwareplattformen zu gewährleisten. In diesem Fall gewährleistet ein Separationskernel eine rückwirkungsfreie Trennung, so dass Anwendungen mit gemischten Kritikalitätsstufen auf einer Hardwareplattform konsolidiert werden können. Sicherheitsfunktionen, Kommunikationsdienste und Komfortfunktionen können so gleichzeitig auf der Hardware bereitgestellt werden, wodurch Größe, Gewicht und Stromverbrauch (SWAP) optimiert werden.
Der Entwicklungsprozess für PikeOS entspricht in vollem Umfang den Anforderungen der EN 50128, d.h. es liegen vollständige Prozessdokumente und Artefakte vor. Gemäß Abschnitt 7 der EN 50128:2011 kann ein Betriebssystem als generische Software betrachtet werden, auf deren Basis durch einfache Bereitstellung anwendungsspezifischer Daten und Algorithmen eine Vielzahl von Installationen erstellt werden kann. Generische Software kann als einzelne Komponente unabhängig vom System zertifiziert werden. PikeOS verfügt bereits über Zertifizierungen nach SIL4 für verschiedene Prozessorarchitekturen und Multicore-Systeme. Gleichzeitig erfüllt PikeOS bereits die notwendigen Voraussetzungen für den Prozess der inkrementellen Zertifizierung, wie er für modulare Systeme im Bereich der Avionik vorgesehen ist, so dass bestehende Zertifizierungsartefakte unter festgelegten Bedingungen wiederverwendet werden können, wenn das bestehende System modifiziert oder um weitere Module erweitert wird.
Hardware-Plattform-Komponente
Die Gefahren, die von der Hardware ausgehen, bestehen im Ausfall der entsprechenden Komponenten und den damit verbundenen Fehlfunktionen. Zur Analyse der gefährlichen Ausfallarten empfiehlt sich ein Top-Down-Verfahren, wie die Fehlerbaumanalyse, oder alternativ ein Bottom-Up-Verfahren, wie die Fehlermöglichkeits- und Einflussanalyse (FMEA) [EN129], wobei eine Identifikation der zu erwartenden Ausfallarten aller Hardwarekomponenten gefordert wird. Bei integrierten Schaltkreisen mit System-on-Chip (SoC) sind die Fehlertypen aufgrund der Komplexität nur schwer im Voraus zu bestimmen oder sie sind aufgrund der Programmierung der Hardware stark von der jeweiligen Anwendung abhängig. Die Norm schlägt in Anhang C3 vor, dass eine Begründung geliefert wird, dass dieser Fehlertyp aufgrund der Softwarearchitektur nicht plausibel auftreten kann. Ist dies nicht möglich, kann der Fehlertyp alternativ extern detektiert werden und innerhalb einer geforderten Zeit ein sicherer Zustand eingenommen werden. Aufgrund der Komplexität der hier verwendeten Intel Core i7 basierten VX3035 Hardware berücksichtigt das Sicherheitskonzept für die SIL 4 Zertifizierung eine externe Erkennung des Hardwareausfalls. Die Überwachung der fehlerfreien Funktion der Hardware kann durch verschiedene Built-In Tests (BIT) sichergestellt werden, die sich in folgende Kategorien unterteilen lassen:
- Power-On BIT (PBIT): Diese Tests werden entweder von der Firmware oder während der Boot-Phase des Betriebssystems durchgeführt. Da eine Zertifizierung des BIOS-Codes zu teuer ist, wird als PBIT eine vordefinierte Registerkonfiguration getestet, die von einem korrekt arbeitenden BIOS erreicht werden muss. Weicht die Registerkonfiguration nach dem Booten von den Vorgaben ab (aufgrund defekter oder nicht vorhandener Hardware), geht das System nicht in Betrieb.
- Continuous BIT (CBIT): Tests, die zur Laufzeit ausgeführt werden, sind abhängig von den verwendeten Peripheriegeräten und der Anwendung. Da das korrekte Funktionieren dieses Tests sicherheitsrelevant ist, unterliegt der CBIT-Code der SIL 4 Zertifizierung. RAM-Fehler werden durch den Einsatz von ECC-RAM erkannt.
Der sichere Zustand, der im Fehlerfall eingenommen werden muss, ist ebenfalls anwendungsabhängig und soll an dieser Stelle nicht weiter betrachtet werden. Der Vollständigkeit halber sei erwähnt, dass für das SIL 4 Systemsicherheitskonzept eine redundante Architektur, wie z.B. Triple Modular Redundancy (TMR), notwendig ist.
Projektspezifische Software-Komponenten
Der Lebenszyklus von nach EN 5012x entwickelten Systemen sieht verschiedene Phasen vor, die durch den in Abb. 4 dargestellten Verifikations- und Validierungszyklus beschrieben werden. Im openETCS-Projekt wurden formale Methoden für die Systemanalyse, Architekturmodellierung, funktionale Modellierung und Verhaltensmodellierung eingesetzt [OE16].
Die System Requirements Specification (SRS) ist für ETCS verfügbar und kann daher direkt als Eingangsdokument für die ETCS-spezifischen Komponenten verwendet werden. Das Dokument muss in ein entsprechendes Format (ReqIF) konvertiert werden, um die geforderte Traceability herstellen zu können. Im Projekt openETCS wurde zu diesem Zweck das Werkzeug Subset-2-ReqIF entwickelt, das strukturierte Dokumente in formale Anforderungsdateien klassifiziert. Diese werden zum Import in entsprechende Werkzeuge wie ProR/ReqIF, ReqCycle und Ansys SCADE LifeCycle verwendet. Aus der SRS wird zunächst die Systemstruktur entwickelt (z.B. Papyrus, Ansys SCADE System), um dann sukzessive die einzelnen Komponenten auf Basis der Spezifikation zu modellieren (Ansys SCADE Suite). Um bereits in einem frühen Stadium Tests generieren und automatisieren zu können, stehen Werkzeuge wie SCADE Test zur Verfügung, die bereits auf der Entwicklungs-PC-Plattform integrierte Tests ausführen können [HAS16].
Wurde ein SCADE-Modell mittels Model Check, Formal Verification und Timing&Stack Verifier verifiziert, wird durch den Qualified Code Generator (KCG) ein verifizierter C-Code generiert. Dieser Code ist ein ANSI C-Code ohne Abhängigkeiten von Hardware oder speziellen Bibliotheken. Um die Ein- und Ausgänge des Modells mit den Quellen und Senken bestimmter Hardware zu verbinden und dem Modell ein bestimmtes Timing zu geben, muss nun entsprechender Abstraktionscode erstellt werden. Der Umfang dieses Plattformcodes sollte minimal sein, da er verifiziert werden muss und nur unter bestimmten Bedingungen wiederverwendet werden kann. Die Kombination aus generiertem C-Code und Plattformcode muss am Ende in eine Zielbinärdatei übersetzt werden. An dieser Stelle wird deutlich, dass die Verwendung eines zertifizierten Betriebssystems erhebliche Vorteile bietet. Selbst wenn die zugrundeliegende Hardware geändert wird, kann der Plattformcode zwischen der PikeOS-API und dem SCADE-Modell beibehalten werden. Der Hauptaufwand für die Integration vollwertiger, zertifizierbarer ETCS-Komponenten in den Demonstrator reduziert sich auf die Auswahl der entsprechenden Werkzeuge. Die vorhandenen Modelle können für Tests in der Frühphase verwendet werden.
Dokumente und Artefakte gemäß EN 50128, die für die Zertifizierung des (Teil-)Systems herangezogen werden können, existieren auch für die Softwarekomponenten Certifiable IP Stack und CoreAVI OpenGL ES.
Zusammenfassung und Ausblick
Nach Abschluss der ersten Iteration zur Realisierung des Zugbeeinflussungsdemonstrators auf Basis vorhandener COTS-Komponenten ist klar, dass die getroffenen Annahmen in Bezug auf reduzierte Kosten für die Systemintegration und für eine mögliche Zertifizierung gerechtfertigt sind. Es wurden ca. 4 Mannmonate investiert, um den jetzigen Stand des Demonstrators zu erreichen und anschließend konnten die ETCS-Komponenten auf dem Safe-PC-Modul über das Netzwerk vollständig mit der physikalischen Simulation des Bahnmoduls verbunden werden. Der nächste Integrationsschritt wird den Prototypen und das Panel-PC-Modul vervollständigen und damit finalisieren. Anschließend erfolgt die Ausarbeitung und Evaluierung des vorgestellten Zertifizierungsverfahrens.
Authoren
Dr.Eng. Frank Golatowski and Thorsten Schulz M.Sc.Eng.
frank.golatowski@uni-rostock.de
thorsten.schulz@uni-rostock.de
Institute for Applied Microelectronics and Data Technology
Rostock University
Mehmet Oezer M.Sc.Eng. and Philipp Gorski M.Sc.Eng.
philipp.gorski@sysgo.com
SYSGO GmbH
Verweise
[WRM14] Roland Berger Strategy Consultants, World Rail Market Study forecast 2014 to 2019, 2014, Commissioned by UNIFE The European Rail Industry, ISBN: 978-3-7771-0468-3
[MIL16] EURO-MILS, 2016, Publications & Deliverables, [ONLINE] Available at: https://euromils-project.technikon.com/, [Accessed 28 June 2016]
[EN126] DIN EN 50126:2000-03, Railway applications - The specification and demonstration of reliability, availability, maintainability and safety (RAMS)
[EN128] DIN EN 50128:2012-03, Railway applications - Communications, signalling and processing systems software for railway control and monitoring systems)
[EN129] DIN EN 50129:2003-12, Railway applications - Communications, signalling and processing systems - Safety related electronic systems for signalling
[EN159] DIN EN 50159:2011-04, Railway applications - Communications, signalling and processing systems - Safety related communication in transmission systems)
[ETC16] openETCS Consortium. 2016. openETCS. [ONLINE] Available at: openetcs.org. [Accessed 29 June 2016]
[HAS08] Hase, Klaus-Rüdiger; openETCS: Speed Up Migration & Reduce Total Cost; www.uic.org/cdrom/2009/01_ERTMS-platform/docs/5-steering-meetings/05-18nov08/Proceedings/item5-openETCS-hase.pdf
[HAS16] Hase, Klaus-Rüdiger; openETCS: Model-based, Agile and Open Source; www.schienenfahrzeugtagung.at/download/PDF2016/MiV07_Hase.pdf
[OE16] Mahlmann, Peter et. al; openETCS: Development and Implementation of the 'Open Proof' Concept [..] (concluding report); github.com/openETCS/Dissemination/blob/master/Schlussbericht/openETCS_Schlussbericht.pdf
[MOE01] Özer, Mehmet; White Paper: PikeOS Safe Real-Time Scheduling; https://www.sysgo.com/whitepapers
[WIK01], Wikipedia: Multiple Independent Levels of Security en.wikipedia.org/wiki/Multiple_Independent_Levels_of_Security