Whether we are dealing with underground transport, with power plants, with train safety systems or with intelligent power grids, embedded systems are controlling these systems, driving power-plant turbines and processing data for forwarding to a central process control. The distribution of tasks results in a highly complex hardware and software landscape that enables the facility to function efficiently, requires, however, a custom development for each individual application. Safety plays a very important part, as a small mistake may have large and often life-threatening consequences. No matter what happens, which part of the system fails, the overall system must switch quickly to the next safe state: the high-speed train stops before the tunnel, the power plant reacts correctly to an earthquake and the power grid remains stable despite the outage.
The research question
Embedded systems can be thought of as small computers paired with sensors (components that measure values in the surroundings) and actuators (e.g. motors or turbines). The necessary electronics (hardware) is tailor-made and directly coupled to the equipment. So-called FPGAs (field-programmable gate arrays) are often used for these computers. They contain a large number of basic digital components (processors, memories, gates etc.) that are interconnected in a variety of ways and are thus able to carry out new functions, i.e. they can be reconfigured to respond to changing demands. Doing so generally requires a language to describe the hardware from which the new hardware should be made. It is not possible to check every connection and interface in these complex hardware and software systems and thus it is not feasible to test every possible combination of errors. However, many of the applications must be safe and error-tolerant under all conditions. Validated testing and verification solutions should be able to identify problems early in the design flow – and the check that systems have passed validated test procedures.
Collaboration in the JR Centre
Developing efficient tests and verification solutions for embedded systems requires expertise at the interface between hardware and software, where special methods and languages are used. Siemens found this expertise in Prof. Horauer and his team at the Technikum Wien University of Applied Sciences. Test systems for the safety of embedded systems represent a clearly defined workpackage and are highly suited to the collaborative study in a Josef Ressel Centre.
The collaboration in the JR Centre has enabled the development of a number of benchmarks to define the safety of a system. FIJI, the Fault Injection Tool, represents an important result. This open-source tool was developed in the JR Centre and enables a range of errors to be introduced into a variety of FPGA-based solutions, thereby enabling developers to test whether the safety measures built into the system can cope with these errors. The tool has been published by the University of Applied Sciences and is being maintained and updated by the research community. Siemens is benefiting from the progress in the entire sector and from advance knowledge through the collaboration in the JR Centre.