Real-Time Java AOCS Framework v1.0 API Specification

RtjAocsFramework.ManoeuvreManagement
Class ManoeuvreManager

java.lang.Object
  |
  +--RtjAocsFramework.BasicObjects.RootObject
        |
        +--RtjAocsFramework.BasicObjects.AocsObject
              |
              +--RtjAocsFramework.ManoeuvreManagement.ManoeuvreManager
All Implemented Interfaces:
ActiveObject, Configurable, Resettable, Telemeterable

public class ManoeuvreManager
extends AocsObject
implements ActiveObject

This class encapsulates a manoeuvre manager.

The manoeuvre manager is an active component that is responsible for controlling execution of manoeuvres. Manoeuvres are loaded into the manoeuvre managers and from that moment onward their execution, termination, holding, and resumption remain under the control of the manoeuvre manager.

Change Record:

Copyright: see the Copyright Notice.

Version:
1.1
Author:
Tim Brown (St. Louis, MO, U.S.A.), Vaclav Cechticky (IfA ETHZ)
See Also:
The Manoeuvre Management Framelet Document.

Field Summary
 
Fields inherited from interface RtjAocsFramework.TelemetryManagement.Telemeterable
DEBUG_TM, LONG_TM, NORMAL_TM, NTMFORMATS, SHORT_TM
 
Constructor Summary
ManoeuvreManager()
          ManoeuvreManager
 
Method Summary
 void abortManoeuvre(Manoeuvre m)
          Abort a manoeuvre.
 void abortManoeuvre(short t)
          Abort all manoeuvres of the specified type.
 void addManoeuvre(Manoeuvre m)
          Load a manoeuvre.
 int getTelemetryImageLength()
          Return the length in bits of the telemetry image that would be written by the object in response to a call to method writeToTelemetry.
 void holdManoeuvre(Manoeuvre m)
          Hold a manoeuvre.
 void holdManoeuvre(short t)
          Hold a manoeuvre.
 boolean initialize()
          No initialization actions are associated to this active object.
 void initializeManoeuvreList(int listSize)
          ManoeuvreManager class must be statically configured prior to initializing an individual ManoeuvreManager.
 boolean isConfigured()
          Checks the configuration.
 void removeManoeuvre(Manoeuvre m)
          Unload a manoeuvre.
 void resetConfiguration()
          Resets configuration of the super object and performs the local reset of the configuration.
 void resumeManoeuvre(Manoeuvre m)
          Resume a held manoeuvre.
 void resumeManoeuvre(short t)
          Resume all manoeuvres of the specified type.
protected  void runAbortedManoeuvre(Manoeuvre mm)
          This implementation removes the manoeuvre from the manoeuvre list.
protected  void runFinishedManoeuvre(Manoeuvre mm)
          This implementation notifies the manoeuvre that it can perform its final close down and removes it from the manoeuvre list.
protected  void runHeldManoeuvre(Manoeuvre mm)
          This implementation does nothing.
protected  void runInProcessManoeuvre(Manoeuvre mm)
          This implementation verifies that the manoeuvre can continue.
protected  void runManoeuvre(Manoeuvre mm)
          This method determines the current state of the manoeuvre and dispatches it to other methods accordingly.
 void runOneCycle(int deadline)
          Perform all actions associated to the current cycle.
protected  void runReadyManoeuvre(Manoeuvre mm)
          This implementation checks to see if is the appropriate time to start the manoeuvre.
protected  void runResetManoeuvre(Manoeuvre mm)
          This implementation notifies the manoeuvre that it is being aborted and removes it from the manoeuvre list.
 void setManoeuvreListSize(int listSize)
          This method is identical to method initializeManoeuvreList.
 void startManoeuvre(Manoeuvre m)
          This method forces the start of a manoeuvre.
 void startManoeuvre(short t)
          This method forces the starting of all manoeuvres of the specified type.
 boolean terminate()
          No termination actions are associated to this active object.
 void writeToTelemetry(TelemetryStream stream)
          Causes the object to write its own state to the telemetry stream.
 
Methods inherited from class RtjAocsFramework.BasicObjects.AocsObject
addConfigurationListener, addFailureListener, finalize, getAocsClock, getConfigurationListenerList, getCycle, getDestructionRecoveryAction, getFailureListenerList, getSystemManager, getTelemetryFormat, getTime, removeConfigurationListener, removeFailureListener, reportConfigurationEvent, reportFailure, reset, 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

ManoeuvreManager

public ManoeuvreManager()
ManoeuvreManager

Method Detail

runManoeuvre

protected void runManoeuvre(Manoeuvre mm)
This method determines the current state of the manoeuvre and dispatches it to other methods accordingly. Subclasses can override this method to change the way manoeuvres are dispatched without needing to manipulate the manoeuvre list

Parameters:
mm - monitored manoeuvre to run

runInProcessManoeuvre

protected void runInProcessManoeuvre(Manoeuvre mm)
This implementation verifies that the manoeuvre can continue. If it can continue, then it is continued. Otherwise, it is aborted and removed from the manoeuvre list. Subclasses can override this method to change just the way an inProcess manoeuvre is handled.

Parameters:
mm - manoeuvre to run

runReadyManoeuvre

protected void runReadyManoeuvre(Manoeuvre mm)
This implementation checks to see if is the appropriate time to start the manoeuvre. If it is and conditions are right (as determined by a call to canStart()), then the manoeuvre is initialized. Subclasses can override this method to change just the way a ready manoeuvre is handled.

Parameters:
mm - manoeuvre to run

runFinishedManoeuvre

protected void runFinishedManoeuvre(Manoeuvre mm)
This implementation notifies the manoeuvre that it can perform its final close down and removes it from the manoeuvre list. Subclasses can override this method to change just the way a finished manoeuvre is handled.

Parameters:
mm - manoeuvre to run

runResetManoeuvre

protected void runResetManoeuvre(Manoeuvre mm)
This implementation notifies the manoeuvre that it is being aborted and removes it from the manoeuvre list. Subclasses can override this method to change just the way a reset manoeuvre is handled.

Parameters:
mm - manoeuvre to run

runAbortedManoeuvre

protected void runAbortedManoeuvre(Manoeuvre mm)
This implementation removes the manoeuvre from the manoeuvre list. Subclasses can override this method to change just the way an aborted manoeuvre is handled.

Parameters:
mm - manoeuvre to run

runHeldManoeuvre

protected void runHeldManoeuvre(Manoeuvre mm)
This implementation does nothing. Subclasses can override this method to change just the way an onHold manoeuvre is handled.

Parameters:
mm - monitored manoeuvre to run

resetConfiguration

public void resetConfiguration()
Resets configuration of the super object and performs the local reset of the configuration.

Specified by:
resetConfiguration in interface Configurable
Overrides:
resetConfiguration in class AocsObject

isConfigured

public boolean isConfigured()
Checks the configuration.

Specified by:
isConfigured in interface Configurable
Overrides:
isConfigured in class AocsObject
Returns:
the true value if the object is configured, otherwise returns false

getTelemetryImageLength

public int getTelemetryImageLength()
Return the length in bits of the telemetry image that would be written by the object in response to a call to method writeToTelemetry.

Specified by:
getTelemetryImageLength in interface Telemeterable
Overrides:
getTelemetryImageLength in class AocsObject
Returns:
the length in bits of the telemetry image

writeToTelemetry

public void writeToTelemetry(TelemetryStream stream)
Causes the object to write its own state to the telemetry stream.

Specified by:
writeToTelemetry in interface Telemeterable
Overrides:
writeToTelemetry in class AocsObject
Parameters:
stream - the telemetry stream

initializeManoeuvreList

public void initializeManoeuvreList(int listSize)
ManoeuvreManager class must be statically configured prior to initializing an individual ManoeuvreManager.

Parameters:
listSize - the number of manoeuvres supported by this ManoeuvreManager

setManoeuvreListSize

public void setManoeuvreListSize(int listSize)
This method is identical to method initializeManoeuvreList.

Parameters:
listSize - the number of manoeuvres supported by this ManoeuvreManager

addManoeuvre

public void addManoeuvre(Manoeuvre m)
Load a manoeuvre.

Parameters:
m - a manoeuvre to load

removeManoeuvre

public void removeManoeuvre(Manoeuvre m)
Unload a manoeuvre.

Parameters:
m - a manoeuvre to unload

holdManoeuvre

public void holdManoeuvre(Manoeuvre m)
Hold a manoeuvre.

Parameters:
m - a manoeuvre to hold

holdManoeuvre

public void holdManoeuvre(short t)
Hold a manoeuvre.

Parameters:
t - a type of manoeuvres to hold

resumeManoeuvre

public void resumeManoeuvre(Manoeuvre m)
Resume a held manoeuvre.

Parameters:
m - a manoeuvre to resume

resumeManoeuvre

public void resumeManoeuvre(short t)
Resume all manoeuvres of the specified type.

Parameters:
t - a type of manoeuvres to resume

startManoeuvre

public void startManoeuvre(Manoeuvre m)
This method forces the start of a manoeuvre. Thereby ignoring the manoeuvres specified start time and ignoring its specified starting conditions as given by it's canStart() method.

Parameters:
m - a manoeuvre to start

startManoeuvre

public void startManoeuvre(short t)
This method forces the starting of all manoeuvres of the specified type. Just as the startManoeuvre(Manoeuvre m) method does, this method ignores both the specified start time for its manoeuvres and their starting conditions.

Parameters:
t - a type of manoeuvres to start

abortManoeuvre

public void abortManoeuvre(Manoeuvre m)
Abort a manoeuvre.

Parameters:
m - a manoeuvre to abort

abortManoeuvre

public void abortManoeuvre(short t)
Abort all manoeuvres of the specified type.

Parameters:
t - a type of manoeuvres to abort

initialize

public boolean initialize()
No initialization actions are associated to this active object.

Specified by:
initialize in interface ActiveObject
Returns:
true if initialization was successful.

terminate

public boolean terminate()
No termination actions are associated to this active object.

Specified by:
terminate in interface ActiveObject
Returns:
true if shutdown was successful.

runOneCycle

public void runOneCycle(int deadline)
Description copied from interface: ActiveObject
Perform all actions associated to the current cycle.

Specified by:
runOneCycle in interface ActiveObject
Parameters:
deadline - deadline by which the object must have returned. This parameter allows implementation of cooperative scheduling.

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