Real-Time Java AOCS Framework v1.0 API Specification

RtjAocsFramework.ObjectMonitoring
Class ChangeObject

java.lang.Object
  |
  +--RtjAocsFramework.BasicObjects.RootObject
        |
        +--RtjAocsFramework.BasicObjects.AocsObject
              |
              +--RtjAocsFramework.ObjectMonitoring.ChangeObject
All Implemented Interfaces:
Configurable, Resettable, Telemeterable
Direct Known Subclasses:
DeltaChange, NoChange, OutOfRangeChange, SimpleChange

public abstract class ChangeObject
extends AocsObject

Base class from which all change objects are are derived. Change objects are useful when performing monitoring. The term monitoring refers to the observation of changes in the value of a variable. At the most basic level, monitors are interested in any change in the monitored variable. More frequently, however, they are only interested in certain types of changes. For instance, a failure detection manager may be interested in knowing when the output of a sensor exceeds certain pre-specified boundaries, as this might indicate that the sensor has failed. If the failure detection manager were notified every time the sun sensor output changes, it would have to implement a sensor-specific filtering mechanism to identify the out-of-range changes that might signal a failure. In order to avoid burdening monitors with the need to implement highly specific (and hence non-reusable) filters, the concept of change is encapsulated in dedicated objects which are called "change objects" and are derived from class ChangeObject. Thus, a change object is an object that encapsulates a specific time profile for a variable. The change is said to have occurred when the value of the variable has violated the time profile.

Copyright: see the Copyright Notice.

Version:
1.0
Author:
Alessandro Pasetti (University of Konstanz)
See Also:
The Object Monitoring Document.

Field Summary
protected  double referenceValue
           
 
Fields inherited from interface RtjAocsFramework.TelemetryManagement.Telemeterable
DEBUG_TM, LONG_TM, NORMAL_TM, NTMFORMATS, SHORT_TM
 
Constructor Summary
ChangeObject()
           
 
Method Summary
abstract  boolean checkValue(double value)
          Check whether argument value violates the profile encapsulated in the change object.
 double getReferenceValue()
          In order to characterize a change object, a reference value is attached to it.
 void setReferenceValue(double r)
           
 
Methods inherited from class RtjAocsFramework.BasicObjects.AocsObject
addConfigurationListener, addFailureListener, finalize, getAocsClock, getConfigurationListenerList, getCycle, getDestructionRecoveryAction, getFailureListenerList, getSystemManager, getTelemetryFormat, getTelemetryImageLength, getTime, isConfigured, removeConfigurationListener, removeFailureListener, reportConfigurationEvent, reportFailure, reset, resetConfiguration, 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

referenceValue

protected double referenceValue
Constructor Detail

ChangeObject

public ChangeObject()
Method Detail

checkValue

public abstract boolean checkValue(double value)
Check whether argument value violates the profile encapsulated in the change object. Change objects are responsible for carrying out a check on a variable value and deciding whether a specified change criterion is met. It is assumed that the variable value is always a double or can be meaningfully converted to a double. This method takes as argument the current value of the variable being monitored and returns true if this value represents a violation of the change profile encapsulated by the change object. Note that change objects will in general encapsulate profiles that extend over time and hence change objects need to keep track of past value of a property.

Thus, clients that intend to check the value of a variable to verify whether a particular type of change has occurred, hold a change object that encapsulates the desired type of change and periodically pass the variable as an argument to its method checkValue.


getReferenceValue

public double getReferenceValue()
In order to characterize a change object, a reference value is attached to it. Its interpretation depends on the type of change object. For instance, in the case of a DeltaChange object, the reference value might represent the value of the delta step. The reference value thus allows a rough characterization of the time profile encapsulated in the change object.


setReferenceValue

public void setReferenceValue(double r)
See Also:
getReferenceValue()

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