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 Design Description

 

 

 

 

 

 

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

 

Issue: 1

 

Date: 30/09/2005

 

 

 

 

 

 

                Prepared:  A.Longinotti                                                      30/09/2005

Name                                                       Date                         Signature

 

 

                Approved:  K.Wirenstrand                                                                 

Name                                                       Date                         Signature

 

                Released:  M.Cullum                                              

Name                                                       Date                         Signature

 

 

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/draft 1

31/08/2005

All

First draft for review

1

30/09/2005

All

First issue after incorporating reviewers comments

 

 

 

 

 


 

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                                                                                                                                                                                6

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

3   ARCHITECTURE                                                                                                                                                                                         12

3.1 Instrument ID and prefix                                                                                                                                                                          12

3.2 Hardware architecture                                                                                                                                                                              12

3.2.1   Instrument LAN                                                                                                                                                                             12

3.3 Software architecture                                                                                                                                                                                13

3.3.1   INS environments                                                                                                                                                                          14

3.3.2   INS users                                                                                                                                                                                         14

4   INSTRUMENT CONTROL SOFTWARE (ICS)                                                                                                                                     16

4.1 Devices                                                                                                                                                                                                       16

4.1.1   Special devices                                                                                                                                                                               18

4.1.2   Cryogenics                                                                                                                                                                                      18

4.1.3   Backlash compensation                                                                                                                                                                18

4.1.4   Interlocks                                                                                                                                                                                        18

4.1.5   Parallelism                                                                                                                                                                                       18

4.1.6   States                                                                                                                                                                                               18

4.2 ICS LCU part                                                                                                                                                                                              18

4.2.1   Architecture                                                                                                                                                                                    18

4.2.2   Lakeshore special device                                                                                                                                                              19

4.3 ICS WS part                                                                                                                                                                                               20

4.3.1   Architecture                                                                                                                                                                                    20

4.3.2   Special classes                                                                                                                                                                               20

4.3.3   Assemblies                                                                                                                                                                                     21

4.3.4   Interfaces                                                                                                                                                                                        21

4.3.5   Alarms                                                                                                                                                                                             21

4.4 Configuration                                                                                                                                                                                             21

4.5 Dictionaries                                                                                                                                                                                                22

4.6 Test Software                                                                                                                                                                                             22

4.7 Standards                                                                                                                                                                                                   22

4.8 Modules                                                                                                                                                                                                     22

5   DETECTOR CONTROL SOFTWARE (DCS)                                                                                                                                        24

5.1 Architecture                                                                                                                                                                                               24

5.1.1   States                                                                                                                                                                                               24

5.1.2   Logging                                                                                                                                                                                           24

5.1.3   Failure Mode Operation                                                                                                                                                                24

5.1.4   Simulation                                                                                                                                                                                       24

5.2 Interfaces                                                                                                                                                                                                    24

5.3 Data                                                                                                                                                                                                             25

5.3.1   Acquisition                                                                                                                                                                                     25

5.3.2   Processing                                                                                                                                                                                      25

5.3.3   FITS file                                                                                                                                                                                           25

5.3.4   Display                                                                                                                                                                                            25

5.4 Configuration                                                                                                                                                                                             25

5.5 Test Software                                                                                                                                                                                             25

5.6 Standards                                                                                                                                                                                                   25

5.7 Modules                                                                                                                                                                                                     25

6   OBSERVATION SOFTWARE (OS)                                                                                                                                                        26

6.1 Architecture                                                                                                                                                                                               26

6.2 Processes                                                                                                                                                                                                   27

6.2.1   OS Server                                                                                                                                                                                        27

6.2.2   OS Archiver                                                                                                                                                                                    31

6.2.3   Slit viewer server                                                                                                                                                                            31

6.3 Configuration                                                                                                                                                                                             33

6.4 Dictionaries                                                                                                                                                                                                33

6.5 Dictionaries                                                                                                                                                                                                33

6.6 Templates                                                                                                                                                                                                   33

6.6.1   Templates library                                                                                                                                                                           34

6.6.2   Instrument package                                                                                                                                                                       34

6.7 Test Software                                                                                                                                                                                             34

6.8 Standards                                                                                                                                                                                                   34

6.9 Modules                                                                                                                                                                                                     34

7   MAINTENANCE SOFTWARE (MS)                                                                                                                                                        35

7.1 Configuration                                                                                                                                                                                             35

7.2 Templates                                                                                                                                                                                                   35

7.2.1   Instrument technical package                                                                                                                                                      36

7.3 Test Software                                                                                                                                                                                             36

7.4 Standards                                                                                                                                                                                                   36

7.5 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 Performance                                                                                                                                                                                               38

9.3.1   Initialization and setup                                                                                                                                                                  38

9.3.2   Data rates                                                                                                                                                                                        38

9.3.3   Data processing                                                                                                                                                                             38

9.3.4   Real-Time Display                                                                                                                                                                          38

9.3.5   DCS Synchronization                                                                                                                                                                    38

9.3.6   Exposure life cycle                                                                                                                                                                         39

9.4 User Station                                                                                                                                                                                               39

9.5 Security                                                                                                                                                                                                       39

9.6 Availability                                                                                                                                                                                                 39

9.7 Maintainability                                                                                                                                                                                          39

9.8 Documentation                                                                                                                                                                                          39

9.9 Adaptability and enhancement potential                                                                                                                                              39

9.10    Training                                                                                                                                                                                                 40

10 DEVELOPMENT AND TEST FACTORS                                                                                                                                                41

10.1    Project Control                                                                                                                                                                                     41

10.2    Test                                                                                                                                                                                                        41

11 REFERENCE                                                                                                                                                                                                 42

11.1    ICS                                                                                                                                                                                                          42

11.1.1 Lakeshore special device server                                                                                                                                                  42

11.1.2 Lakeshore special device monitoring task                                                                                                                                 42

11.1.3 Lakeshore special device operational logs                                                                                                                                42

11.1.4 ICS WS Server                                                                                                                                                                                42

11.1.5 ICS WS special classes                                                                                                                                                                 42

11.1.6 Assemblies                                                                                                                                                                                     42

11.1.7 Alarms                                                                                                                                                                                             42

11.1.8 FITS header                                                                                                                                                                                    42

11.1.9 Configuration                                                                                                                                                                                 43

11.2    DCS                                                                                                                                                                                                        43

11.2.1 DCS Server                                                                                                                                                                                      43

11.2.2 DCS keywords                                                                                                                                                                                43

11.2.3 On-line database                                                                                                                                                                            43

11.2.4 FITS header                                                                                                                                                                                    43

11.3    OS                                                                                                                                                                                                           43

11.3.1 OS Server special classes                                                                                                                                                             43

11.3.2 OS Secondary Guiding Server                                                                                                                                                     43

11.3.3 Modes                                                                                                                                                                                             43

11.4    MS                                                                                                                                                                                                          44

11.5    OSS                                                                                                                                                                                                        44

12 Traceability matrix                                                                                                                                                                         45

 

1         INTRODUCTION

This document aims to provide Instrument Software Engineers with a template of the Instrument Software Design Description (ISDD) document. Instrument specific ISDD 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. Its characteristics (devices, detectors, performances etc) are  used just as example and do not correspond to any existing or planned VLT/VLTI Instrument

Examples appearing in this document are taken from existing ISDD documents.

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

1.1         Purpose

The purpose of this document is to describe the design of the XXXX Control Software. They are the result of the Instrument Software Detailed Design study.

 

This document logically follows the Instrument Software Functional Specification (ISFS, see [AD 12]) and shall be applicable to the implementation of the Software.

 

In order to trace more easily all design solutions, all major points described here have a numbered tag: [ISDDnn].

 

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

1.2         Scope

This document is supposed to be used as template for the ISDD of any instrument based on the VLT common sw. It is therefore applicable also to VLTI Instruments..

 

This document defines the detailed Design Description of the XXXX Control Software only. The design of other parts of the VLT data flow, such as the pipeline, is 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

4

13/01/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.0

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

[AD 12]

VLT-SPE-ESO-xxxx-xxxx

1

xx/xx/xxxx

XXXX Control Software Functional Specification

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

The contents of this section must be adapted to contain only the abbreviations and acronyms actually used within the document.

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

CDT

Commands Definition Table

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

KRPM

Kilo (i.e. Thousand) Revolutions Per Minute

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 contents of this section must be adapted to contain the notation actually used within the ISDD document.

 

The following graphical notation is used (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 design aspect to one of the standard instrumentation modules (ICS, DCS, OS, OSS and 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, separate chapters are dedicated to system aspects and to the overall project organization.

 

Chapter 3 describes the instrument hardware and software architecture

Chapter 4 describes the design of the ICS module

Chapter 5 describes the design of the DCS module

Chapter 6 describes the design of the OS module

Chapter 7 describes the design of the MS module

Chapter 8 describes the design of the OSS module

Chapter 9 describes aspects related to the design of the whole instrument

Chapter 10 describes aspects about the project organization

3         ARCHITECTURE

3.1         Instrument ID and prefix

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

3.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).

Note: in future projects the Detector LCU will probably consist of a Linux box.

Control and data information is transferred over the Instrument LAN between the Instrument Workstation and the Instrument and Detector