EUROPEAN SOUTHERN OBSERVATORY

Organisation Européenne pour des Recherches Astronomiques dans l'Hémisphère Austral

Europäische Organisation für astronomische Forschung in der südlichen Hemisphäre

 

 

 

 

VLT PROGRAMME

 

 

VERY LARGE TELESCOPE

 

 

 

 

 

VLT Software

---

VLT Instrumentation Software Specification

 

 

 

 

 

 

Doc. No.: VLT-SPE-ESO-17212-0001

 

Issue: 5

 

Date: 30/09/2005

 

 

 

 

 

 

Name                                                       Date                         Signature

                Prepared:  A.Longinotti                                                      30/09/2005

 

 

Name                                                       Date                         Signature

          Approved:  K.Wirenstrand                                                                 

 

Name                                                       Date                         Signature

                Released:  M.Cullum                                              

 

 

VLT PROGRAMME * TELEPHONE: (089) 3 20 06-0 * FAX: (089) 3 20 06 514


 

CHANGE RECORD

 

 

ISSUE

DATE

SECTION/PAGE

AFFECTED

REASON/INITIATION

DOCUMENTS/REMARKS

 

1.0

04/05/1993

All

First issue

2.0

10/04/1995

All

Changes to 1.0 are marked with change bars

3

30/01/2004

All

 

1.3 1.4

1.5

1.6

 

2.1, Figure 1

2.2, Figure 2

2.2.1

 

2.2.2

2.2.3 2.2.4 2.2.5

Chapters 3, 4, 5, 6, 7

3.8, 4.8

3.10

3.12, 4.18, 5.13

3.15, 4.21, 5.16, 6.5, 7.5

3.16, 4.22, 5.17

5.4

5.10

5.11

6.1

6.2

Chapter 7

Chapter 8

9.1.3

9.2

10.1

12.5

Chapter 13

Chapter 14

Whole document updated as from APR2004 INS sw status

All requirements are tagged

Updated list of applicable and reference documents

Updated list of abbreviations and acronyms

Changed definition of exposure. Added definition of Instrument mode

Hardware architecture updated

Software architecture updated.

INS modules list and scope updated. Scope of OSS changed. DRS de-scoped

Added INS configuration control

Standards updated

ICS, DCS, OS, MS, OSS standards and guidelines updated

 

Definition of ICS, DCS simulation levels added

Multiple ICSs supported

Added test software as deliverable

Added module names rules

 

Remote control not supported

Description of an exposure run updated

Templates replace and enhance MOBS functionality

Supervisory OS added for multi-instruments

Instrument configuration updated

Maintenance procedures as templates

Scope of OSS changed (P2PP, ETC)

Added chapter on alarms

Added description of User Station

Programmatic interface updated

Startup/Shutdown procedures updated

Test Software as part of the deliverables

New chapter on project management for instrumentation

All requirements summarized in tabular form

4

13/01/2005

1.4

Chapter 10

Documents issue updated

Added installation modules for different targets

5

30/09/2005

13.2.4

13.3.2 13.3.3

Document code during development

Added Instrument Software Management Plan

 


 

TABLE OF CONTENTS

 

 

 

TABLE OF CONTENTS                                                                                                                                                                                      3

1   INTRODUCTION                                                                                                                                                                                           7

1.1     Purpose                                                                                                                                                                                                    7

1.2     Scope                                                                                                                                                                                                       7

1.3     Applicable Documents                                                                                                                                                                          7

1.4     Reference Documents                                                                                                                                                                           8

1.5     Abbreviations and Acronyms                                                                                                                                                             9

1.6     Glossary                                                                                                                                                                                                 10

1.7     Stylistic Conventions                                                                                                                                                                          10

1.8     Naming Conventions                                                                                                                                                                           11

1.9     Problem Reporting/Change Request                                                                                                                                                 11

2   OVERVIEW                                                                                                                                                                                                  12

2.1     Hardware architecture                                                                                                                                                                         12

2.1.1      Instrument LAN                                                                                                                                                                        12

2.2     Software architecture                                                                                                                                                                           13

2.2.1      INS Modules                                                                                                                                                                              14

2.2.2      INS Configuration Control                                                                                                                                                       16

2.2.3      INS Environments                                                                                                                                                                     17

2.2.4      INS Users                                                                                                                                                                                   17

2.2.5      INS Standards                                                                                                                                                                            17

3   INSTRUMENT CONTROL SOFTWARE (ICS)                                                                                                                                     19

3.1     States                                                                                                                                                                                                     19

3.2     Commands                                                                                                                                                                                             19

3.3     Parameters                                                                                                                                                                                             19

3.4     FITS header keywords                                                                                                                                                                        19

3.5     Stand-alone mode                                                                                                                                                                                20

3.6     Logging                                                                                                                                                                                                 20

3.7     Safety                                                                                                                                                                                                     20

3.8     Simulation                                                                                                                                                                                              20

3.9     Performance requirements                                                                                                                                                                  20

3.10    Multiple ICSs                                                                                                                                                                                        21

3.11    Graphical User Interface                                                                                                                                                                      21

3.12    Test Software                                                                                                                                                                                        21

3.13    Standards                                                                                                                                                                                              21

3.14    Common Software                                                                                                                                                                                21

3.15    Modules naming conventions                                                                                                                                                           21

3.16    Remote control                                                                                                                                                                                     21

4   DETECTOR CONTROL SOFTWARE (DCS)                                                                                                                                        22

4.1     States                                                                                                                                                                                                     22

4.2     Commands                                                                                                                                                                                             22

4.3     Parameters                                                                                                                                                                                             22

4.4     FITS header keywords                                                                                                                                                                        23

4.5     Stand-alone mode                                                                                                                                                                                23

4.6     Logging                                                                                                                                                                                                 23

4.7     Safety                                                                                                                                                                                                     23

4.8     Simulation                                                                                                                                                                                              23

4.9     Performance requirements                                                                                                                                                                  24

4.10    Failure Mode Operation                                                                                                                                                                      24

4.11    Data transmission over instrument LAN                                                                                                                                          24

4.12    Data format                                                                                                                                                                                            24

4.13    Real-Time Display                                                                                                                                                                                24

4.14    Disk space availability                                                                                                                                                                         24

4.15    Other requirements                                                                                                                                                                              24

4.16    Shutter control                                                                                                                                                                                      25

4.17    Graphical User Interface                                                                                                                                                                      25

4.18    Test Software                                                                                                                                                                                        25

4.19    Standards                                                                                                                                                                                              25

4.20    Common Software                                                                                                                                                                                25

4.21    Modules naming conventions                                                                                                                                                           25

4.22    Remote control                                                                                                                                                                                     25

5   OBSERVATION SOFTWARE (OS)                                                                                                                                                        26

5.1     States                                                                                                                                                                                                     27

5.2     Commands                                                                                                                                                                                             27

5.3     Parameters                                                                                                                                                                                             27

5.4     Execution of exposures                                                                                                                                                                       27

5.5     Control of exposures                                                                                                                                                                           28

5.6     Changes during an exposure                                                                                                                                                              28

5.7     Exposure Types                                                                                                                                                                                    28

5.8     FITS header                                                                                                                                                                                           28

5.9     Setup files                                                                                                                                                                                              28

5.10    Templates                                                                                                                                                                                              28

5.11    Supervisory OS (SOS)                                                                                                                                                                         29

5.12    Graphical User Interface                                                                                                                                                                      29

5.13    Test Software                                                                                                                                                                                        29

5.14    Standards                                                                                                                                                                                              29

5.15    Common Software                                                                                                                                                                                29

5.16    Modules naming conventions                                                                                                                                                           29

5.17    Remote control                                                                                                                                                                                     30

6   MAINTENANCE SOFTWARE (MS)                                                                                                                                                        31

6.1     Instrument Configuration                                                                                                                                                                   31

6.1.1      Privileges                                                                                                                                                                                    31

6.1.2      Change Instrument Configuration Parameters                                                                                                                     31

6.2     Maintenance and Verification procedures                                                                                                                                       31

6.3     Standards                                                                                                                                                                                              31

6.4     Common Software                                                                                                                                                                                32

6.5     Modules naming conventions                                                                                                                                                           32

7   OBSERVER SUPPORT SOFTWARE (OSS)                                                                                                                                         33

7.1     Preparation of Observation Blocks                                                                                                                                                   33

7.2     Exposure Time Calculator                                                                                                                                                                   33

7.3     Target selection                                                                                                                                                                                    33

7.4     Standards                                                                                                                                                                                              33

7.5     Modules naming conventions                                                                                                                                                           33

8   ALARMS                                                                                                                                                                                                       34

9   INTERFACES                                                                                                                                                                                               35

9.1     Graphical User Interface                                                                                                                                                                      35

9.1.1      General Guidelines                                                                                                                                                                    35

9.1.2      Performance Requirements                                                                                                                                                      35

9.1.3      User Station                                                                                                                                                                               35

9.2     Programmatic Interface                                                                                                                                                                        35

9.2.1      Interface to Observation Handling tool (P2PP)                                                                                                                    35

9.2.2      Interface to on-line Archive                                                                                                                                                    35

9.2.3      Interface to TCS                                                                                                                                                                        36

9.2.4      Interface to on-line data processing tools                                                                                                                            36

10 INSTALLATION                                                                                                                                                                                          37

10.1    Start-up / Shut-down                                                                                                                                                                           37

11 SYSTEM ATTRIBUTES                                                                                                                                                                             38

11.1    Safety                                                                                                                                                                                                     38

11.2    Security                                                                                                                                                                                                  38

11.3    Availability                                                                                                                                                                                            38

11.4    Maintainability                                                                                                                                                                                     38

11.5    Adaptability and enhancement potential                                                                                                                                         39

11.6    Training                                                                                                                                                                                                 39

11.7    Documentation                                                                                                                                                                                     39

12 DEVELOPMENT AND TEST FACTORS                                                                                                                                                40

12.1    Design considerations                                                                                                                                                                        40

12.2    Implementation Considerations                                                                                                                                                         40

12.3    Project control                                                                                                                                                                                      40

12.4    Resource requirements                                                                                                                                                                        40

12.5    Test requirements                                                                                                                                                                                40

13 PROJECT MANAGEMENT                                                                                                                                                                       41

13.1    General recommendations                                                                                                                                                                   41

13.2    Software life cycle                                                                                                                                                                                41

13.2.1        Requirements phase                                                                                                                                                             41

13.2.2        Analysis phase                                                                                                                                                                     41

13.2.3        Design phase                                                                                                                                                                         42

13.2.4        Implementation phase                                                                                                                                                          42

13.2.5        Integration phase                                                                                                                                                                  43

13.2.6        Assembly, Integration and Verification phase                                                                                                                 43

13.2.7        Commissioning phase                                                                                                                                                          43

13.3    Project milestones                                                                                                                                                                                43

13.3.1        Preliminary Design Review (PDR)                                                                                                                                      43

13.3.2        Final Design Review (FDR)                                                                                                                                                 44

13.3.3        Preliminary Acceptance Europe (PAE)                                                                                                                              44

13.3.4        Provisional Acceptance Chile (PAC)                                                                                                                                 45

13.4    Product assurance                                                                                                                                                                               45

13.5    Change control                                                                                                                                                                                     45

14 SUMMARY OF REQUIREMENTS                                                                                                                                                            46

 

1          INTRODUCTION

1.1         Purpose

The purpose of this document is to provide a basic software framework and to define software requirements which are applicable to any VLT/VLTI instrument. The document specifies:

  • A standard and modular structure which is applicable to any VLT instrumentation software package.
  • The common functionality of the standard software modules.
  • The basic principles for user interaction and status display.
  • The functional interfaces to the other parts of the VLT Software.
  • Software which is common to all instrumentation software packages.

 

Additional software requirements, either derived from the Technical Specification or explicitly specified, will exist for each different VLT instrument. Based on the common requirements which are given in this document and on the instrument specific requirements, a Software Functional Specification shall be written for every different VLT instrument.

 

A detailed specification of the common instrumentation software is available in [AD 07], which complements and completes the information given here.

 

The interfaces to the Observation Handling Subsystem (P2PP) and on-line Archive are specified respectively in

[AD 06] and [AD 05].

 

This document follows logically [AD 02].

 

In order to trace more easily all requirements in the Software documents for specific instruments, in particular the Functional Specification, all requirements described here have a numbered tag: [INSnn].

1.2         Scope

The VLT instrumentation software concerns all VLT/VLTI instruments, which belong to the following categories:

Ø       Cassegrain instruments (optical and infrared).

Ø       Nasmyth foci instruments (optical and infrared).

Ø       Coude’ instruments.

Ø       Interferometric instruments.

1.3         Applicable Documents

The following documents, of the exact issue shown, form a part of this document to the extent specified herein. In the event of conflict between the documents referenced herein and the contents of this document, the contents of this document shall be considered as a superseding requirement.

 

Reference

Document Number

Issue

Date

Title

[AD 01]

GEN-SPE-ESO-19400-0794

3

01/02/2005

DICB - Data Interface Control Document

[AD 02]

VLT-SPE-ESO-10000-0011

2

30/09/1992

VLT Software Requirements Specification

[AD 03]

VLT-PRO-ESO-10000-0228

1

10/03/1993

VLT Software Programming Standards

[AD 04]

VLT-PLA-ESO-10000-0441

1.0

01/05/1995

VLT Science Operation Plan

[AD 05]

VLT-ICD-ESO-17240-19400

2.6

17/11/1997

ICD between VCS and Archive

[AD 06]

VLT-ICD-ESO-17240-19200

1.3

07/06/2000

ICD between VCS and OH

[AD 07]

VLT-SPE-ESO-17240-0385

4

13/01/2005

INS Common Software Specification

[AD 08]

VLT-MAN-ESO-17210-0667

1.2

08/10/2001

Guidelines for VLT applications.

[AD 09]

VLT-PLA-ESO-00000-0006

2

21/05/1992

VLT Software Management Plan

[AD 10]

VLT-ICD-ESO-15410-2117

2.3

31/07/2002

ICD between VLTI ISS and Instrumentation Sw

1.4          Reference Documents

The following documents are referenced in this document.

 

Reference

Document Number

Issue

Date

Title

[RD 01]

VLT-MAN-ESO-17200-0888

1.0

17/08/1995

VLT Common Software Overview

[RD 02]

VLT-MAN-ESO-17200-0642

4

29/04/2004

VLT Common Software Installation Manual

[RD 03]

VLT-SPE-ESO-17100-3439

1

05/03/2005

Paranal Network/Computers Design Description

[RD 04]

VLT-MAN-SBI-17210-0001

3.7

05/10/2001

LCU Common Software User Manual

[RD 05]

VLT-MAN-ESO-17210-0600

1.7

02/10/1998

Motor Control sw User Manual API/ACI

[RD 06]

VLT-MAN-ESO-17210-0669

1.6

02/10/1998

Motor Engineering Interface User Manual

[RD 07]

VLT-MAN-ESO-17210-0619

2.4

31/03/2004

Central Control Software User Manual

[RD 08]

VLT-MAN-ESO-17210-0707

1.6

30/09/1999

On Line Database Loader User Manual

[RD 09]

VLT-MAN-ESO-17210-0771

1.8

06/10/2001

EVH User Manual

[RD 10]

VLT-MAN-ESO-17210-0770

1.8

30/09/2001

Extended CCS User Manual

[RD 11]

VLT-MAN-ESO-17210-0690

5

31/03/2002

Panel Editor User Manual

[RD 12]

VLT-MAN-ESO-17240-0853

3

26/03/2004

INS Common sw - oslx User Manual

[RD 13]

VLT-MAN-ESO-17240-0672

1.6

25/09/1998

CCD Detectors Control Software User Manual

[RD 14]

VLT-MAN-ESO-13640-1388

3

31/03/2004

FIERA Control Software User Manual

[RD 15]

VLT-MAN-ESO-14100-1878

1.4

01/12/2003

IRACE-DCS User Manual

[RD 16]

VLT-MAN-ESO-17240-0934

5

31/03/2004

INS Common sw - Base ICS User Manual

[RD 17]

VLT-MAN-ESO-17240-2265

4

05/04/2004

INS Common sw - Base OS Stub User Manual

[RD 18]

VLT-MAN-ESO-17240-1913

4

31/03/2004

Installation Tool for VLT Sw packages

[RD 19]

VLT-MAN-ESO-17240-2153

4

31/03/2004

INS Common sw  - Startup Tool User Manual

[RD 20]

VLT-MAN-ESO-17220-0737

3

28/03/2002

HOS/Sequencer User Manual

[RD 21]

P.Ward, S.Mellor, Yourdon Press,

 

1985

Structured Development for Real-Time Systems

[RD 22]

J. Rumbaugh et. al., Prentice Hall,

 

1991

Object-Oriented Modeling and Design

[RD 23]

VLT-MAN-ESO-17220-1332

4

19/04/2004

HOS/Broker for Observation Blocks User Manual

[RD 24]

VLT-MAN-ESO-17240-2240

4

31/03/2004

INS Common sw for Templates User Manual

[RD 25]

VLT-MAN-ESO-17240-2325

4

31/03/2004

INS Common sw Configuration tool User Manual

[RD 26]

VLT-MAN-ESO-17240-2606

3

31/03/2004

Base ICS GUI User Manual

[RD 27]

VLT-MAN-ESO-19200-1644

3

30/01/2003

Phase 2 Proposal Preparation Tool User Manual

[RD 28]

VLT-SPE-ESO-19000-1618

1

21/04/1999

Data Flow for VLT instruments Requirements

[RD 29]

VLT-PLA-ESO-17240-2266

5

13/01/2005

INS Acceptance Test Plan Template Document

[RD 30]

VLT-MAN-ESO-17240-1973

5

13/01/2005

Template Instrument User and Maint.Manual

[RD 31]

VLT-MAN-ESO-17200-0780

2

22/10/2001

Configuration Management Module User Manual

[RD 32]

VLT-MAN-ESO-17240-0637

3

28/03/2002

INS Common sw – dxf User Manual

[RD 33]

VLT-MAN-ESO-17240-0866

2.8

16/05/1999

INS Common sw – rtd User Manual

[RD 34]

VLT-MAN-ESO-17240-0880

2

28/03/2002

INS Common sw – ist User Manual

[RD 35]

VLT-MAN-ESO-17240-3153

1

14/10/2003

STRAP Instrument WS software User Manual

[RD 36]

VLT-MAN-ESO-17230-0942

2

22/03/2002

TCS User Manual

[RD 37]

VLT-MAN-ESO-17240-0725

1.3

07/05/1996

INS Common sw – pco User Manual

[RD 38]

VLT-SPE-ESO-17240-3221

1

30/01/2004

Template for Instrument Sw Requirements Specs

[RD 39]

VLT-SPE-ESO-17240-3222

2

13/01/2005

Template for Instrument Sw Functional Specs

[RD 40]

VLT-SPE-ESO-17240-3223

1

30/09/2005

Template for Instrument Sw Detailed Design

[RD 41]

VLT-TRE-ESO-17240-3162

2

13/01/2005

Template for Instrument Software PAE Report

[RD 42]

VLT-MAN-ESO-17200-0981

2

16/10/1998

VLT Problem Report Change Request User Man.

[RD 43]

VLT-MAN-ESO-17000-2972

1

02/01/2003

VLT SW Basic Tools and Working Environment Guidelines

[RD 44]

VLT-PLA-ESO-17240-3786

1

30/09/2005

Template for Instrument Software Management Plan

1.5          Abbreviations and Acronyms

This document employs several abbreviations and acronyms to refer concisely to an item, after it has been introduced. The following list is aimed to help the reader in recalling the extended meaning of each short expression:

ADC

Analogue to Digital Converter

AIV

Assembly, Integration and Verification

API

Application Programmatic Interface

ATM

Asynchronous Transfer Mode

ATP

Acceptance Test Plan

BOB

Broker for Observation Blocks

CCD

Charge Coupled Device

CCS

Central Control Software

CPU

Central Processing Unit

DCS

Detector Control Software

DFE

Detector Front-End Electronics

DICB

ESO Data Interface Control Board

DMA

Direct Memory Access

DRS

Data Reduction Software

DSP

Digital Signal Processor

FDR

Final Design Review

FITS

Flexible Image Transport Format

GUI

Graphical User Interface

HW

Hardware

HOS

High Level Operating Software

ICS

Instrument Control Software

INS

Instrumentation Software

I/O

Input/output

ISDD

Instrument Software Design Description

ISFS

Instrument Software Functional Specification

ISURS

Instrument Software User Requirements Specification

ISUM

Instrument Software User Manual

ISMM

Instrument Software Maintenance Manual

IWS

Instrument Workstation

LAN

Local Area Network

LCC

LCU Common Software

LCU

Local Control Unit

MIDAS

ESO-Munich Image Data Analysis System, ESO-MIDAS TM

MOBS

Multiple Observation Software

MS

Maintenance Software

N/A       

Not Applicable

OB

Observation Block

OBD

Observation Block descriptor

OLAS

On-Line Archive Subsystem

OLDB

On-Line DataBase

OMT

Object Modeling Technique

OO

Object Oriented

OS

Observation Software

OSS

Observer Support Software

PAE

Preliminary Acceptance Europe

PAF

Parameters File

PDR

Preliminary Design Review

RAM

Random Access Memory

SOS

Supervisory Observation Software

STRAP

System for Tip-tilt Removal with Avalanche Photodiodes

SW

Software

TBC

To Be Clarified

TBD

To Be Defined

TCCD

Technical CCD

TCS

Telescope Control Software

TIM

Time Interface Module

TRS

Time Reference System

TSF

Template Signature File

UIF

(Portable) User Interface (Toolkit)

UNIX

Trademark of Bell Laboratories (operating system)

VCSOLAC

VLT Control Software On-Line Archive Client

VLT

Very Large Telescope

VME

Versa Module Eurocard

VOLAC

VLT On-Line Archive Client

WS

Workstation

<!-- Standard footer -->

1.6         Glossary

Ø       Detector Front-End Electronics (DFE)

It is the electronics located near the detector and normally galvanically isolated from the instrument. It consists of, for example, ADCs, programmable detector and clock voltages, clock pattern generation, fiber optic links to the LCU, etc. Processing units (e.g. DSPs) control the electronics and provide for data transmission and communication with the detector LCU.

Synonym for DFE is: "detector controller".

 

Ø       Exposure[1]

It encompasses the setup of the instrument, one or more integrations, followed by the readout of at least one detector and the storage of the obtained data frame(s) in a FITS file and/or in memory for display.

 

Ø       Instrument mode

It defines the basic instrument setup for a specific observing mode e.g imaging or spectroscopy.  It is selected through the keyword INS.MODE.

 

Ø       Instrument workstation IWS

It is the workstation which is assigned to control instrument and/or detector LCUs.

 

Ø       Integration

It is the time interval for which a detector is collecting data. The integration is a subunit of an exposure and does not imply a readout operation.

 

Ø       On-line MIDAS

It is the MIDAS session which runs in background, parallel to the foreground MIDAS. The on-line MIDAS executes commands given by on-line processes whereas the foreground MIDAS is used for interactive work.

Synonyms for it are: "background MIDAS", "parallel MIDAS".

 

Terms like Observation block, Template, Template Signature File are defined in [AD 06].

Terms like Setup file, Short Hierarchical Format are defined in [AD 07].

1.7         Stylistic Conventions

The following styles are used:

bold

in the text, for commands, filenames, pre/suffixes as they have to be typed.

italic

in the text, for parts that have to be substituted with the real content before typing.

teletype

for examples.

<name>

in the examples, for parts that have to be substituted with the real content before typing.

 

bold and italic are also used to highlight words.

1.8         Naming Conventions

This implementation follows the naming conventions as outlined in [AD 03].

1.9         Problem Reporting/Change Request

The form described in [RD 42] shall be used.

2         OVERVIEW

Each instrument is characterized by an identifier (or ID) and a prefix.

The Instrument ID is normally set to the name of the instrument (uppercase). Example: UVES.

The Instrument prefix is a two characters string, used e.g. to identify the nodes in the Instrument LAN, files and processes. Example: uv (for UVES).

The very first step in the design of a new Instrument is to define its ID and prefix in agreement with ESO [INS01].

2.1         Hardware architecture

The VLT has a distributed control system consisting of a large number of Local Control Units (LCUs) and Workstations (WSs) connected to each other via Local Area Networks (LANs). A complete overview of the VLT network concept is given in [RD 03].

 

Figure 1 shows an example for one instrument on a VLT unit telescope.

The instrument hardware (devices and detector camera head and front-end electronics) is located in the Telescope Area. The Instrument LCUs (two in the example) control all devices, except the detector.

The detector is controlled by a dedicated Detector LCU (in the current architecture of VLT standard scientific detector controllers the standard VME-based LCU is replaced with an Ultra-Sparc WS).

Control and data information is transferred over the Instrument LAN between the Instrument Workstation and the Instrument and Detectors LCUs.

The Instrument Workstation (IWS) is located in the Computer Room in the Control Building.

 

Time critical synchronization between LCUs is achieved via the Time Reference System [INS02].

 

Each IWS is statically assigned to an instrument and directly connected to the instrument LAN. The Instrumentation Software on the IWS and LCUs usually remain always active, i.e. during day and night time, also when it is currently not used for observations. During this time it monitors the hardware status of the instrument, performs test procedures when requested by operations staff, etc.

Instruments are normally in an operational, also called on-line, or stand-by mode.

 

A number of screens of the User Station in the central control room are dedicated to the instrument control. Normally the two screens of the User Station console are used: one for control and status display and the other one for real-time image display.

2.1.1                       Instrument LAN

Every instrument has its own dedicated LAN so that the full bandwidth of the LAN is available for the instrument. The LAN traffic from other instruments and systems is filtered by a router.

 

For test and maintenance work close to the instrument it is possible to connect X-terminals or a mobile user station directly to the instrument LAN.

 

The Instrument LCUs and the technical CCD LCUs, if any, have a normal Ethernet connection to the Instrument LAN.

Scientific detectors LCUs, as well as the Instrument WS, have a large bandwidth connection (at present ATM) to the Instrument LAN.

 

The naming conventions for the Instrument LAN nodes are described in [RD 03]. In particular, all node names must be maximum 7 characters long. Additional rules are imposed by the INS Common Software [INS03]:

  • The IWS node name must begin with w<prefix>. If the first two letters of the Instrument ID correspond to the prefix, the IWS node name it is set to w<ID> (lowercase).

Example: wuves (UVES IWS).

  • The Instrument LCUs node name must be l<prefix>ics<index>. The index always starts from 1

Examples: luvics1, luvics2 (UVES Instrument LCU 1 and 2).

  • For scientific detectors the LCU node name must begin with w<prefix>.

Examples: wuvccdr, wuvccdb (Ultra-Sparc WSs for UVES CCD red and blue arm).

  • For all the other LCUs (e.g. technical CCD LCUs), the node name must begin with l<prefix>

Example: luvsvr, luvsvb (UVES slit viewer red and blue arm).

Figure 1 Hardware architecture

2.2         Software architecture

Figure 2 shows the standard architecture of an Instrumentation Software and the data flow between its components.

 

Observation Blocks (OBs) are normally prepared by the observing team at the home institute well before the observing night, using the Phase 2 Proposal Preparation (P2PP) Tool (see [RD 27]).

During the observing run, the next OB to be executed is loaded again in the P2PP Tool on the Observation Handling WS. It is then sent to the Broker for Observation Blocks (BOB) Tool (see [RD 23]) on the Instrument WS.

BOB reads the contents of the OB and executes one by one the templates specified in there. Each template consists in general of a sequence of commands to be sent to the Observation Software (OS) Server. OS Server translates the incoming commands into further commands to be sent to the Detector Control Software (DCS), Instrument Control Software (ICS) and Telescope Control Software (TCS). DCS, ICS and TCS then take care of instructing the respective LCUs of all actions they should take with the connected hardware.

The typical simple sequence of commands sent to OS by science observation templates to execute an exposure is:

  • SETUP (one or more)
  • START (exposure)
  • WAIT (till exposure finished)

As a result of an exposure, DCS generates detector data and saves them in a FITS file. The OS process responsible for archiving data takes care of merging into that file the information, coming from the other sub-systems (TCS and ICS), related to the same exposure. It then informs the standard VLT On-Line Archive (VOLAC) process that a new file is ready to be archived. In turn, VOLAC passes this information to the standard VCSOLAC process, which finally transfers the file to the On-Line Archive Subsystem (OLAS) on the On-Line Archive WS.

 

2.2.1                       INS Modules

An instrumentation software package is subdivided into the following standard INS software modules,[2] [INS04]:

  • Instrument Control Software (ICS)
  • Detector Control Software (DCS)
  • Observation Software (OS)
  • Maintenance Software (MS)
  • Observer Support Software (OSS)

 

The Instrument Control Software (ICS) controls all devices which belong to the instrument, except the detectors.

ESO provides standard software, called Base ICS (ICB). See [RD 16] and [RD 26] for more details.

 

The Detector Control Software (DCS) carries out all tasks to control the detector sub-system, to perform real-time image processing, if and when needed, and to transfer detector data to the workstation.

ESO provides software for the standard scientific infrared detector system (IRACE, see [RD 15]), for the standard scientific optical detector system (FIERA, see [RD 14]) and for the standard technical CCD system (TCCD, see [RD 13]).

 

The Observation Software (OS) is used to coordinate the execution of an exposure for a given observing mode.

It provides for setup and coordination of the various control systems such as instrument, detector, telescope and also interfaces to other software like the Archive system to archive observation data.

It also completes the final FITS header for the observation data file.

The OS does not access hardware functions of the instrument. It has the "knowledge" of how to coordinate the control systems to perform exposures for given observing modes.

The OS Server, shown in Figure 2, executes single exposures. Sequences of exposures are instead executed by templates.

Acquisition, calibration and science templates (signature files and scripts), needed to build the Instrument Package, required by P2PP, are also part of OS. See [AD 06] and [RD 23] for more information on templates.

An Instrument may provide the so called generic template, which is the basis for the Multiple Observation Software (MOBS) [3]. See [RD 23] for more information on MOBS and generic templates.

ESO provides standard software: BOSS (see [RD 17]) for OS Server and Archiver and TPL (see [RD 24]) for templates.

 

Figure 2 Software architecture

 

The Maintenance Software (MS) is used for instrument configuration, check-out and troubleshooting. It also provides technical templates, e.g to verify the instrument calibration, which involves the instrument and detector LCU.

ESO provides standard software for Instrument configuration (CTOO, see [RD 25]).

 

The Observer Support Software (OSS) consists of tools to support the observer in the preparation of an observing run, such as a GUI for the preparation of Observation Blocks (OB) and an exposure time calculator. For the majority of the instruments, standard tools are provided by ESO (e.g. P2PP for the OBs preparation), and no additional instrument specific software needs to be implemented.

 

The INS package must also contain facilities to build, install and startup/shutdown the Instrumentation Software [INS05].

ESO provides standard software for installation (PKGIN, see [RD 18]) and startup/shutdown (STOO, see [RD 19]).

 

The data reduction is performed by the pipeline Software on a dedicated WS (see [RD 28]). The description of this Software is outside the scope of the present document. It is important to stress that the results of the pipeline data processing are not available on the IWS. Whenever the Instrumentation Software (INS) on the IWS needs to know the results of data processing, e.g. to decide what to do next, and cannot accept that this decision is taken by the operator after checking the pipeline results on a dedicated separate screen, then that kind of data processing must be performed within INS. If there are no real-time requirements, the data processing required by INS should be implemented within the templates [INS06]. The ESO standard library for templates (see [RD 24]) provides an interface to the standard image processing tool (at present on-line MIDAS).

If and which data processing must be implemented within INS has to be discussed at the Instruments Design Reviews and must be subject to prior ESO approval [INS07].

The usage of a tool different to the current standard is also subject to prior ESO approval [INS08].

 

Users interact with the INS via the VLT Graphical User Interface (GUI). All User Interfaces at the VLT have a common "look and feel". Specific VLT panels shall be developed for every instrument, based on the VLT GUIs Editor (see [RD 11]) [INS09].

 

Last but not least, the INS package must include also test Software for each of the INS modules [INS10]. The minimum set of tests, which must pass for the Preliminary Acceptance Europe, is defined in [RD 29].

 

ESO provides the code for a Template Instrument (see [RD 30]). It should be used as starting point for building a new instrument from scratch [INS11]. It includes also examples of test scripts and automatic regression test procedures.

 

2.2.2                       INS Configuration Control

It must be possible to rebuild the Instrumentation Software from scratch. In order to achieve this purpose, all files belonging to the INS package must be managed using the VLT standard tool for configuration management cmm (see [RD 31]). This tool provides, among others, the archiving functionality for the VLT Software.

The usage of cmm is mandatory and requires that files are grouped into VLT Software modules (see definition in [AD 03]) [INS12]. Note that the concept of VLT Software modules and INS modules, as described in section 2.2.1, are different. In general every INS module consists of several VLT Software modules.

 

The general rule for all instrumentation cmm modules is that their name should be built according to the following scheme [INS13]:

<prefix><INS module id>[<description>]

where

prefix = two characters Instrument prefix

INS module id = one letter code for the INS module it belongs to:

i for ICS

d for DCS

o for OS

m for MS

s for OSS

description = string (up to three letters) identifying the role of the module. The description part is normally omitted only for the main VLT Sw module of a specific INS module.

Examples:

uvi = main ICS module for UVES

uvipan = panels for UVES ICS

vnd[4] = main DCS module for VINCI

vndacq = data acquisition module for VINCI DCS

uvo = main OS module for UVES

uvopan = panels for UVES OS

The only exception to this rule are the instrument package installation module, called <prefix>ins (example: uvins for UVES) and the module containing all instrument dictionaries, called dic<ID> (example: dicUVES for UVES)[5].

 

All rules defined in [AD 03] apply also to the INS package [INS14]. In particular, the name of all files and global variables contained and defined in a Software module must begin with the module name.

 

Also the Instrument configuration parameters must be kept under configuration control [INS15]. ESO provides a tool for INS configuration management (ctoo, see [RD 25]). All files defining the Instrument configuration must belong to the same Software module; this module belongs to the INS Maintenance Software (MS) [INS16].

See also [RD 30] for an example of how to deal with changes in the Instrument configuration.

 

2.2.3                       INS Environments

The Instrumentation Software, as any other VLT Software package, runs in CCS environments. There is one CCS environment defined for each node in the Instrument LAN[6] [INS17].

All WS CCS environments must be of type CCS-lite (full-CCS is not supported any more) [INS18].

The name of the CCS environment must be the same as the name of the corresponding LAN node (see section 2.1.1) [INS19].

Example:

·         wuves. UVES IWS CCS-lite environment (see environment variable RTAPENV)

·         luvics1. UVES ICS LCU1 LCC environment.

·         luvics2. UVES ICS LCU2 LCC environment.

·         luvsvr. UVES read arm slit viewer TCCD LCC environment.

·         luvsvb. UVES blue arm slit viewer TCCD LCC environment.

·         wuvccdr. UVES read arm scientific CCD CCS environment

·         wuvccdb. UVES blue arm scientific CCD CCS environment

·         wuvtcs[7]. TCS simulation CCS environment for UVES (see environment variable TCS_ENVNAME)

 

2.2.4                       INS Users

Every instrument defines two user names, which must be known on all nodes in Instrument LAN [INS20]:

  1. The INS manager, responsible for building and installing the Software. The name must be <ID>mgr (all lowercase).

Example: uvesmgr

  1. The INS runtime user, responsible for starting/stopping and running the INS environments and the INS Software. The name must be <ID> (all lowercase).

Example: uves

It is recommended to get used to the repartition of responsibilities between the two users already from the beginning of the development.

 

2.2.5                       INS Standards

The INS package must be based on the standard packages distributed with VLT Software releases. In particular:

·         TCCD DCS is based on the CCD Software (see [RD 13]) [INS21].

·         Infrared scientific DCS is based on the IRACE Software (see [RD 15]) [INS22].

·         Optical scientific DCS is based on the FIERA Software (see [RD 14]) [INS23].

·         Transfer of detector data is based on the dxf package (see [RD 32]) [INS24].

·         The display of detector data is based on the rtd package (see [RD 33]) [INS25].

·         ICS is based on the icb package (see [RD 16] and [RD 26]) [INS26].

·         OS is based on the boss package (see [RD 17]) [INS27].

·         Templates are based on the tpl package (see [RD 24]) [INS28].

·         The handling of FITS keywords and files is based on the oslx package (see [RD 12]) [INS29].

·         The Instrument Software installation is based on the pkgin package ([RD 18]) [INS30].

·         The Instrument Configuration is based on the ctoo package (see [RD 25]) [INS31].

·         The Instrument Software Start-up/Shutdown is based on the stoo package (see [RD 19]) [INS32].

3         INSTRUMENT CONTROL SOFTWARE (ICS)

 

The Instrument Control Software (ICS) shall control all devices belonging to an instrument, except the detectors [INS33]. Examples for instrument devices are: slit, grating, flip mirror, filter wheel, lens wheel, temperature sensors, pressure sensors, calibration lamps, etc.

 

ICS in general consists of one part, which runs on LCU(s) and one part, which runs on the IWS.

The LCU part is responsible for the interface to the devices hardware and in general the low-level control, including real-time functionality, if any.

The WS part is responsible for the coordination between LCUs, if more then one, their simulation, if not available (e.g. in a development or test environment) and for the API to OS.

3.1         States

All the standard ICS states [INS34], and the commands to change state, are specified in [AD 07].

3.2         Commands

All the standard ICS commands [INS35], the command syntax and conventions are specified in [AD 07].

3.3         Parameters

The ICS LCU software maintains all its parameters in a local database.

ICS parameters can be grouped into the following categories:

  • Configuration parameters (see also section 6.1)
  • Setup parameters (set values, see point 3 below)
  • Status parameters (actual values, see point 3 below)

 

The following rules are mandatory:

  1. All parameters values (e.g. wavelength range, operating modes, wanted device position, current device position etc.) shall be stored into the local database. They shall never be hard-coded in the Software [INS36].
  2. The complete status of the instrument-LCU shall be stored into the local database in order to enable the WS Software to monitor the status of the LCU. This implies that the local database is updated when the hardware status is read or the software status changes [INS37].
  3. Parameters set by a command, like position for a motor, shall not be modified by the LCU software until a new command to change the value of this parameter is received. This is called the set value of the parameter. Parallel to the set value there shall be a value for the real status which is called the actual value of the parameter [INS38].
  4. Set and actual value of a parameter must be stored in separate attributes in the local database [INS39].
  5. For actions like moving a motor, setting a temperature etc., there shall be a status parameter indicating that the action is going on or was completed or failed [INS40].
  6. Set values shall be checked for validity (e.g. known filter name or slit width in the allowed range) [INS41].
  7. Set parameters and values shall be checked against the associated dictionary for syntax validity (see [AD 01] and [RD 12] for more information on dictionaries) [INS42].
  8. Many parameters from the LCU local database (status, setup, configuration, etc.) must be copied to the on-line database on the workstation, so that they are directly accessible by other programs on the workstation. For example, the User Interface reads from the on-line database status information, which is to be displayed.

The copying shall be done automatically with the CCS Scan system (see [RD 07]