A Graceful Degradation Framework for Distributed Embedded Systems
Automatic graceful degradation can be accomplished by reconfiguring the software elements of a distributed embedded system to accommodate the available hardware upon detection of a fault. The reconfiguration algorithm selects software components from a Product Family Architecture in order to maximize the functionality of the system. The mobile software components must then be allocated to the hardware so as to ensure network and processor resources are conserved. As the allocation step is NP-complete, care must be taken to ensure it is attempted only when a good chance of success exists, otherwise the rest of the algorithm merely wraps polynomial time (or worse) loop constructs around this hard core. Therefore, good heuristics are critical to success of this algorithm.