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: 1

 

Date: 30/04/2004

 

 

 

 

 

 

Name                                                       Date                         Signature

                Prepared:  A.Longinotti                                                      30/04/2004

 

 

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

 

 

 

 

 


 

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                                                                                                                                                                  8

1.6 Glossary                                                                                                                                                                                                        9

1.7 Stylistic Conventions                                                                                                                                                                               10

1.8 Naming Conventions                                                                                                                                                                                10

1.9 Problem Reporting/Change Request                                                                                                                                                      10

1.10    Graphical notation                                                                                                                                                                               10

2   OVERVIEW                                                                                                                                                                                                  12

2.1 Instrument ID and prefix                                                                                                                                                                          12

2.2 Hardware architecture                                                                                                                                                                              12

2.2.1   Instrument LAN                                                                                                                                                                             12

2.3 Software architecture                                                                                                                                                                                14

2.3.1   INS environments                                                                                                                                                                          14

2.3.2   INS users                                                                                                                                                                                         14

3   ANALYSIS                                                                                                                                                                                                    16

3.1 Use cases                                                                                                                                                                                                   16

3.1.1   Scientific Operations                                                                                                                                                                     16

3.1.2   Target Acquisition                                                                                                                                                                        16

3.1.3   Instrument Setup                                                                                                                                                                           17

3.1.4   Exposure execution                                                                                                                                                                        18

3.1.5   Filter substitution                                                                                                                                                                          19

4   INSTRUMENT CONTROL SOFTWARE (ICS)                                                                                                                                     20

4.1 Devices                                                                                                                                                                                                       20

4.1.1   Special devices                                                                                                                                                                               22

4.1.2   Cryogenics                                                                                                                                                                                      22

4.1.3   Backlash compensation                                                                                                                                                                22

4.1.4   Parallelism                                                                                                                                                                                       22

4.2 Assemblies                                                                                                                                                                                                 22

4.3 States                                                                                                                                                                                                          22

4.4 Commands                                                                                                                                                                                                  22

4.5 Parameters                                                                                                                                                                                                  23

4.5.1   Setup                                                                                                                                                                                                23

4.5.2   Status                                                                                                                                                                                               23

4.6 Configuration                                                                                                                                                                                             23

4.7 FITS header keywords                                                                                                                                                                             23

4.8 Stand-alone mode                                                                                                                                                                                     23

4.9 Logging                                                                                                                                                                                                      23

4.10    Safety                                                                                                                                                                                                     24

4.10.1 Interlocks                                                                                                                                                                                        24

4.10.2 Warnings                                                                                                                                                                                        24

4.10.3 Alarms                                                                                                                                                                                             24

4.11    Simulation                                                                                                                                                                                             24

4.12    Performance                                                                                                                                                                                          24

4.12.1 Initialization                                                                                                                                                                                    24

4.12.2 Setup                                                                                                                                                                                                24

4.13    Test Software                                                                                                                                                                                       25

4.14    Standards                                                                                                                                                                                              25

4.15    Modules                                                                                                                                                                                                25

5   DETECTOR CONTROL SOFTWARE (DCS)                                                                                                                                        26

5.1 Data                                                                                                                                                                                                             26

5.1.1   Acquisition                                                                                                                                                                                     26

5.1.2   Processing                                                                                                                                                                                      26

5.1.3   Display                                                                                                                                                                                            26

5.2 States                                                                                                                                                                                                          26

5.3 Commands                                                                                                                                                                                                  26

5.4 Parameters                                                                                                                                                                                                  26

5.4.1   Setup                                                                                                                                                                                                26

5.4.2   Status                                                                                                                                                                                               26

5.5 Configuration                                                                                                                                                                                             27

5.6 FITS header keywords                                                                                                                                                                             27

5.7 Stand-alone mode                                                                                                                                                                                     27

5.8 Logging                                                                                                                                                                                                      27

5.9 Failure Mode Operation                                                                                                                                                                           27

5.10    Simulation                                                                                                                                                                                             27

5.11    Performance                                                                                                                                                                                          27

5.11.1 Data rates                                                                                                                                                                                        27

5.11.2 Real-Time Display                                                                                                                                                                          27

5.12    Test Software                                                                                                                                                                                       27

5.13    Standards                                                                                                                                                                                              28

5.14    Modules                                                                                                                                                                                                28

6   OBSERVATION SOFTWARE (OS)                                                                                                                                                        29

6.1 Modes                                                                                                                                                                                                         29

6.2 Exposure Types                                                                                                                                                                                         29

6.3 Processes                                                                                                                                                                                                   29

6.3.1   OS Server                                                                                                                                                                                        29

6.3.2   OS Archiver                                                                                                                                                                                    29

6.3.3   OS Special processes                                                                                                                                                                    29

6.3.4   Supervisory OS                                                                                                                                                                              30

6.4 States                                                                                                                                                                                                          30

6.5 Commands                                                                                                                                                                                                  30

6.6 Parameters                                                                                                                                                                                                  30

6.6.1   Setup                                                                                                                                                                                                30

6.6.2   Status                                                                                                                                                                                               30

6.7 Configuration                                                                                                                                                                                             30

6.8 FITS header keywords                                                                                                                                                                             30

6.9 Interface to TCS                                                                                                                                                                                        30

6.10    User Interface                                                                                                                                                                                       30

6.11    Logging                                                                                                                                                                                                 30

6.12    Archive                                                                                                                                                                                                  30

6.13    Templates                                                                                                                                                                                              33

6.13.1 Instrument package                                                                                                                                                                       33

6.14    Performance                                                                                                                                                                                          33

6.14.1 Exposure life cycle                                                                                                                                                                         34

6.15    Test Software                                                                                                                                                                                       34

6.16    Standards                                                                                                                                                                                              34

6.17    Modules                                                                                                                                                                                                34

7   MAINTENANCE SOFTWARE (MS)                                                                                                                                                        35

7.1 Configuration                                                                                                                                                                                             35

7.2 Templates                                                                                                                                                                                                   35

7.2.1   Instrument technical package                                                                                                                                                      36

7.3 Performance                                                                                                                                                                                               36

7.3.1   Data processing                                                                                                                                                                             36

7.4 Test Software                                                                                                                                                                                             36

7.5 Standards                                                                                                                                                                                                   36

7.6 Modules                                                                                                                                                                                                     36

8   OBSERVER SUPPORT SOFTWARE (OSS)                                                                                                                                         37

8.1 Standards                                                                                                                                                                                                   37

8.2 Modules                                                                                                                                                                                                     37

9   SYSTEM ATTRIBUTES                                                                                                                                                                             38

9.1 Installation                                                                                                                                                                                                 38

9.2 Startup/Shutdown                                                                                                                                                                                     38

9.3 User Station                                                                                                                                                                                               38

9.4 Security                                                                                                                                                                                                       38

9.5 Availability                                                                                                                                                                                                 38

9.6 Maintainability                                                                                                                                                                                          38

9.7 Documentation                                                                                                                                                                                          39

9.8 Adaptability and enhancement potential                                                                                                                                              39

9.9 Training                                                                                                                                                                                                      39

10 DEVELOPMENT AND TEST FACTORS                                                                                                                                                40

10.1    Project Control                                                                                                                                                                                     40

10.2    Resource requirements                                                                                                                                                                       40

10.3    Planning                                                                                                                                                                                                40

10.3.1 Design phase                                                                                                                                                                                  41

10.3.2 Implementation phase                                                                                                                                                                   41

10.3.3 Integration phase                                                                                                                                                                           41

10.3.4 Assembly, Integration and Verification phase                                                                                                                          42

10.3.5 Commissioning phase                                                                                                                                                                   42

10.4    Test                                                                                                                                                                                                        42

11 Traceability matrix                                                                                                                                                                         43

 

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

3

30/01/2004

Instrumentation Software Specification

[AD 03]

VLT-SPE-ESO-17240-0385

3

30/01/2004

INS Common Software Specification

[AD 04]

VLT-SPE-ESO-10000-0005

2.0

23/05/2001

VLT Requirements for Cassegrain Instruments

[AD 05]

VLT-SPE-ESO-10000-0006

2

20/09/1995

VLT Requirements for Nasmyth Instruments

[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

2.0

21/05/2002

Data Interface Control Document

[AD 11]

VLT-SPE-ESO-xxxx-xxxx

1

xx/xx/xxxx

XXXX Control Software User Requirements

[AD 12]

VLT-PRO-ESO-10000-0228

2

In preparation

VLT Software Programming Standards

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

3

28/03/2003

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

3

31/03/2003

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 Modeling Language User Guide

[RD 07]

VLT-MAN-ESO-17240-0934

3

30/03/2002

INS Common sw - Base ICS User Manual

[RD 08]

VLT-MAN-ESO-17240-2240

3

31/03/2003

INS Common sw for Templates User Manual

[RD 09]

VLT-MAN-ESO-13640-1388

2

31/03/2003

FIERA Control Software User Manual

[RD 10]

VLT-MAN-ESO-17240-2265

3

31/03/2003

INS Common sw - Base OS Stub User Manual

[RD 11]

VLT-MAN-ESO-17220-1332

3

24/03/2003

HOS/Broker for Observation Blocks User Manual

[RD 12]

VLT-MAN-ESO-17240-1973

4

31/03/2003

Template Instrument User and Maint.Manual

[RD 13]

VLT-PLA-ESO-xxxx-xxxx

1

xx/xx/xxxx

XXXX Project Plan

[RD 14]

VLT-MAN-ESO-17210-0619

2.3

31/03/2003

Central Control Software User Manual

[RD 15]

VLT-MAN-ESO-14100-1878

1.3

12/02/2001

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