The VLTI Control System
The software is organised in packages and modules. A package regroups all the functions related to the control of a main system component. A package is composed by a set of cooperating modules, which realise the actual control of specific items or carry out well-identified tasks. The module is the basic unit for the software configuration management. It can be implemented as a library or can correspond to one or more tightly coupled running processes. A control process responds to a set of common commands and a set of specific commands, occupies at any instant in time a well-defined state, and can react to events attached to values stored in the on-line database. The real-time software is written in C-language to guarantee a fast response during task spawning, function call and variable allocation. The object-oriented design eases the development of event-driven control applications running on the workstations, which are coded in C++.
Four main packages are defined and listed below.
Interferometer Supervisor Software (ISS) provides the functions to operate the whole VLTI, like system start-up and shut-down, array configuration setting, observation preparation and run. It coordinates the high-level tasks of all the main VLTI components.
Auxiliary Telescope Control Software (ATCS)provides the functions to operate each AT, both at subsystem level (low level control of each device) and at system level (like during presetting, tracking, relocating to another station), and to command a group of ATs as a single entity.
Delay Line Control Software (DLCS) provides the functions to operate the array of all delay lines. It coordinates the operation of the DLs and provides control of each DL, both at subsystem level (low level control of each device) and at system level (like during presetting, searching for fringes, blind tracking, fringe tracking).
VLTI Subsystem Software refers to the programs needed to control those VLTI subsystems that are not already part of the Auxiliary Telescope System and of the Delay Line System. These control programs are, as usual, organized in modules. The subsystems are the following:
- Transfer Optics
- Fringe Sensor Unit (FSU)
- Image Alignment Unit
- Pupil Alignment Unit
- Fringe Phase Alignment Unit
The following diagram shows the software breakdown and the main interactions among VLTICS packages and external elements.
These packages are composed by several software modules, grouping set of logically and functionally related tasks. Each software module is designed as one or more cooperating processes. A module can run entirely on the WS platform, or in the LCU environment, or can also be split across both of them.
The following scheme shows the module diagram: