Real-Time Java AOCS Framework v1.0 API Specification

RtjAocsFramework.FailureRecovery
Class FollowerFailureRecoveryModeManager

java.lang.Object
  |
  +--RtjAocsFramework.BasicObjects.RootObject
        |
        +--RtjAocsFramework.BasicObjects.AocsObject
              |
              +--RtjAocsFramework.ModeManagement.ModeManager
                    |
                    +--RtjAocsFramework.ModeManagement.FollowerModeManager
                          |
                          +--RtjAocsFramework.FailureRecovery.FollowerFailureRecoveryModeManager
All Implemented Interfaces:
Configurable, EventListener, FailureRecoveryModeManager, ModeListener, Monitorable, Resettable, Telemeterable

public class FollowerFailureRecoveryModeManager
extends FollowerModeManager
implements FailureRecoveryModeManager

Encapsulation of a follower mode manager for the failure recovery manager. Concrete failure recovery mode managers are defined by the recovery strategy they implement. The failure recovery mode manager maintains a set of recovery strategies and returns the currently active strategy to the failure recovery manager.

This class defines a mode manager that is based on the follower mode manager. In a typical configuration, this mode manager would be slaved to the AOCS mission mode manager.

This class is basically a type-safe wrapper around the follower mode manager component exported by the operational mode framelet.

This failure recovery mode manager also performs hard-coded mode change actions: when there is a mode transition, the new recovery strategy is reset. This is advisable because recovery strategies may have an internal state.

Change Record:

Copyright: see the Copyright Notice.

Version:
1.2
Author:
Alessandro Pasetti (University of Konstanz)

Field Summary
 
Fields inherited from class RtjAocsFramework.ModeManagement.ModeManager
currentMode, nModes, nStrategies
 
Fields inherited from interface RtjAocsFramework.TelemetryManagement.Telemeterable
DEBUG_TM, LONG_TM, NORMAL_TM, NTMFORMATS, SHORT_TM
 
Constructor Summary
FollowerFailureRecoveryModeManager()
          Default constructor.
FollowerFailureRecoveryModeManager(int numberOfListeners, ModeManager masterModeManager)
           
 
Method Summary
 RecoveryStrategy getRecoveryStrategy()
          Return the currently active recovery strategy.
 void loadRecoveryStrategy(int mode, RecoveryStrategy r)
          Method to configure the failure detection mode manager.
 void localReset()
           
 void reset()
          Set the mode to the default mode and enable all mode transitions.
 void setRecoveryStrategy(int mode, RecoveryStrategy r)
          This method is identical to method loadRecoveryStrategy.
 
Methods inherited from class RtjAocsFramework.ModeManagement.FollowerModeManager
processModeEvent, setDefaultMode, setMasterModeManager, setNumberOfModes
 
Methods inherited from class RtjAocsFramework.ModeManagement.ModeManager
addChangeListener, addModeListener, changeMode, disableMode, enableMode, fireChangeEvent, fireModeEvent, forceMode, getAocsObject, getDefaultMode, getImplementer, getMode, getModeChangeAction, getMonitorablePropertyValue, getNumberOfModes, getNumberOfMonitorableProperties, getTelemetryImageLength, isConfigured, isModeLegal, loadImplementer, notifyMonitors, releaseMode, removeChangeListener, removeModeListener, resetConfiguration, setMaxNumberOfChangeListeners, setMaxNumberOfModeListeners, setMode, setModeChangeAction, setNumberOfStrategies, setPropertyMonitorListSize, updateMode, writeToTelemetry
 
Methods inherited from class RtjAocsFramework.BasicObjects.AocsObject
addConfigurationListener, addFailureListener, finalize, getAocsClock, getConfigurationListenerList, getCycle, getDestructionRecoveryAction, getFailureListenerList, getSystemManager, getTelemetryFormat, getTime, removeConfigurationListener, removeFailureListener, reportConfigurationEvent, reportFailure, resetStaticConfiguration, setAocsClock, setDestructionRecoveryAction, setMaxNumberOfConfigurationListeners, setMaxNumberOfFailureListeners, setSystemManager, setTelemetryFormat
 
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

FollowerFailureRecoveryModeManager

public FollowerFailureRecoveryModeManager()
Default constructor. The object should not be used before it is configured by setting the master mode manager and the maximum number of listeners.


FollowerFailureRecoveryModeManager

public FollowerFailureRecoveryModeManager(int numberOfListeners,
                                          ModeManager masterModeManager)
Method Detail

localReset

public void localReset()

reset

public void reset()
Description copied from class: ModeManager
Set the mode to the default mode and enable all mode transitions.

Specified by:
reset in interface Resettable
Overrides:
reset in class ModeManager

loadRecoveryStrategy

public void loadRecoveryStrategy(int mode,
                                 RecoveryStrategy r)
Description copied from interface: FailureRecoveryModeManager
Method to configure the failure detection mode manager. It associates the recovery strategy r to operational mode 'mode'.

Specified by:
loadRecoveryStrategy in interface FailureRecoveryModeManager

setRecoveryStrategy

public void setRecoveryStrategy(int mode,
                                RecoveryStrategy r)
Description copied from interface: FailureRecoveryModeManager
This method is identical to method loadRecoveryStrategy.

Specified by:
setRecoveryStrategy in interface FailureRecoveryModeManager

getRecoveryStrategy

public RecoveryStrategy getRecoveryStrategy()
Return the currently active recovery strategy. If this is different from the recovery action returned at the previous activation (which would indicate that a mode change has just taken place), the new recovery strategy is reset.

Specified by:
getRecoveryStrategy in interface FailureRecoveryModeManager
See Also:
FailureRecoveryModeManager.getRecoveryStrategy()

Real-Time Java AOCS Framework v1.0 API Specification

Real-Time Java AOCS Framework project home page

Automatic Control Laboratory, ETH Zuerich
Physikstrasse 3
CH-8092 Zuerich, Switzerland