Console
- This is the system entry point for the Operators
- It allows the Operator to start/stop the Scheduler's automatic mode, and provides them manual access to the low level components
- It should provide a component that implements all methods, and a TUI client to access those methods.
Methods
Generic Methods
- Instrument Interaction
- Telescope Interaction
Dummy Components
- For development testing, you require the following simulated components:
- Scheduler
- Instrument
- Telescope
Database
- This is the system entry point for the Astronomers
- Besides allowing an astronomer to:
- Store a target list
- Query for the status
- Retrieve the proposal observations
- It provides methods to get the proposals currently inserted into the Database
- To set a status to a given proposal
- To insert a given observation into the Database
- A Proposal consists of:
- TargetList (which is a list of one or more Target )
- Identifier and a status (0 - queued, 1 - running, 2 - ready)
- A unique identifier is assigned by the database component and returned to the client after storing its TargetList
- A Target consists of:
- Position specification
- Exposure time
- Target identifier assigned by the astronomer
- The target identifiers should be unique per proposal
- A Position is simply the telescope position to be reached for that observation
Methods
Dummy Components
- No other components are needed to test Database Component
Scheduler
- The Scheduler is responsible to:
- Select a proposal from the Database
- Execute a proposal
- Store the observations
- Manage the proposal's lifecycle
- The observations are scheduled automatically according to some scheduling algorithm as soon as the scheduler is requested to start
- On stop it will complete the executing proposal before suspending the automatic mode
Methods
- void start():
- Starts the Scheduler
- The Scheduler will loop through all available proposals, either until all proposals are done or until the stop method is called
- If the Scheduler is already running, then throws SYSTEMErr::SchedulerAlreadyRunningEx
- void stop():
Stops the Scheduler
This will stop the Scheduler from scheduling more proposals
It will not(!) break the ongoing observation, and will return only when the running observation has finished
- If the Scheduler is not running, then throw SYSTEMErr::SchedulerAlreadyStoppedEx
- long proposalUnderExecution():
Dummy Components
- For development testing, you require the following simulated components:
- Database
- Instrument
- Telescope
Telescope
- This component communicates with the low level hardware access layer to:
- Execute observations; i.e. moves the telescope to a given position
- Acquires the image from the Instrument for a given exposure time once the telescope is in position
Methods
- TYPES::ImageType observe(in TYPES::Position coordinates, in long exposureTime): Calls the internal method moveTo and then makes use of Instrument method takeImage passing along exposure time in milliseconds.
- void moveTo(in TYPES::Position coordinates): Commands the Telescope to move to the commanded position by calling TelescopeControl method objfix
- TYPES::Position getCurrentPosition(): Returns the current Telescope position
Dummy Components
For development testing, you require the following simulated components:
- Instrument
- TelescopeControl
Instrument:
- Sets the CCD camera on and off
- Takes an image with a given exposure time
Methods
Dummy Components
For development testing, you require the following simulated components: