Real-Time Java AOCS Framework v1.0 API Specification

RtjAocsFramework.SequentialDataProcessing
Class XmathUcbBlock

java.lang.Object
  |
  +--RtjAocsFramework.BasicObjects.RootObject
        |
        +--RtjAocsFramework.BasicObjects.AocsObject
              |
              +--RtjAocsFramework.SequentialDataProcessing.AbstractControlChannel
                    |
                    +--RtjAocsFramework.SequentialDataProcessing.ControlChannelBlock
                          |
                          +--RtjAocsFramework.SequentialDataProcessing.XmathUcbBlock
All Implemented Interfaces:
Configurable, DataSink, DataSource, Resettable, Telemeterable
Direct Known Subclasses:
XmathUcbFirstTest, XmathUcbIntegratorTest, XmathUcbPidBlock, XmathUcbRampTest

public abstract class XmathUcbBlock
extends ControlChannelBlock

Control block acting as a container for a UCB-style autocode procedure generated by Xmath.

Copyright: see the Copyright Notice.

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

Field Summary
protected  int[] I_P
          required for UCB interface
protected  int[] iinfo
          required for UCB interface
protected  double[] R_P
          required for UCB interface
protected  double[] rinfo
          required for UCB interface
protected  double[] stateDer
          required for UCB interface
protected  RecoveryAction xmathRecoveryAction
          Recovery action invoked when UCB routine reports an error
 
Fields inherited from class RtjAocsFramework.SequentialDataProcessing.ControlChannelBlock
dataSourceOutputPosition, initFlag, input, inputLink, onHold, output, outputBuffer, p, state, validityTime
 
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
XmathUcbBlock(int i, int j, int k, int nR, int nI, int sT)
          Creates a new XmathUcbBlock object with the specified number of inputs, number of outputs, number of states, number of real parameters, number of integer parameters, and sampling time.
 
Method Summary
 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.
 RecoveryAction getUcbErrorRecoveryAction()
          Getter method for the recovery action invoked by a failure event in a xmath block.
protected  void propagationAlgorithm(int t)
          The propagation algorithm of the propagation block.
 void reset()
          Resets the super object state and performs the local reset.
 void resetConfiguration()
          Resets configuration of the super object and performs the local reset of the configuration.
 void setSamplingTime(int sT)
          Setter method for the sampling time.
 void setUcbErrorRecoveryAction(RecoveryAction r)
          Setter method for the recovery action invoked by a failure event in a xmath block.
abstract  void ucbHook(int[] iinfoUcbHook, double[] rinfoUcbHook, double[] inputUcbHook, double[] stateUcbHook, double[] stateDerUcbHook, double[] outputUcbHook, double[] R_P_UcbHook, int[] I_P_UcbHook)
          Calls the UCB subroutine.
 void writeToTelemetry(TelemetryStream stream)
          Causes the object to write its own state to the telemetry stream.
 
Methods inherited from class RtjAocsFramework.SequentialDataProcessing.ControlChannelBlock
getNumberOfStates, getOutput, getState, getValidityTime, isConfigured, isOnHold, linkInput, linkInput, propagate, resetMemory, setInput, setInputSize, setOnHold, setOutputSize, setState, setStateSize
 
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, 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
 

Field Detail

iinfo

protected int[] iinfo
required for UCB interface


rinfo

protected double[] rinfo
required for UCB interface


I_P

protected int[] I_P
required for UCB interface


R_P

protected double[] R_P
required for UCB interface


stateDer

protected double[] stateDer
required for UCB interface


xmathRecoveryAction

protected RecoveryAction xmathRecoveryAction
Recovery action invoked when UCB routine reports an error

Constructor Detail

XmathUcbBlock

public XmathUcbBlock(int i,
                     int j,
                     int k,
                     int nR,
                     int nI,
                     int sT)
Creates a new XmathUcbBlock object with the specified number of inputs, number of outputs, number of states, number of real parameters, number of integer parameters, and sampling time.

Parameters:
i - the number of inputs
j - the number of outputs
k - the number of states
nR - the number of real parameters
nI - the number of integer parameters
sT - the sampling time
Method Detail

ucbHook

public abstract void ucbHook(int[] iinfoUcbHook,
                             double[] rinfoUcbHook,
                             double[] inputUcbHook,
                             double[] stateUcbHook,
                             double[] stateDerUcbHook,
                             double[] outputUcbHook,
                             double[] R_P_UcbHook,
                             int[] I_P_UcbHook)
Calls the UCB subroutine.


propagationAlgorithm

protected void propagationAlgorithm(int t)
The propagation algorithm of the propagation block.

Specified by:
propagationAlgorithm in class ControlChannelBlock
Parameters:
t - the target time

reset

public void reset()
Resets the super object state and performs the local reset.

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

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 ControlChannelBlock

setSamplingTime

public void setSamplingTime(int sT)
Setter method for the sampling time.

Parameters:
sT - the sampling time

setUcbErrorRecoveryAction

public void setUcbErrorRecoveryAction(RecoveryAction r)
Setter method for the recovery action invoked by a failure event in a xmath block.

Parameters:
r - the recovery action

getUcbErrorRecoveryAction

public RecoveryAction getUcbErrorRecoveryAction()
Getter method for the recovery action invoked by a failure event in a xmath block.

Returns:
the recovery action associated to a failure event

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