%O Report %F RR5919 %A Ayav, T. %A Fradet, P. %A Girault, A. %T Implementing Fault-Tolerance in Real-Time Systems by Program Transformations %N 5919 %I INRIA %X We present a formal approach to implement fault-tolerance in real-time embedded systems. The initial fault-intolerant system consists of a set of independent periodic tasks scheduled onto a set of fail-silent processors connected by a reliable communication network. We transform the tasks such that, assuming the availability of an additional spare processor, the system tolerates one failure at a time (transient or permanent). Failure detection is implemented using heartbeating, and failure masking using checkpointing and rollback. These techniques are described and implemented by automatic program transformations on the tasks' programs. The proposed formal approach to fault-tolerance by program transformation highlights the benefits of separation of concerns and allows us to establish correctness properties (including the satisfaction of real-time constraints). We also present an implementation of our method, to demonstrate its feasibility and its efficiency %8 May %D 2006 %K Fault-tolerance %K real-time systems %K heartbeating %K checkpointing %K program transformations %K correctness proofs