A common framework for the observation software of astronomical instruments at ESO

The Observation Software (OS) is the supervisory software which manages all the exposures and calibrations made by an ESO/VLT instrument. It forms part of the multi-process and multi-layer ESO/VLT instrument software package, receiving astronomer instructions either from a template script or directly from the instrument's graphical user interface. In order to speed up development, ease maintenance and hence decrease the costs of the Observation Software of different instruments (at various sites VLT, VLTI, La Silla, VISTA), a software framework "Base Observation Software Stub" (BOSS) is supplied by ESO. This article introduces the objectives of the tool collecting the general features of all instrument OS, such as configuration and synchronization of the subsystems, state alignment, exposure and image file handling. The basic structure of the implementation is explained (using design patterns), showing the way the framework copes with a challenge of being constantly adjusted to new generic requirements imposed by the complexity of new instruments, performance requirements, increasing image file size and file numbers, and at the same time remaining backward compatible. The instrument-specific features are illustrated via three of many applications: FLAMES is an example of a complex instrument using a "super OS" controlling three instruments as subsystems; AMBER is a VLTI instrument; and VISTA has high performance requirements on image file handling.