To deal with increasing size and complexity, componentbased software development has been employed in embedded systems. These systems comprise a set of components each of which implements a particular functionality. The system utilizes the components to provide the functionalities that are required in a set of working modes. Components can also be considered to have a set of working modes. They should work in harmony and consistent with the working mode of the system. Due to several errors that remain undetected during the design and implementation phases, components can make wrong assumptions about the working mode of the system and the working modes of the other components. These errors may lead to severe failures. Fault tolerance is required to prevent these failures at runtime. The first step to achieve fault tolerance is error detection. To detect mode inconsistencies at run-time, we propose a "lightweight" error detection mechanism, which can be integrated with component-based embedded systems. We define three dependent levels of abstractions: the run-time behavior of components, the working mode specifications of components and the specification of the working modes of the system. We define explicit links among these levels by specifying a mutual consistency condition. This allows us to detect the user observable run-time errors. The effectiveness of the approach is demonstrated by implementing a software monitor integrated into a TV system.
|Publisher||IEEE Computer Society Press|
|Workshop||Workshop on Architecting Dependable Systems, WADS 2007|
|Period||27/06/07 → 27/06/07|
- Fault Tolerance
- online monitoring
- Error detection