Device: Base Device
Class Name:
<<Device>>lsfDEVICE
Description:
Abstract class for the control the devices used by a sub-system.
Inheritance:
BASE_CLASS
Use Case diagram:

Class diagram:

Architecture:
The <<Device>> class lsfDEVICE
is the base class for Hardware & Software Device control.
The public methods are: None.
The protected methods associated to the standard
commands are abstract, their specific behavior shall be defined by
sub-classing:
- lsfDeviceInit(): perform
device initialization
- lsfDeviceStandby(): set
device in Standby state
- lsfDeviceOnline(): set device
on-line
- lsfDeviceStop(): stop any
on-going activity
- lsfDeviceOff(): switch off device
- lsfDeviceExit(): exit control
- lsfDeviceSimulat(): set
device in Simulation (no HW access)
- lsfDeviceStopSim(): resume
from simulation
- lsfDeviceSelfTest(): perform
self test (check presence of device)
- lsfDeviceTest(): perform
device test
and the additional query commands:
- lsfDeviceGetState(): retrieve
device state
- lsfDeviceGetStatus(): retrieve
device status
- lsfDeviceGetInit(): retrieve
device initialization flag (True when initialized)
- lsfDeviceGetSim(): retrieve
device simulation flag (True on Simulation)
The simulation mode is essential: it shall be possible to simulate
all functions of the device without the associated hardware.
In addition the following protected concrete methods are available
for any derived device:
- lsfDeviceSetStatus(): set the device state,
subState and initialization flag
- lsfDeviceSetState(): set
the device state
- lsfDeviceSetSubState(): set
the device subState
- lsfDeviceSetInit(): set
the device initialization flag
- lsfDeviceIsDefined(): check
if the device is defined in the device table
- lsfDeviceIsIgnored(): check
if the device is marked as ignored in the device table
- lsfDeviceIsSimulated(): check
if the device is marked in simulation in the device table
- lsfDeviceIsInState(): check
if the device is in the given state
- lsfDeviceCallHook(): method for invoking a
hook function.
- lsfConstructorHook():
- lsfDestructorHook(): methods for invoking a
constructor, resp. destructor hook function.
The public attributes are:
- state: device state.
- subState: device sub-state.
- initialized: initialization flag.
- simulation: simulation flag.
- timeout: command timeout (in seconds).
This class defines a generic abstract device, as such it can not be used.
The following sub-classes have been derived for dedicated hardware devices:
The following devices have been identified as candidate devices, but
so far no requirement for support has been filed.
Therefore, they will
not be further documented.
The following sub-classes have been derived for dedicated software devices:
- lsfSOFTDEV:
sub-class dedicated to the
control of software devices based on LSF, but which have
been identified by the analysis of the application as part of
the package, thus sub-ordinated to the associated software
device. The standard commands are forwarded in parallel to the
sub-software device(s).
- lsfTASKDEV:
sub-class dedicated to the
control of tasks which activity has been identified to be
concurrent and not bound to any command (or initiated by a
command but which life is to last after the command has
completed, e.g. START a periodic activity until a STOP is issued).
- lsfMISCDEV:
sub-class dedicated to the
control of external applications not based on LSF, where
the communication is realized via the API and/or the ACI.
Related Packages:
- lcc: The LCU Common Software
- and the associated drivers
Issues to be Determined or Resolved: None
Last modified: Mon Sep 18 16:52:01 METDST 2000