A JVM for Soft-Error-Prone Embedded Systems - Stilkerich, Isabella; Strotz, Michael; Erhardt, Christoph; Hoffmann, Martin; Lohmann, Daniel; Scheler, Fabian; Schröder-Preikschat, Wolfgang (Proceedings of the 14th ACM SIGPLAN/SIGBED International Conference on Languages, Compilers, Tools and Theory for Embedded Systems, 2013)
The reduction of structure sizes in microcontollers, environmental conditions or low supply voltages increase the susceptibility of embedded systems to soft errors. As a result, the employment of fault-detection and fault-tolerance measures is becoming a mandatory task even for moderately critical applications. Accordingly, software-based techniques have recently gained in popularity, and a multitude of approaches that differ in the number and frequency of tolerated errors as well as their associated overhead have been proposed. Using type-safe programming languages to isolate critical software components is very popular among those techniques. An automated application of fault-detection and fault-tolerance measures based on the type system of the programming language and static code analyses is possible. It facilitates an easy evaluation of the protection characteristics and costs as well as the migration of software to new hardware platforms with different failure rates. Transient faults, however, are not bound to the application code secured by the type system, but can also affect the correctness of the type system itself. Thereby, the type system might lose its ability to isolate critical components. As a consequence, it is essential to also protect the type system itself against soft errors. In this paper, we show how soft errors can affect the integrity of the type system. Furthermore, we provide means to secure it against these faults, thus preserving its isolating character. These measures can be applied selectively to achieve a suitable tradeoff between level of protection and resource consumption. Copyright © 2013 ACM.
UnivIS-Import:2015-04-16:Pub.2013.tech.IMMD.IMMD4.ajvmfo
Keywords: KESO; DanceOS; AORTA; Java; RTSJ; Embedded Systems; Real-Time Systems; Reliability