Real-Time Java AOCS Framework v1.0 API Specification

RtjAocsFramework.UnitManagement
Class UnitManager

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

public class UnitManager
extends AocsObject
implements ActiveObject

This class encapsulates an unit manager. The unit manager is an active component whose responsibility is the management of the unit proxies that acquire or send data to the real hardware. The unit manager performs functional and housekeeping actions upon unit proxies (upon the hardware) defined by a developer. The action is mode dependent, it means that the developer has a freedom to design several strategies how to handle (trigger) units, and system can change them. Additionally, the unit manager maintains a list of commands that are executed on particular smart units.

Copyright: see the Copyright Notice.

Version:
1.0
Author:
Vaclav Cechticky (IfA ETHZ), Alessandro Pasetti (University of Konstanz)
See Also:
Unit Framelet Document

Field Summary
 
Fields inherited from interface RtjAocsFramework.TelemetryManagement.Telemeterable
DEBUG_TM, LONG_TM, NORMAL_TM, NTMFORMATS, SHORT_TM
 
Constructor Summary
UnitManager()
          Create a new UnitManager object.
 
Method Summary
 void addCommand(UnitCommand uc)
          Load an unit command.
 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.
 UnitModeManager getUnitModeManager()
          Get the concrete mode manager that is currently set.
 boolean initialize()
          No initialization actions are associated to this active object.
 boolean isConfigured()
          Check the configuration of the super class, mode manager, and the list of commands.
 void reset()
          Reset super object state and performs a local reset.
 void resetConfiguration()
          Reset configuration of the super object and performs the local reset of the configuration.
 void runOneCycle(int deadline)
          Process all elementary actions and commands on external units.
 void setCommandListSize(int listSize)
          UnitManager class must be statically configured prior to initializing an individual UnitManager.
 void setUnitModeManager(UnitModeManager mm)
          Set a concrete mode manager that provides a mode switch for units.
 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, 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

UnitManager

public UnitManager()
Create a new UnitManager object.

Method Detail

isConfigured

public boolean isConfigured()
Check the configuration of the super class, mode manager, and the list of commands.

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

reset

public void reset()
Reset super object state and performs a local reset.

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

resetConfiguration

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

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

setCommandListSize

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

Parameters:
listSize - the number of unit commands supported by this UnitManager

addCommand

public void addCommand(UnitCommand uc)
Load an unit command.


runOneCycle

public void runOneCycle(int deadline)
Process all elementary actions and commands on external units. The actions performed by this method are: 1) sets the concrete triggering strategy for ordinary units; the triggering strategy specifies what kind of operations will be executed on units that are stored on dedicated lists for functional and housekeeping data (see class DefaultUnitTriggerStrategy) 2) execute operations on units implemented in a particular triggering strategy 3) execute commands on smart units

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

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.

setUnitModeManager

public void setUnitModeManager(UnitModeManager mm)
Set a concrete mode manager that provides a mode switch for units.

Parameters:
mm - concrete mode manager

getUnitModeManager

public UnitModeManager getUnitModeManager()
Get the concrete mode manager that is currently set.

Returns:
the unit mode manager

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

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