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

Template for Functional Specification

 

 

 

 

 

 

Doc. No.: VLT-SPE-ESO-17240-3222

 

Issue: 3

 

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

30/04/2004

All

First issue

2

13/01/2005

4.13

5.14

6.17

ic0SelfTest  replaced with inscSelfTest

module xxd removed, as test sw moved (VLTSW20040158)

test code moved from xxo (VLTSW20040158)

3

30/09/2005

10.2 10.3

Moved to Sw Management Plan template document (VLT-PLA-ESO-17240-3786)

 


 

TABLE OF CONTENTS

 

 

 

TABLE OF CONTENTS                                                                                                                                                                                      3

1   INTRODUCTION                                                                                                                                                                                           6

1.1 PURPOSE                                                                                                                                                                                                     6

1.2 Scope                                                                                                                                                                                                            6

1.3 Applicable Documents                                                                                                                                                                               6

1.4 Reference Documents                                                                                                                                                                                7

1.5 Abbreviations and Acronyms                                                                                                                                                                  7

1.6 Glossary                                                                                                                                                                                                        8

1.7 Stylistic Conventions                                                                                                                                                                                 9

1.8 Naming Conventions                                                                                                                                                                                  9

1.9 Problem Reporting/Change Request                                                                                                                                                        9

1.10    Graphical notation                                                                                                                                                                                 9

2   OVERVIEW                                                                                                                                                                                                  11

2.1 Instrument ID and prefix                                                                                                                                                                          11

2.2 Hardware architecture                                                                                                                                                                              11

2.2.1   Instrument LAN                                                                                                                                                                             11

2.3 Software architecture                                                                                                                                                                                12

2.3.1   INS environments                                                                                                                                                                          13

2.3.2   INS users                                                                                                                                                                                         13

3   ANALYSIS                                                                                                                                                                                                    15

3.1 Use cases                                                                                                                                                                                                   15

3.1.1   Scientific Operations                                                                                                                                                                     15

3.1.2   Target Acquisition                                                                                                                                                                        15

3.1.3   Instrument Setup                                                                                                                                                                           16

3.1.4   Exposure execution                                                                                                                                                                        17

3.1.5   Filter substitution                                                                                                                                                                          18

4   INSTRUMENT CONTROL SOFTWARE (ICS)                                                                                                                                     19

4.1 Devices                                                                                                                                                                                                       19

4.1.1   Special devices                                                                                                                                                                               21

4.1.2   Cryogenics                                                                                                                                                                                      21

4.1.3   Backlash compensation                                                                                                                                                                21

4.1.4   Parallelism                                                                                                                                                                                       21

4.2 Assemblies                                                                                                                                                                                                 21

4.3 States                                                                                                                                                                                                          21

4.4 Commands                                                                                                                                                                                                  21

4.5 Parameters                                                                                                                                                                                                  22

4.5.1   Setup                                                                                                                                                                                                22

4.5.2   Status                                                                                                                                                                                               22

4.6 Configuration                                                                                                                                                                                             22

4.7 FITS header keywords                                                                                                                                                                             22

4.8 Stand-alone mode                                                                                                                                                                                     22

4.9 Logging                                                                                                                                                                                                      23

4.10    Safety                                                                                                                                                                                                     23

4.10.1 Interlocks                                                                                                                                                                                        23

4.10.2 Warnings                                                                                                                                                                                        23

4.10.3 Alarms                                                                                                                                                                                             23

4.11    Simulation                                                                                                                                                                                             24

4.12    Performance                                                                                                                                                                                          24

4.12.1 Initialization                                                                                                                                                                                    24

4.12.2 Setup                                                                                                                                                                                                24

4.13    Test Software                                                                                                                                                                                       24

4.14    Standards                                                                                                                                                                                              24

4.15    Modules                                                                                                                                                                                                24

5   DETECTOR CONTROL SOFTWARE (DCS)                                                                                                                                        25

5.1 Data                                                                                                                                                                                                             25

5.1.1   Acquisition                                                                                                                                                                                     25

5.1.2   Processing                                                                                                                                                                                      25

5.1.3   Display                                                                                                                                                                                            25

5.2 States                                                                                                                                                                                                          25

5.3 Commands                                                                                                                                                                                                  25

5.4 Parameters                                                                                                                                                                                                  25

5.4.1   Setup                                                                                                                                                                                                25

5.4.2   Status                                                                                                                                                                                               25

5.5 Configuration                                                                                                                                                                                             26

5.6 FITS header keywords                                                                                                                                                                             26

5.7 Stand-alone mode                                                                                                                                                                                     26

5.8 Logging                                                                                                                                                                                                      26

5.9 Failure Mode Operation                                                                                                                                                                           26

5.10    Simulation                                                                                                                                                                                             26

5.11    Performance                                                                                                                                                                                          26

5.11.1 Data rates                                                                                                                                                                                        26

5.11.2 Real-Time Display                                                                                                                                                                          26

5.12    Test Software                                                                                                                                                                                       26

5.13    Standards                                                                                                                                                                                              27

5.14    Modules                                                                                                                                                                                                27

6   OBSERVATION SOFTWARE (OS)                                                                                                                                                        28

6.1 Modes                                                                                                                                                                                                         28

6.2 Exposure Types                                                                                                                                                                                         28

6.3 Processes                                                                                                                                                                                                   28

6.3.1   OS Server                                                                                                                                                                                        28

6.3.2   OS Archiver                                                                                                                                                                                    28

6.3.3   OS Special processes                                                                                                                                                                    29

6.4 States                                                                                                                                                                                                          29

6.5 Commands                                                                                                                                                                                                  29

6.6 Parameters                                                                                                                                                                                                  29

6.6.1   Setup                                                                                                                                                                                                29

6.6.2   Status                                                                                                                                                                                               29

6.7 Configuration                                                                                                                                                                                             29

6.8 FITS header keywords                                                                                                                                                                             29

6.9 Interface to TCS                                                                                                                                                                                        29

6.10    User Interface                                                                                                                                                                                       29

6.11    Logging                                                                                                                                                                                                 29

6.12    Archive                                                                                                                                                                                                  29

6.13    Templates                                                                                                                                                                                              32

6.13.1 Instrument package                                                                                                                                                                       32

6.14    Performance                                                                                                                                                                                          32

6.14.1 Exposure life cycle                                                                                                                                                                         33

6.15    Test Software                                                                                                                                                                                       33

6.16    Standards                                                                                                                                                                                              33

6.17    Modules                                                                                                                                                                                                33

7   MAINTENANCE SOFTWARE (MS)                                                                                                                                                        34

7.1 Configuration                                                                                                                                                                                             34

7.2 Templates                                                                                                                                                                                                   34

7.2.1   Instrument technical package                                                                                                                                                      35

7.3 Performance                                                                                                                                                                                               35

7.3.1   Data processing                                                                                                                                                                             35

7.4 Test Software                                                                                                                                                                                             35

7.5 Standards                                                                                                                                                                                                   35

7.6 Modules                                                                                                                                                                                                     35

8   OBSERVER SUPPORT SOFTWARE (OSS)                                                                                                                                         36

8.1 Standards                                                                                                                                                                                                   36

8.2 Modules                                                                                                                                                                                                     36

9   SYSTEM ATTRIBUTES                                                                                                                                                                             37

9.1 Installation                                                                                                                                                                                                 37

9.2 Startup/Shutdown                                                                                                                                                                                     37

9.3 User Station                                                                                                                                                                                               37

9.4 Security                                                                                                                                                                                                       37

9.5 Availability                                                                                                                                                                                                 37

9.6 Maintainability                                                                                                                                                                                          37

9.7 Documentation                                                                                                                                                                                          38

9.8 Adaptability and enhancement potential                                                                                                                                              38

9.9 Training                                                                                                                                                                                                      38

10 DEVELOPMENT AND TEST FACTORS                                                                                                                                                39

10.1    Project Control                                                                                                                                                                                     39

10.2    Test                                                                                                                                                                                                        39

11 Traceability matrix                                                                                                                                                                         40

 

1          INTRODUCTION

This document aims to provide Instrument Software Engineers with a template of the Instrument Software Functional Specification (ISFS) document. Instrument specific ISFS documents should be based on this template. They should contain at least the structure and information described herein (whenever applicable), and possibly add instrument specific parts.

In the present document, XXXX is used to indicate the name of a generic instrument.

Examples appearing in this document are taken from existing ISFS.

Paragraphs in italics should be removed or at least adapted to the specific instrument.

1.1         PURPOSE

The purpose of this document is to describe the Functional Specifications of the XXXX Control Software. They are the result of the analysis study of the requirements, described in [AD 11], and [AD 02].

 

This document logically follows the Instrument Software User Requirements Specification (ISURS, see [AD 11]) and shall be applicable to all the following Software documents, in particular the Instrument Software Design Description (ISDD), which logically directly follows it

 

In order to trace more easily all requirements and related design solutions in the next Software documents, all major points described here have a numbered tag: [ISFS nn].

 

This document shall be reviewed at the Preliminary Design Review (PDR). It shall be part of the PDR data package. In case of exceptional changes to the requirements after PDR, once the change request has been approved by ESO, the ISURS and this document shall be updated accordingly.

1.2         Scope

This document defines the Functional Specifications of the XXXX Control Software only. Functional Specifications of other parts of the VLT data flow, such as the pipeline, are outside its scope.

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]

VLT-SPE-ESO-xxxxx-xxxx

1

xx/xx/xxxx

XXXX Technical Specification

[AD 02]

VLT-SPE-ESO-17212-0001

5

30/09/2005

Instrumentation Software Specification

[AD 03]

VLT-SPE-ESO-17240-0385

4

13/01/2005

INS Common Software Specification

[AD 04]

VLT-SPE-ESO-10000-2723

1

18/03/2005

VLT Requirements for Scientific Instruments

[AD 05]

VLT-PRO-ESO-10000-0228

1

10/03/1993

VLT Software Programming Standards

[AD 06]

VLT-SPE-ESO-xxxxx-xxxx

1

xx/xx/xxxx

XXXX Control Electronics Specification

[AD 07]

VLT-ICD-ESO-17240-19200

1.3

07/06/2000

ICD between VCS and OH

[AD 08]

VLT-ICD-ESO-17240-19400

2.6

17/11/1997

ICD between VCS and Archive

[AD 09]

VLT-PLA-ESO-10000-0441

1.0

01/05/1995

VLT Science Operation Plan

[AD 10]

GEN-SPE-ESO-19400-0794

3

01/02/2005

Data Interface Control Document

[AD 11]

VLT-SPE-ESO-xxxx-xxxx

1

xx/xx/xxxx

XXXX Control Software User Requirements

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-MAN-ESO-17230-0942

2

22/03/2002

TCS User Manual

[RD 04]

VLT-PLA-ESO-17240-2266

5

13/01/2005

INS Acceptance Test Plan Template Document

[RD 05]

VLT-MAN-ESO-17200-0981

2

16/10/1998

VLT Problem Report Change Request User Man.

[RD 06]

G. Booch, I. Jacobson, J. Rumbaugh

 

10/1998

The Unified Modelling Language User Guide

[RD 07]

VLT-MAN-ESO-17240-0934

5

31/03/2004

INS Common sw - Base ICS User Manual

[RD 08]

VLT-MAN-ESO-17240-2240

4

31/03/2004

INS Common sw for Templates User Manual

[RD 09]

VLT-MAN-ESO-13640-1388

3

31/03/2004

FIERA Control Software User Manual

[RD 10]

VLT-MAN-ESO-17240-2265

4

05/04/2004

INS Common sw - Base OS Stub User Manual

[RD 11]

VLT-MAN-ESO-17220-1332

4

19/04/2004

HOS/Broker for Observation Blocks User Manual

[RD 12]

VLT-MAN-ESO-17240-1973

5

13/01/2005

Template Instrument User and Maint.Manual

[RD 13]

VLT-PLA-ESO-xxxx-xxxx

1

xx/xx/xxxx

XXXX Software Management Plan

[RD 14]

VLT-MAN-ESO-17210-0619

2.4

31/03/2004

Central Control Software User Manual

[RD 15]

VLT-MAN-ESO-14100-1878

1.4

01/12/2003

IRACE-DCS User Manual

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

FWHM

Full Width Half Maximum

GUI

Graphical User Interface

HW

Hardware

HOS

High Level Operating Software

ICS

Instrument Control Software

IEE

Institution of Electrical Engineers (UK)

IEEE

Institute of Electrical and Electronics Engineers (USA)

INS

Instrumentation Software

I/O

Input/output

IR

Infra-Red

ISDD

Instrument Software Design Description

ISFS

Instrument Software Functional Specification

ISURS

Instrument Software User Requirements Specification

ISUMM

Instrument Software User and 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

MS

Maintenance Software

MTBF

Mean Time Between Failures

MTBS

Mean Time Between Service

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

QE

Quantum Efficiency

RAM

Random Access Memory

SNR

Signal to Noise Ratio

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)

UV

Ultra-Violet

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

The following is defined in [AD 02]:

Ø       Exposure

Ø       Integration

Ø       Instrument Mode

Ø       Instrument Workstation

 

The following is defined in [AD 07]:

Ø       Observation Block

Ø       Template

Ø       Template Signature File

 

The following is defined in [AD 03]:

Ø       Setup file

Ø       Short Hierarchical Format

 

The following is defined in [AD 11]:

Ø       User

 

The following is defined in [RD 07]:

Ø       Assembly

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 05] shall be used.

1.10     Graphical notation

The following graphical notation is used in Chapter 3 (see [RD 06]):

 


Asynchronous message

 

 

A form of communication in which a producer task sends a message to a consumer task and does not wait for a response; a message queue could potentially build up between the tasks. Also referred to as “loosely coupled message communication”.

 

Dependency

 

 

 

Show which component and/or package communicates and/or depends with/on another one.

Package

 

 

A group of modelling elements.

 

 

 

 

Component

 

 

An active self-contained object with a well-defined interface.

 

Interface

 

 

The external specification of a class, task or component.

Actor

 

 

 

Shows an outside user or related set of users who interact with the system.

 

 

 


Node

 

 

In a distributed environment, each node consist of one or more processors with shared memory.

Object

 

An instance of a class that contains both hidden data and operations on that data.

Use Case Realization

 

A use case realization is a graphic sequence of events, also referred to as a scenario or an instance of a use case.  These realizations or scenarios are depicted in either a sequence or collaboration diagram.

 

2         OVERVIEW

This document tries to associate, whenever possible, every functional aspect to one of the standard instrumentation modules (ICS, DCS, OS, OSS, MS). This approach is a consequence of the fact that in most of the instrumentation projects the software part is developed at several sites, and the repartition of responsibility among partners is based on the instrumentation modules (e.g. partner A is responsible for  ICS, B for DCS, C for OS, OSS and MS). The risk of such approach however is that system and integration aspects do not get the necessary attention. For this reason, one separate chapter is dedicated to system aspects and one to  the overall project organization aspects.

 

The present chapter aims to give an overview of the instrument hardware and software architecture.

Chapter 3 presents the results of the analysis of requirements in form of use cases presentation.

Chapter 4 describes the functionality of the ICS module

Chapter 5 describes the functionality of the DCS module

Chapter 6 describes the functionality of the OS module

Chapter 7 describes the functionality of the MS module

Chapter 8 describes the functionality of the OSS module

Chapter 9 describes the functionality related to the whole instrument

Chapter 10 describes aspects about the project organization

2.1         Instrument ID and prefix

The instrument ID will be XXXX. The instrument prefix will be xx. [ISFS01]

2.2         Hardware architecture

Figure 1 gives an overview of the instrument hardware architecture.

Following the VLT standard system architecture, the instrument hardware will be located in the Telescope Area.

As from [AD 06], the instrument devices will be controlled from two LCUs.

The two scientific detectors are controlled by two dedicated Detector LCUs (Ultra-Sparc Workstations).

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. The typical amount of data produced and stored on disk during an observing night is xx GB and the maximum amount is xx GB. Considering that the two scientific detectors may produce data in parallel, in order to optimize disk write operations, the IWS will be equipped with two hard disks of xx GB each and minimum speed of xx MB/sec [ISFS58].

Only the LCU controlling the image derotator device will be equipped with a TIM board and connected to the Time Reference System. The other LCUs have no time critical synchronization requirements and will therefore not be equipped with a TIM board [ISFS02].

The two screens of the User Station console will be used: one for control and status display and the other one for real-time image display (see 9.3).

2.2.1      Instrument LAN

The Instrument LCUs have a normal Ethernet connection to the Instrument LAN.

The two scientific detectors LCUs, as well as the Instrument WS, have a large bandwidth ATM connection to the Instrument LAN.

The name of the nodes will be [ISFS03]:

  • wxxxx for the Instrument Workstation
  • lxxics1 for the first instrument LCU
  • lxxics2 for the second instrument LCU
  • wxxdir for the infra-red science detector LCU
  • wxxduv for the ultra-violet science detector LCU

Figure 1 Hardware architecture

 

 

2.3         Software architecture

Figure 2 shows the architecture of the instrument software and the data flow between its components [ISFS80].

The instrumentation software is subdivided in the standard INS modules (see [AD 02]) ICS, DCS, OS, MS, OSS [ISFS04].

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.

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 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, the related 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.3.1      INS environments

The environments used by the instrumentation software are [ISFS06]:

  • wxxxx on the Instrument Workstation. Type CCS-lite
  • lxxics1 on the first instrument LCU
  • lxxics2 on the second instrument LCU
  • wxxduv on the UV science detector LCU. Type CCS-lite

The IR science detector LCU Software runs under no-CCS and therefore does not need any CCS environment.

2.3.2      INS users

Two UNIX users will be dedicated to this instrument [ISFS07]:

  • xxxxmgr, responsible for building and installing the Software
  • xxxx, responsible for starting/stopping and running the INS environments and the INS Software

Figure 2 Software architecture

 

3         ANALYSIS

3.1         Use cases