Aspect-Oriented Implementation of Fault Tolerance: An Assessment of Overhead
Paper i proceeding, 2010

Software-implemented fault tolerance is an attractive technique for constructing fail-safe and fault-tolerant processing nodes for road vehicles and other cost-sensitive applications. This paper investigates the memory consumption and execution time overhead obtained when implementing timeredundant execution and control flow checking in software for an automotive brake controller application. These two mechanisms were implemented at the source code level using three implementations techniques: aspect-oriented programming (AOP), source code transformation and manual programming in C. The results show that AOP generates much higher overheads than code transformation for strictly systematic implementations. On the other hand, when application knowledge is used to optimize the implementations, the overhead of AOP is similar to that of manual programming in C.

Source code transformation

Control flow checking

Fault tolerance

Aspect-oriented programming

Time-redundant execution


Ruben Alexandersson

Chalmers, Data- och informationsteknik, Software Engineering

Peter Öhman

Chalmers, Data- och informationsteknik, Programvaruteknik (Chalmers)

Johan Karlsson

Chalmers, Data- och informationsteknik, Nätverk och system

Lecture Notes in Computer Science

0302-9743 (ISSN)

Vol. 6351 466-479