The basic principle of this separation kernel is that the partitioning of the hardware platform is manipulation-proof and static [WIK01]. Furthermore, its Trusted Code Base (TCB) is small enough for it to be verifiable at an acceptable cost. SYSGO's PikeOS is a special implementation of a separation kernel and provides partitioning on the basis of a microkernel, as illustrated in Fig. 5. PikeOS thus unites a real-time operating system and Hypervisor in one product. On the one hand the partitions can run operating systems like Linux or Android, while on the other hand providing a container for runtime systems such as POSIX®, AUTOSAR, ARINC 653. In addition, PikeOS allows via the chronological partitioning the assurance of a Worst-Case Execution Time (WCET) in accordance with EN 50128 [MOE01]. A suitable concept on the basis of the separation kernel can drastically simplify certification. In the rail industry both train control systems and software-based control centre systems are already using the separation concept to ensure software-based SIL4 security on their respective hardware platforms. In this case a separation kernel guarantees reaction-free separation so that applications with mixed criticality levels can be consolidated on one hardware platform. Safety functions, communication services and convenience functions can thus be provided simultaneously on hardware, as a result of which the size, weight and power consumption (SWAP) are optimized.
The development process for PikeOS fully meets the requirements of EN 50128, i.e. complete process documents and artefacts are available. In accordance with Section 7 of EN 50128:2011 an operating system can be considered as being generic software on the basis of which a number of installations can be created by simply providing application-specific data and algorithms. Generic software can be certified as an individual component independently of the system. PikeOS already has certifications in accordance with SIL4 for various processor architectures and multicore systems. At the same time PikeOS already meets the necessary requirements for the process of incremental certification, as is envisaged for modular systems in the field of avionics, so that existing certification artefacts can be reused subject to fixed conditions, if the existing system is modified or expanded by other modules.
Hardware Platform Component
The dangers that emanate from the hardware consist of failure of the corresponding components and the malfunctioning associated with this. A top-down method, such as fault tree analysis, or alternatively a bottom-up process, such as a Failure Mode and Effect Analysis (FMEA), is recommended for the purpose of analysing the dangerous failure types [EN129], identification of the failure types to be expected of all hardware components being demanded. For integrated circuits with System-on-Chip (SoC) the failure types are difficult to determine in advance on account of the complexity or due to the programming of the hardware they are very dependent on the respective application. In appendix C3 the standard proposes that a justification be supplied that this failure type cannot occur plausibly on account of the software architecture. If this is not possible, the failure type can be alternatively detected externally and a safe status can be adopted within a required time. On account of the complexity of the Intel Core i7 based VX3035 hardware used in this case, the safety concept for the SIL 4 certification takes into consideration external detection of the hardware failure. The monitoring of the defect-free functioning of the hardware can be ensured by various Built-In Tests (BIT), which can be subdivided into the following categories:
- Power-On BIT (PBIT): these tests are executed either by the firmware or during the boot phase of the operating system. As certification of the BIOS code is too expensive, a predefined register configuration is tested as a PBIT, which must be achieved by a correctly operating BIOS. If, after booting, the register configuration differs from the specifications (due to defective or non-available hardware), the system does not go into operation.
- Continuous BIT (CBIT): tests that are executed at runtime are dependent on the peripherals used and on the application. As the correct functioning of this test is safety related, the CBIT code is subject to SIL 4 certification. RAM errors are detected by the use of ECC RAM.
The safe status that must be adopted in the event of an error is likewise application dependent and is not to be considered further at this point. For the sake of completeness it must be mentioned that redundant architecture, such as Triple Modular Redundancy (TMR), is necessary for the SIL 4 system safety concept.
Project-specific Software Components
The life-cycle of systems developed in accordance with EN5012x envisages different phases that are described by the verification and validation cycle shown in Fig. 4. In the openETCS project, formal methods were invoked for the systems analysis, architecture modelling, functional modelling and behaviour modelling [OE16].
The System Requirements Specification (SRS) is available for ETCS and can therefore be used directly as an input document for the ETCS-specific components. The document must be converted to a corresponding format (ReqIF) in order to be able to create the required traceability. In the project openETCS the tool Subset-2-ReqIF, which classifies structured documents into formal requirement files, has been developed for this purpose. These are used for import into corresponding tools such as ProR/ReqIF, ReqCycle and Ansys SCADE LifeCycle. From the SRS the system structure is initially developed (e.g. Papyrus, Ansys SCADE system) to then successively model the individual components on the basis of the specification (Ansys SCADE Suite). In order to be able to already generate and automate tests at an early stage, tools such as SCADE Test are available, which can already run tests that are integrated on the development-PC platform [HAS16].
If a SCADE model has been verified by means of the model check, formal verification and timing&stack verifier, a verified C-code is generated by the qualified code generator (KCG). This code is an ANSI C-code without any dependencies on hardware or special libraries. To connect the inputs and outputs of the model with the sources and sinks of specific hardware and to give the model a specific timing, corresponding abstraction code must now be created. The scope of this platform code should be minimal, because it has to be verified and can only be reused under certain conditions. The combination of a generated C-code and platform code must be translated into a target binary at the end. At this point it is evident that the use of a certified operating system offers considerable advantages. Even if the underlying hardware is changed, the platform code between the PikeOS-API and the SCADE model can be retained. The main cost for the integration of full-value, certifiable ETCS components within the demonstrator is reduced to the selection of corresponding tools. The existing models can be used for early-stage tests.
Documents and artefacts in accordance with EN 50128 that can be invoked for certification of the (sub)system also exist for the software components Certifiable IP Stack and CoreAVI OpenGL ES.
Summary and Outlook
Upon completion of the first iteration relating to implementation of the train control demonstrator on the basis of existing COTS components it is clear that the assumptions made in relation to reduced costs for system integration and for possible certification are justified. About 4 man months were invested to achieve the present status of the demonstrator and it was subsequently possible to connect via the network the ETCS components on the safe-PC module fully with the physical simulation of the rail module. The next integration step will complete and thus finalize the prototype and the panel-PC module. Elaboration and evaluation of the certification method presented will then take place.
Authors
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
References
[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