Towards Adaptive Fault Tolerance in Embedded Systems