|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectutil.PropertyContainer
util.PropertyResources
util.PropertyBundles
util.rmi.RmiPropertyContainer
util.rmi.AbstractRmiListener
stella.rmi.AbstractRmiCasterAndListener
stella.rmi.ReceiverTorso
stella.rmi.GenericSimulator
stella.calibration.CalibrationSimulator
public class CalibrationSimulator
Simulates the action of the adapter.
DropTarget,
LostGuiding, LostTarget, NoCalibration,
NoFlatField, NoGuiding, and RegainedGuiding.
LostGuiding may only be issued if adapter is in guiding mode,
after a StartGuidingAdapter and guiding is not already lost.
LostTarget may be issued if adapter is in guiding mode, regardless
if it lost guiding, but only if target was not already lost.
DropTarget is issued in a lost-guiding or lost-target situation.
RegainedGuiding is only issued after guiding or target has been
lost.
The other three errors may be issued at any time. To allow testing of
the call-back query (if the adapter needs the telescope azimuth), a
special error is introduced RequestTelescopePosition. This error
is scheduled out of the command cycle and captured in the isAllowed(stella.ErrorEvent)
method in a way that during guiding the remote paramters are queried and
the values retrieved are stored locally (for status commands). For this
error, isAllowed(stella.ErrorEvent) always returns false, because it is not
a regular error that should be thrown at any time.AcquireAdapter, CalibrationOnAdapter,
CalibrationOffAdapter, ExposeAdapter, FindAdapter,
FlatFieldOnAdapter, FlatFieldOffAdapter,
InitAdapter,
ParkAdapter, SelectFilterAdapter,
StartGuidingAdapter, StopGuidingAdapter, and
StatusAdapter commands. See processCommand(stella.CommandEvent, int) for details.
CommandEvent.getExpectedAcknowledgeNumber().
| 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.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 |
|---|
public static final String KEY_THARSWITCH
public static final String KEY_QUARTZSWITCH
public static final String KEY_FAILCALIBRATION
public static final String KEY_FAILFILTERPRESENT
public static final String KEY_FAILFILTERSTUCK
public static final String KEY_FAILFLATFIELD
public static final String KEY_FAILMOVE
private static final String DEFTHARSWITCH
private static final String DEFQUARTZSWITCH
private static final double DEFFAILCALIBRATION
private static final double DEFFAILFILTERPRESENT
private static final double DEFFAILFILTERSTUCK
private static final double DEFFAILFLATFIELD
private static final double DEFFAILMOVE
private static final String THAR
private static final String QUARTZ
private static final String HOME
private static final String DEFERRORCLASSES
private static final String DEFERRORPROBABILITIES
private static final String[] COMMANDS
private static final String[] ACKTIMES
private static final String[] DONETIMES
private static final String[] DIVERT
private Class stage
private ErrorEvent lasterror
private boolean calibrationdead
private boolean flatfielddead
| Constructor Detail |
|---|
public CalibrationSimulator(Map prop)
throws RemoteException
processCommand(stella.CommandEvent, int).
RemoteException| Method Detail |
|---|
public void initStep(int curstep)
initStep in interface StepInitializableinitStep in class GenericSimulatorcurstep - The current initialization depth.private void init5()
private static Map myAugment(Map def)
public boolean accepts(CommandEvent ce)
throws RemoteException
AdapterCommands.
RemoteExceptionprotected boolean isAllowed(ErrorEvent ee)
NoCalibration, NoFlatField, and
NoGuiding errors are always allowed.LostGuiding error is allowed, if the adapter is
guiding (#guide, and if guiding or the target have not already
been lost (#lostguide, #losttarget).LostTarget error is allowed, if the adapter is
guiding (#guide, and if the target has not been lost. Different
to LostGuiding it is also allowed if the guiding has been lost.
DropTarget is allowed only if at least the guiding or,
this reflects the more realistic case, the the target was lost. In
the simulator, no distinction is made between allowence after
lost guiding or lost target.RegainedGuiding is allowed only if the target or the
guiding has been lost.RequestTelescopePosition, which
is a error only used during simulation, will always return false (so
that it is not transported to an error handler, but will spark
a remote-retrieval of the telescope position.
isAllowed in class GenericSimulatorprotected ErrorEvent getLastError()
getLastError in class ReceiverTorso
protected long getCompletionTime(CommandEvent ce,
int acknr)
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.
getCompletionTime in class GenericSimulatorce - The command to process.acknr - The number of the acknowledge that will be sent back.
protected long getSimulationTime(CommandEvent ce,
int acknr)
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.
getSimulationTime in class GenericSimulator
protected boolean processCommand(CommandEvent ce,
int acknr)
AcquireAdapter: This command is issued when the adapter
should acquire a target star. It therefore compares a list of
field-of-view stars provided with the FindAdapter command
with the current field-of-view obtained by the guiding ccd.
Failure is possible in quite a bunch of ways: A NoGuiding
error might be thrown, #KEY_FAILGUIDE. This error is also
command-cycle independent. Additionally, a NoStarOnAcquire
error might be thrown #KEY_FAILSTAR. This error might occur
rather frequently, it is an indication of cloud coverage. Then,
an AmbiguousStarPattern might occur if the star constellation
found does not coincide with the field-of-view stars transfered in
the FindAdapter command, probability #KEY_FAILAMBIGUOUS.
Last but not least, a
TargetStarMagnitude status event might be issued
(#KEY_MAGNITUDE), if the
target star was found, but its brightness is well of the expected
value. This status event is intended for identifying acquiring
difficulties and will not block target acquisition.CalibrationOnAdapter: Fails with
KEY_FAILCALIBRATION to a NoCalibration. This error may
also occur out-of-cycle.CalibrationOffAdapter: Never fails.ExposeAdapter: Sends back a AdapterFwhm status
message. To allow focus groups to be tested, the current focus position
is queried via RMI in the #focus value. Depending on
#KEY_FOCUSOPTIMUM and #KEY_FOCUSFWHM together with
#KEY_FOCUSDIVERT an artificial FWHM of the star image is
calculated and sent back to the SCS.FindAdapter Never fails.FlatFieldOnAdapter Fails with
KEY_FAILFLATFIELD to a NoFlatField. This error may
also occur out-of-cycle.FlatFieldOffAdapter never fails.InitAdapter Fails with a #KEY_FAILINIT probability
to a CannotInitAdapter.ParkAdapter never fails.SelectFilterAdapter Fails with a
KEY_FAILFILTERPRESENT to a NoSuchFilter.
Additionally can throw a NoFilterWheel
(KEY_FAILFILTERSTUCK).StartGuidingAdapter Fails with #KEY_FAILGUIDE to
a NoStarOnAcquire.StopGuidingAdapter never fails.StatusAdapter sends back an artificial status command, as
right now no parameter is coupled to this status event.
processCommand in class GenericSimulator
public static void main(String[] arg)
throws RemoteException
RemoteException
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||