Real-Time Java AOCS Framework v1.0 API Specification

RtjAocsFramework.SequentialDataProcessing
Class ControlChannelSuperBlock

java.lang.Object
  |
  +--RtjAocsFramework.BasicObjects.RootObject
        |
        +--RtjAocsFramework.BasicObjects.AocsObject
              |
              +--RtjAocsFramework.SequentialDataProcessing.AbstractControlChannel
                    |
                    +--RtjAocsFramework.SequentialDataProcessing.ControlChannelSuperBlock
All Implemented Interfaces:
Configurable, DataSink, DataSource, Resettable, Telemeterable
Direct Known Subclasses:
JbedSmmPid

public class ControlChannelSuperBlock
extends AbstractControlChannel

ControlChannelSuperBlock is a container component for a control channel super-block. This class manages a set of interconnected lower-level blocks. The lower level blocks are seen as instances of AbstractControlChannel because they can be either control channel blocks or control channel super blocks.

Copyright: see the Copyright Notice.

Change Record: Version 1.1: : added class IoLink as a private class. Done by A. Pasetti on 17.02.03

Version:
1.1
Author:
Alessandro Pasetti (University of Konstanz), Vaclav Cechticky (IfA ETHZ)
See Also:
The Sequential Data Processing Framelet Document

Field Summary
protected  RtjAocsFramework.SequentialDataProcessing.ControlChannelSuperBlock.IoLink[] inputLink
          Array holding connections between internal blocks and external inputs
protected  RtjAocsFramework.SequentialDataProcessing.ControlChannelSuperBlock.IoLink[] outputLink
          Array holding connections between internal blocks and external outputs
 
Fields inherited from class RtjAocsFramework.SequentialDataProcessing.AbstractControlChannel
ccLink, channelPropagation, enclosingControlChannel, lastPropagatedTime, m, n, noPropagation, propagationToken, recoveryAction, totalPropagation
 
Fields inherited from interface RtjAocsFramework.TelemetryManagement.Telemeterable
DEBUG_TM, LONG_TM, NORMAL_TM, NTMFORMATS, SHORT_TM
 
Constructor Summary
ControlChannelSuperBlock(int nInputs, int nOutputs)
          Creates a new ControlChannelSuperBlock object with the specified order of the input and the specified order of the output.
 
Method Summary
 double getOutput(int j)
          Returns the j-th output of the control channel super block.
 boolean isConfigured()
          Check that the super block has more than 0 outputs and that its inputs and outputs are connected.
 boolean isOnHold()
          Returns true if the super block is on hold.
 void linkInput(AbstractControlChannel c, int i, int j)
          Links j-th input to i-th output of control channel c.
 void linkInput(DataSource d, int i, int j)
          Links the j-th input of the control channel to the data source.
 void linkInputInternal(DataSource c, int i, int j)
          Links the i-th input of ControlChannel to the j-th input of the super channel.
 void linkOutputInternal(DataSource c, int i, int j)
          Links the i-th output of ControlChannel to the j-th output of the super channel.
 void propagate(int t)
          Propagates state and output equations from the current time to the target time t.
 void reset()
          Resets super object state and resets all the control channels embedded in the super block
 void resetConfiguration()
          Resets configuration of the super object and performs the local reset of the configuration.
 void setInput(double d, int i)
          Sets the new value of the i-th input of the control channel super block.
 void setOnHold(boolean holdStatus)
          Setter method that suspends or resumes the state propagation.
 
Methods inherited from class RtjAocsFramework.SequentialDataProcessing.AbstractControlChannel
getEnclosingControlChannel, getIllegalTimeRecoveryAction, getLastPropagatedTime, getNumberOfInputs, getNumberOfOutputs, getPropagationToken, reset, setEnclosingControlChannel, setIllegalTimeRecoveryAction, setNumberOfInputs, setNumberOfOutputs, setPropagationToken
 
Methods inherited from class RtjAocsFramework.BasicObjects.AocsObject
addConfigurationListener, addFailureListener, finalize, getAocsClock, getConfigurationListenerList, getCycle, getDestructionRecoveryAction, getFailureListenerList, getSystemManager, getTelemetryFormat, getTelemetryImageLength, getTime, removeConfigurationListener, removeFailureListener, reportConfigurationEvent, reportFailure, resetStaticConfiguration, setAocsClock, setDestructionRecoveryAction, setMaxNumberOfConfigurationListeners, setMaxNumberOfFailureListeners, setSystemManager, setTelemetryFormat, writeToTelemetry
 
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
 

Field Detail

inputLink

protected RtjAocsFramework.SequentialDataProcessing.ControlChannelSuperBlock.IoLink[] inputLink
Array holding connections between internal blocks and external inputs


outputLink

protected RtjAocsFramework.SequentialDataProcessing.ControlChannelSuperBlock.IoLink[] outputLink
Array holding connections between internal blocks and external outputs

Constructor Detail

ControlChannelSuperBlock

public ControlChannelSuperBlock(int nInputs,
                                int nOutputs)
Creates a new ControlChannelSuperBlock object with the specified order of the input and the specified order of the output.

Parameters:
nInputs - the order of the input
nOutputs - the order of the output
Method Detail

propagate

public void propagate(int t)
Propagates state and output equations from the current time to the target time t.

Specified by:
propagate in class AbstractControlChannel
Parameters:
t - the target time

linkInput

public void linkInput(DataSource d,
                      int i,
                      int j)
Links the j-th input of the control channel to the data source.

Specified by:
linkInput in class AbstractControlChannel
Parameters:
d - the fixed data source
j - the input of the control channel
i - the output of the fixed data source

linkInput

public void linkInput(AbstractControlChannel c,
                      int i,
                      int j)
Links j-th input to i-th output of control channel c.

Specified by:
linkInput in class AbstractControlChannel
Parameters:
c - another control channel
i - output of another control channel
j - the input of the control channel

linkInputInternal

public void linkInputInternal(DataSource c,
                              int i,
                              int j)
Links the i-th input of ControlChannel to the j-th input of the super channel.

Parameters:
c - a control channel
i - input of a control channel
j - input of the super channel

linkOutputInternal

public void linkOutputInternal(DataSource c,
                               int i,
                               int j)
Links the i-th output of ControlChannel to the j-th output of the super channel.

Parameters:
c - a control channel
i - output of a control channel
j - output of the super channel

setInput

public void setInput(double d,
                     int i)
Sets the new value of the i-th input of the control channel super block.

Specified by:
setInput in interface DataSink
Specified by:
setInput in class AbstractControlChannel
Parameters:
d - the new value
i - the particular input

getOutput

public double getOutput(int j)
Returns the j-th output of the control channel super block.

Specified by:
getOutput in interface DataSource
Specified by:
getOutput in class AbstractControlChannel
Parameters:
j - determines a particular output of the control channel super block
Returns:
the j-th output of the control channel

setOnHold

public void setOnHold(boolean holdStatus)
Setter method that suspends or resumes the state propagation. NB: This method is not implemented in framework prototype!

Specified by:
setOnHold in class AbstractControlChannel

isOnHold

public boolean isOnHold()
Returns true if the super block is on hold. NB: This method is not implemented in framework prototype!


reset

public void reset()
Resets super object state and resets all the control channels embedded in the super block

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

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 AbstractControlChannel

isConfigured

public boolean isConfigured()
Check that the super block has more than 0 outputs and that its inputs and outputs are connected.

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

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