|
Real-Time Java AOCS Framework v1.0 API Specification | ||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||
java.lang.Object
|
+--RtjAocsFramework.BasicObjects.RootObject
|
+--RtjAocsFramework.BasicObjects.AocsObject
|
+--RtjAocsFramework.FailureRecovery.FailureRecoveryManager
This class encapsulates a failure recovery manager. The failure recovery manager is the active component that is responsible for processing the events in the failure event repository and responding to them with appropriate failure recovery strategies.
The failure recovery manager only sees recovery strategies. Failure recovery actions are, where required, managed and implemented by the recovery strategies.
The failure recovery manager obtains the failure recovery strategy appropriate to current operating conditions from a failure recovery mode manager.
The failure recovery manager is essentially based on the chain of responsibility design pattern although it can also be seen as an instance of the manager meta-pattern where the list of functionality implementers only contains one element. In the classical version of the chain of responsibility pattern, the client's request (in this case, the request to perform a recovery) is passed along the chain of handlers (the recovery strategies) until one is found who is able to handle it. Each request is intended to be handled by only one handler. In the application of the pattern to failure recovery, however, a recovery strategy when it receives a recovery requests performs the following actions: (1) it handles the recovery request, and (2) it checks whether the recovery request should be passed on to the next recovery strategy or whether recovery processing should terminate. The recovery strategies are therefore executed in sequence but every recovery strategy has the chance to interrupt the chain. This incidentally means that the order in which the recovery strategies are linked in the list is important.
Copyright: see the Copyright Notice.
FailureRecoveryModeManager,
RecoveryStrategy| Field Summary |
| Fields inherited from interface RtjAocsFramework.TelemetryManagement.Telemeterable |
DEBUG_TM, LONG_TM, NORMAL_TM, NTMFORMATS, SHORT_TM |
| Constructor Summary | |
FailureRecoveryManager()
|
|
| Method Summary | |
FailureRecoveryModeManager |
getFailureRecoveryModeManager()
|
int |
getTelemetryImageLength()
Return the length (in bits) of the telemetry image of the object. |
boolean |
initialize()
Initialize an active object before it is scheduled. |
boolean |
isConfigured()
Return false if some configuration data are missing. |
void |
resetConfiguration()
Unload the failure recovery mode manager. |
void |
runOneCycle(int deadline)
Perform all actions associated to the current cycle. |
void |
setFailureRecoveryModeManager(FailureRecoveryModeManager m)
|
boolean |
terminate()
Perfrom any shutdown actions before an active is de-scheduled. |
void |
writeToTelemetry(TelemetryStream tmStream)
Direct the object to write its own state to the telemetry stream. |
| Methods inherited from class RtjAocsFramework.BasicObjects.RootObject |
getClassId, getInstanceId, setClassId |
| Methods inherited from class java.lang.Object |
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
public FailureRecoveryManager()
| Method Detail |
public void runOneCycle(int deadline)
ActiveObject
runOneCycle in interface ActiveObjectdeadline - deadline by which the object must have returned. This
parameter allows implementation of cooperative scheduling.public void resetConfiguration()
resetConfiguration in interface ConfigurableresetConfiguration in class AocsObjectpublic boolean isConfigured()
ConfigurableTypically, a false value indicates that a plug-in component is missing or that the object has not been initialized. This is a negative check only: a return value of true cannot guarantee that the object is correctly configured.
Calls to resetConfiguration on an object A are normally not propagated objects of type AocsObject that are contained or otherwise aggregated to A. The rationale for this policy is that all objects of type AocsObject implement interface configurable and therefore their configuration status should be checked externally (probably through the configuration check service of the system manager).
isConfigured in interface ConfigurableisConfigured in class AocsObjectpublic boolean initialize()
ActiveObject
initialize in interface ActiveObjectpublic boolean terminate()
ActiveObject
terminate in interface ActiveObjectpublic void setFailureRecoveryModeManager(FailureRecoveryModeManager m)
public FailureRecoveryModeManager getFailureRecoveryModeManager()
public void writeToTelemetry(TelemetryStream tmStream)
Telemeterable
writeToTelemetry in interface TelemeterablewriteToTelemetry in class AocsObjectpublic int getTelemetryImageLength()
Telemeterable
getTelemetryImageLength in interface TelemeterablegetTelemetryImageLength in class AocsObject
|
Real-Time Java AOCS Framework v1.0 API Specification | ||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||