stella.calibration
Class CalibrationSimulator

java.lang.Object
  extended by util.PropertyContainer
      extended by util.PropertyResources
          extended by util.PropertyBundles
              extended by util.rmi.RmiPropertyContainer
                  extended by util.rmi.AbstractRmiListener
                      extended by stella.rmi.AbstractRmiCasterAndListener
                          extended by stella.rmi.ReceiverTorso
                              extended by stella.rmi.GenericSimulator
                                  extended by stella.calibration.CalibrationSimulator
All Implemented Interfaces:
Cloneable, Remote, EventListener, Caster, ErrorSending, ErrorCaster, RmiAcknowledgeCaster, RmiCommandListener, RmiDoneCaster, RmiErrorCaster, ExitCleaning, Initializable, LocalizedSupplying, PropertySupplying, ResourceSupplying, RmiCaster, RmiEventListener, RmiListener, RmiPropertyBearing, StepInitializable

public class CalibrationSimulator
extends GenericSimulator

Simulates the action of the adapter.


Nested Class Summary
 
Nested classes/interfaces inherited from class stella.rmi.ReceiverTorso
ReceiverTorso.CommandHandler
 
Nested classes/interfaces inherited from class util.PropertyResources
PropertyResources.URLResource
 
Field Summary
private static String[] ACKTIMES
          The acknowledge times, same order as commands.
private  boolean calibrationdead
          True, if a no-calibration error was thrown.
private static String[] COMMANDS
          The known command types, used for acknowledges and true dones.
private static String DEFERRORCLASSES
          The default error list.
private static String DEFERRORPROBABILITIES
          The default error probabilities.
private static double DEFFAILCALIBRATION
          The default error list.
private static double DEFFAILFILTERPRESENT
          The default error list.
private static double DEFFAILFILTERSTUCK
          The default error list.
private static double DEFFAILFLATFIELD
          The default error list.
private static double DEFFAILMOVE
          The default error list.
private static String DEFQUARTZSWITCH
          The default name of the simulated quartz switch .
private static String DEFTHARSWITCH
          The default name of the simulated thar switch .
private static String[] DIVERT
          The divergence factors for the simulation times of the commands.
private static String[] DONETIMES
          The actual simulation times for the commands.
private  boolean flatfielddead
          True, if a no-flat-field error was thrown.
private static String HOME
          The resevered position of the stage for ThAr.
static String KEY_FAILCALIBRATION
          The key to the failure probability of the calibration unit.
static String KEY_FAILFILTERPRESENT
          The probability of requesting a non-present guiding filter.
static String KEY_FAILFILTERSTUCK
          The probability of a stuck filter wheel.
static String KEY_FAILFLATFIELD
          The key to the failure probability of the flat field lamp.
static String KEY_FAILMOVE
          The key to the failure probability of the initialization process.
static String KEY_QUARTZSWITCH
          The key to the trigger naming calibration-light.
static String KEY_THARSWITCH
          The key to the trigger naming calibration-light.
private  ErrorEvent lasterror
          The last error occured.
private static String QUARTZ
          The resevered position of the stage for ThAr.
private  Class stage
          The position of the linear stage.
private static String THAR
          The resevered position of the stage for ThAr.
 
Fields inherited from class stella.rmi.GenericSimulator
ACKNOWLEDGEPREFIX, DEFUNIQUE, DEVIATEPREFIX, DONEPREFIX, KEY_ACCELERATE, KEY_ERRORCLASSES, KEY_ERRORINTERVAL, KEY_ERRORPROBABILITIES, KEY_GENERICACKNOWLEDGE, KEY_GENERICDEVIATE, KEY_GENERICDONE, KEY_SET, KEY_UNIQUE, random
 
Fields inherited from class stella.rmi.ReceiverTorso
KEY_BIND, KEY_BINDNAME, KEY_COMMANDCASTER, KEY_ERRORCOOL
 
Fields inherited from class util.rmi.AbstractRmiListener
KEY_ALIVE, KEY_EXPORTPORT, KEY_INIT, KEY_LISTENERNAME, KEY_RETRY, KEY_RETRYSLEEP, KEY_SHUTDOWNDELAY
 
Fields inherited from class util.PropertyBundles
KEY_LOCALECOUNTRY, KEY_LOCALELANGUAGE, KEY_RESOURCEBUNDLES
 
Fields inherited from class util.PropertyResources
KEY_NOINITONCREATE, localurl, locate, POSTFIX_DIR, POSTFIX_EXT, POSTFIX_FILE, POSTFIX_LIST, POSTFIX_URL, urlset
 
Fields inherited from class util.PropertyContainer
KEY_LISTSEPARATOR, KEY_MAPKEYVALUECHAR, KEY_MAPSEPARATOR
 
Fields inherited from interface stella.rmi.RmiAcknowledgeCaster
NAMING_EXTENSION
 
Fields inherited from interface stella.rmi.RmiDoneCaster
NAMING_EXTENSION
 
Fields inherited from interface util.StepInitializable
KEY_INITDEPTH
 
Fields inherited from interface util.ResourceSupplying
KEY_URLRESOURCES, KEY_URLUSECONFIG, KEY_URLUSECURRENT, KEY_URLUSEHOME
 
Fields inherited from interface util.PropertySupplying
CONFIG, KEY_CLASS
 
Constructor Summary
CalibrationSimulator(Map prop)
          Constructs a new adapter simulator.
 
Method Summary
 boolean accepts(CommandEvent ce)
          Returns true if this receiver accepts commands of the type handed over as an argument.
protected  long getCompletionTime(CommandEvent ce, int acknr)
          Returns the completion time.
protected  ErrorEvent getLastError()
          Returns the last error that occured during command processing.
protected  long getSimulationTime(CommandEvent ce, int acknr)
          Returns the simulation time.
private  void init5()
          We delay the initialization of the remote values to the last stages of the intialization to avoid blocking.
 void initStep(int curstep)
          We delay the initialization of the remote values to the last stages of the intialization to avoid blocking.
protected  boolean isAllowed(ErrorEvent ee)
          Returns true if the error handed over is allowed.
static void main(String[] arg)
          Constructs a new adapter simulator.
private static Map myAugment(Map def)
          Augmentes the properties for the acknowledge, done, and divert times.
protected  boolean processCommand(CommandEvent ce, int acknr)
          Simulates execution of the adapter commands.
 
Methods inherited from class stella.rmi.GenericSimulator
augmentProperties, exit, formatWithGlobals, getAcknowledgeNumber, getNoisyTime, getParameter, getParameterByKey, getParameterByName, getParameterCluster, getParameterValueByKey, getParameterValueByName, getTrigger, getUnique, getValue, setParameter, setParameterValueByKey, setParameterValueByName, setTrigger, setValue, shutdown, sleepFor, statusSimulator
 
Methods inherited from class stella.rmi.ReceiverTorso
addRmiAcknowledgeListener, addRmiDoneListener, bindDefault, containsRemoteProperty, deregisterAtCaster, equals, getRemoteProperties, getRemoteProperty, hashCode, notifyAcknowledgeListener, notifyDoneListener, registerAtCaster, removeRmiAcknowledgeListener, removeRmiDoneListener, rescanned, rmiCommand, sendAllPrematureDone, sendPrematureDone, setRemoteProperty, toString, unbindDefault
 
Methods inherited from class stella.rmi.AbstractRmiCasterAndListener
addErrorListener, addRmiErrorListener, bindToRegistry, getBindName, isValid, notifyErrorListener, removeErrorListener, removeRmiErrorListener, sendError, sendError, sendError, sendStatus, sendStatus, sendStatus, unbindFromRegistry
 
Methods inherited from class util.rmi.AbstractRmiListener
allBound, blockBinding, blockBinding, disconnect, getIP, getListenerName, isConnected, listenerName, releaseBinding, releaseBinding, startBinding, startBinding
 
Methods inherited from class util.PropertyBundles
clone, getLocalized, getLocalized, getLocalizedString, getLocalizedString, loadResource
 
Methods inherited from class util.PropertyResources
createFrom, createFrom, createFrom, getApplet, getAsResources, getLocalClassLoader, getPropertiesToKey, getPropertiesToKey, getResource, getResourceAsStream, getResourceFromKey, getResources, init, keyCreate, keyCreate, reload, setApplet
 
Methods inherited from class util.PropertyContainer
augment, augment, augment, defaultBoolean, defaultChar, defaultDouble, defaultFloat, defaultInt, defaultLong, defaultObject, defaultObject, defaultProperties, defaultProperty, getAsBoolean, getAsChar, getAsDouble, getAsEnums, getAsFloat, getAsInt, getAsList, getAsLong, getAsMap, getAsMap, getAsObject, getAsObject, getProperties, getProperty, has, isNew, parseObject, reload, removeProperty, setObject, setProperties, setProperty, stringProperties
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface util.rmi.RmiCaster
bindToRegistry, isValid, unbindFromRegistry
 
Methods inherited from interface stella.ErrorCaster
addErrorListener, removeErrorListener
 
Methods inherited from interface util.rmi.RmiEventListener
getListenerName
 
Methods inherited from interface util.rmi.RmiListener
disconnect, isConnected
 
Methods inherited from interface util.ResourceSupplying
getResource, getResourceAsStream, getResources
 
Methods inherited from interface util.PropertySupplying
defaultBoolean, defaultChar, defaultDouble, defaultFloat, defaultInt, defaultLong, defaultObject, defaultObject, defaultProperties, defaultProperty, getAsBoolean, getAsChar, getAsDouble, getAsFloat, getAsInt, getAsList, getAsLong, getAsMap, getAsObject, getAsObject, getProperties, getProperty, has, parseObject, removeProperty, setObject, setProperty, stringProperties
 
Methods inherited from interface util.Initializable
init
 

Field Detail

KEY_THARSWITCH

public static final String KEY_THARSWITCH
The key to the trigger naming calibration-light.

See Also:
Constant Field Values

KEY_QUARTZSWITCH

public static final String KEY_QUARTZSWITCH
The key to the trigger naming calibration-light.

See Also:
Constant Field Values

KEY_FAILCALIBRATION

public static final String KEY_FAILCALIBRATION
The key to the failure probability of the calibration unit.

See Also:
Constant Field Values

KEY_FAILFILTERPRESENT

public static final String KEY_FAILFILTERPRESENT
The probability of requesting a non-present guiding filter.

See Also:
Constant Field Values

KEY_FAILFILTERSTUCK

public static final String KEY_FAILFILTERSTUCK
The probability of a stuck filter wheel.

See Also:
Constant Field Values

KEY_FAILFLATFIELD

public static final String KEY_FAILFLATFIELD
The key to the failure probability of the flat field lamp.

See Also:
Constant Field Values

KEY_FAILMOVE

public static final String KEY_FAILMOVE
The key to the failure probability of the initialization process.

See Also:
Constant Field Values

DEFTHARSWITCH

private static final String DEFTHARSWITCH
The default name of the simulated thar switch .

See Also:
Constant Field Values

DEFQUARTZSWITCH

private static final String DEFQUARTZSWITCH
The default name of the simulated quartz switch .

See Also:
Constant Field Values

DEFFAILCALIBRATION

private static final double DEFFAILCALIBRATION
The default error list.

See Also:
Constant Field Values

DEFFAILFILTERPRESENT

private static final double DEFFAILFILTERPRESENT
The default error list.

See Also:
Constant Field Values

DEFFAILFILTERSTUCK

private static final double DEFFAILFILTERSTUCK
The default error list.

See Also:
Constant Field Values

DEFFAILFLATFIELD

private static final double DEFFAILFLATFIELD
The default error list.

See Also:
Constant Field Values

DEFFAILMOVE

private static final double DEFFAILMOVE
The default error list.

See Also:
Constant Field Values

THAR

private static final String THAR
The resevered position of the stage for ThAr.

See Also:
Constant Field Values

QUARTZ

private static final String QUARTZ
The resevered position of the stage for ThAr.

See Also:
Constant Field Values

HOME

private static final String HOME
The resevered position of the stage for ThAr.

See Also:
Constant Field Values

DEFERRORCLASSES

private static final String DEFERRORCLASSES
The default error list.

See Also:
Constant Field Values

DEFERRORPROBABILITIES

private static final String DEFERRORPROBABILITIES
The default error probabilities.

See Also:
Constant Field Values

COMMANDS

private static final String[] COMMANDS
The known command types, used for acknowledges and true dones.


ACKTIMES

private static final String[] ACKTIMES
The acknowledge times, same order as commands. Add exposure time on 4.


DONETIMES

private static final String[] DONETIMES
The actual simulation times for the commands. Add exposure time on 4.


DIVERT

private static final String[] DIVERT
The divergence factors for the simulation times of the commands.


stage

private Class stage
The position of the linear stage.


lasterror

private ErrorEvent lasterror
The last error occured.


calibrationdead

private boolean calibrationdead
True, if a no-calibration error was thrown.


flatfielddead

private boolean flatfielddead
True, if a no-flat-field error was thrown.

Constructor Detail

CalibrationSimulator

public CalibrationSimulator(Map prop)
                     throws RemoteException
Constructs a new adapter simulator. Does not serve any remote triggers. For details of command processing, see processCommand(stella.CommandEvent, int).

Throws:
RemoteException
Method Detail

initStep

public void initStep(int curstep)
We delay the initialization of the remote values to the last stages of the intialization to avoid blocking.

Specified by:
initStep in interface StepInitializable
Overrides:
initStep in class GenericSimulator
Parameters:
curstep - The current initialization depth.

init5

private void init5()
We delay the initialization of the remote values to the last stages of the intialization to avoid blocking.


myAugment

private static Map myAugment(Map def)
Augmentes the properties for the acknowledge, done, and divert times.


accepts

public boolean accepts(CommandEvent ce)
                throws RemoteException
Returns true if this receiver accepts commands of the type handed over as an argument. An adapter simulator accepts all sort of AdapterCommands.

Throws:
RemoteException

isAllowed

protected boolean isAllowed(ErrorEvent ee)
Returns true if the error handed over is allowed. The following things are checked:

Specified by:
isAllowed in class GenericSimulator

getLastError

protected ErrorEvent getLastError()
Returns the last error that occured during command processing.

Specified by:
getLastError in class ReceiverTorso

getCompletionTime

protected long getCompletionTime(CommandEvent ce,
                                 int acknr)
Returns the completion time. If the command is a ExposeAdapter command and the acknowledge number is zero, add the distorted exposure time carried by the command to the value returned by the parental method.

Overrides:
getCompletionTime in class GenericSimulator
Parameters:
ce - The command to process.
acknr - The number of the acknowledge that will be sent back.

getSimulationTime

protected long getSimulationTime(CommandEvent ce,
                                 int acknr)
Returns the simulation time. If the command is a ExposeAdapter command and the acknowledge number is zero, add the distorted exposure time carried by the command to the value returned by the parental method.

Overrides:
getSimulationTime in class GenericSimulator

processCommand

protected boolean processCommand(CommandEvent ce,
                                 int acknr)
Simulates execution of the adapter commands. The following commands are served and their possible consequences indicated:

Overrides:
processCommand in class GenericSimulator

main

public static void main(String[] arg)
                 throws RemoteException
Constructs a new adapter simulator. The single argument supplied are the simulator properties.

Throws:
RemoteException