This package defines the classes that support failure recovery management. Failure detection is based on the Failure Recovery Management design pattern.

The AOCS framework regards failure detection and failure recovery as separate functionalities allocated to distinct components. The failure detection component performs failure checks and, when it detects a failure, it creates an event that describes it and stores it in an event repository. The failure recovery component inspects the failure event repository to check whether any failures have been identified and then uses the information stored in the failure events to decide on the appropriate recovery action.

The objective of the failure recovery function is to react to reports of failure detections to try to remove the cause of a failure. The failure recovery function is implemented by a failure recovery manager. The failure recovery manager implements failure recovery at two levels. At the lower level, response to an individual failure report is implemented by performing one or more failure recovery actions. A failure recovery actions represent a local response to a failure. The response is said to be local because it is based on a single failure report. At a higher level, the failure recovery manager executes one or more failure recovery strategies. A failure recovery strategy  encapsulates a set of coordinated responses to the failure events in the failure event repository. Unlike recovery actions, that act on individual failure reports, recovery strategies can take into considerations several failure reports and can therefore offer a higher-level response to failures.

More details on manoeuvre management can be found in the failure recovery management technical note.