Automated Application of Fault Tolerance Mechanisms in a Component-Based System - Stilkerich, Isabella; Stilkerich, Michael; Kapitza, Rüdiger; Lohmann, Daniel; Schröder-Preikschat, Wolfgang (Proceedings of the 9th International Workshop on Java Technologies for Real-Time and Embedded Systems, 2011)
Due to the reduction of structure sizes in modern embedded systems, tolerating soft errors presenting itself as bit flips becomes a mandatory task even for moderate critical applications. Accordingly, software-based fault tolerance mechanisms 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. As a consequence, an application- and environment-tailored selection of mechanisms is required to balance protection and costs. Accounting the diverse solution space, we propose to make software-based fault tolerance a matter of configuration that should be transparent to the applications. While this would be cumbersome when using an unsafe programming language, we show that in the context of KESO, a JVM for deeply embedded systems, this can be achieved by utilizing the Java type system and static code analysis. As an initial technique we decided to add redundant execution to KESO, which enables us to selectively and transparently replicate an application. This essentially builds a first step to a JVM, which offers reliable execution of components as demanded by the system configuration. © 2011 ACM.
UnivIS-Import:2015-04-16:Pub.2011.tech.IMMD.IMMD4.automa
Keywords: Java; embedded systems; fault tolerance; TMR; KESO; DanceOS