Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The main goal of this project is to develop a complete example of a working end-to-end system built on top of ACS in the four five days time frame allocated for the workshop course. The software development cycle will include the system integration and tests.

...

The following components coming from external projects are available and will be used. They are all located inside the AWV/EXTERNAL SVN module GIT repository.

  • Console, Instrument and Database componentsCamera (real, remote)
  • Telescope DevIO (simulatedreal, remote)

Requirements

Actors

There are two main external actors for this software project: Astronomers and Operators.

...

  • 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.
  • Database: This is the system entry point for the Astronomers. Besides allowing an astronomer to store a target list, query for the status and retrieve the proposal observations, it provides methods to get the proposals currently inserted into the Database, to set a status to a given proposal and to insert a given observation into the Database.
    • Proposal consists of one TargetList (which is a list of one or more Target ), an 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.
    • Target consists of a Position specification, an exposure time and a target identifier assigned by the astronomer. The target identifiers should be unique per proposal.
    • Position is is simply the telescope position to be reached for that observation. It has two coordinates: elevation el and azimuth az.
  • Scheduler: The Scheduler is responsible to select a proposal from the Database, execute it, store the observations, and to manage the proposal 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 proposal before suspending the automatic mode.
  • Telescope: This component communicates with the low level hardware access layer, and executes an observation; i.e. moves the telescope to a given position and acquires the image from the Instrument for a given exposure time once the telescope is in position.
  • Instrument: This component sets the CCD camera on and off, and it allows to take an image with a given exposure time.

...

The initial interfaces and data types are defined and documented under SORTunder AWV/ICD/idl. They could eventually be modified during the development cycle, but this will have to be negotiated on a case by case basis between the interested parties and will have to be noted down in a change request publicly available.

...

The project will be guided in simultaneous steps to be developed by the teams defined below. The development lifecycle is test-driven and is defined as follows. The project will be continuously integrated by the Integration, Test & Support team, and it is the responsibility of each development team to have working versions in SVNGIT.

The basic preparation considers the following steps:

  1. Development environment: Create (empty) development module and do initial import to SVNGIT.
  2. ACS environment: Set up the configuration database for the ACS environment and start/stop the system and (empty) component.
  3. Components simulation: Set up simulated components for each needed interaction. This is important to test each component, as other components are also under development.
  4. Unit tests development: Create unit tests within a given TAT environment, to test the component input/output and functionality.

...

Continuous integration is an important part of the project lifecycle. A Jenkins build and test server has been set up to automatically manage the project upon GIT commits. The following is the URL: http://138.68.61.143:8080/

The Git repository can be found at: https://bitbucket.alma.cl/projects/ACSWS/repos/awv/browse