G.Chiozzi - My job at ESO (starting May 1994)

Index:

Summary:

Software Engineer
European Southern Observatory
Karl-Schwarzschildstraße, 2 - Garching bei München, GERMANY

At ESO I work on the architecture, design and implementation of software for the control and operation of telescopes.

Since 2007 I am Head of the Control and Instrument Software Department.

My tasks in the matrix structure of our organization include:

As a senior software architect, I am also involved directly in ALMA (Atacama Large Millimeter Array) project, mainly in the ALMA Common Software, and on preliminary studies for the control system of the E-ELT (ESO's new 30m project).

From 2000 until March 2007, I have been mainly involved in the ALMA (Atacama Large Millimeter Array) project.

ALMA is an international collaboration between European, American and Japanese institutes for the construction of a radio interferometer in Chile.
As responsible for the software infrastructure used across the whole project (ALMA Common Software), I have been:

I have been also a member of the ALMA High Level Analysis and Software Engineering groups, where I have played a key role on one side in the definition of the overall architecture of the ALMA project and on the other side in the definition of the software engineering standards and software development methodology.

ACS is publicly available and is used also in other projects in the community of large physics experiments, in particular by astronomical telescopes.

From 1998 until 2000 I have been responsible for the activity of the Telescope Control Software (TCS) team at ESO headquarters, within the Very Large Telescope (VLT) Software Group (The VLT is a system of 4 parallel optical telescopes with 8 meters aperture each in the Atacama desert in Chile).

During these years I had a major role in the design and implementation of the VLT TCS, currently online at the VLT Observatory. The Control System is based on a standard model architecture, with Unix co-ordinating workstations and VME-Bus VX-Works local control units. In particular I am responsible for the workstation co-ordination software of subsystems directly involved in the control of the Telescopes' movements.

The control software developed for the VLT is also re-used at the ESO New Technology Telescope (NTT) in La Silla, at the 3.6 Telescope, in La Silla, and for the Astromonical Site Monitor Telescopes in La Silla and Paranal. Also the VLTI Auxiliary Telescopes and the VLT Survey Telescope, now under design, will re-use the same control software.

In December 1997, the ESO group responsible for the development of the Telescope Control Software (TCS) has been split in a Garching Team co-ordinated by me, and a Paranal Team, co-ordinated by K.Wirenstrand. Currently the Garching TCS Team is constituted by 3 full time people plus a variable number of external consultants and ESO colleagues with specific assignments. In the past years, during the main VLT development phase, some software modules, in particular subsystem low level components, have been assigned to external contractors, monitored and co-ordinated by our team.

The TCS team is currently responsible for maintenance and upgrading of the TCS, for the analysis and implementation of the VLTI Auxiliary Telescopes Control Software and for the definition of the TCS for new generation telescopes. Another major activity is the support to other ESO and external teams working on the control system of other telescopes and of instruments. 
We are also responsible for the Telescope Control Model in Garching, a fairly complete installation of the control electronics for one unit telescope used to test VLT workstation and LCU control software.

The whole VLT Software Group [Picture] (TCS, common software, instrumentation software, quality assurance, software configuration and management) consist of about 20 people, not taking into account the team responsible for the NTT upgrade, consultants, external contractors and university consortia responsible for specific instruments. The group is headed by G.Raffi.

All the design and development of the TCS is based on object oriented technology and part of my job involves activity on the application of object oriented techniques for the implementation of real-time control systems.

In this area I have worked on the definition of an object language for the real-time database of the control system (as an extension of a commercial real-time hierarchical database (HP-RTAP)) and I have designed a C++ application framework for the development of distributed control applications, based on a client-server event-driven architecture. These components are part of the VLT Common Software and are a basic core for the whole software architecture of the system.

I am also co-ordinator of the Object Oriented Working Group, responsible of driving and co-ordinating the migration to object oriented technology in the VLT software group. This group consist of three people assigned to it for about 15% of their time. During the first phases of the step by step migration to Object Oriented methodologies, in 1994 and 1995, the main responsibility of the group has been that of identifying all the necessary didactic activities, design and development methodologies and standards, pilot projects and the way object technology would have been used in the VLT software.

After having developed most high level TCS using Booch methodology and C++, we are now making a further step using the ATCS project as a test bed for UML, Java and CORBA technologies. 

An important activity of the OO Working Group consists of mentoring and training on the job for the colleagues, consultants and consortia that start new projects using our Object Oriented architecture and application framework. In parallel to this, the group works as a class librarian and maintains the application framework, both in terms of documentation (traditional manuals and design patterns) and code.

Industrial quality standards in the VLT Software are achieved through formal configuration and control management techniques. The software follows an iterative life cycle with formal documents (Functional Specification, Design Description, Test Plan...) at each phase, based on ESA (European Space Agency) standards. A great emphasis is put on modular and integration testing. (For more details on the software design and development standards used in the control software for the VLT project, look at the documents here).

A lot of documents related to my job at ESO can be found here. They include papers presented at conferences, tutorials, design descriptions and user manuals for all the developed software.

Projects:

For an overview of my years at ESO, you can have a look at the Gannt diagrams for 1994-95, 1996, 1997.

The following table provides a more detailed description of the projects I have been involved in and of my contribution. The period(s) and the amount of time (as a percentage of my full time) I have worked on a project is showed on the left column, while the work performed in that period is described on the right column. Projects are sorted in a sort of arbitrary descending "importance" order, i.e. bigger and more important projects are on top, giving higher priority to more recent projects.

Last updated in 1998!
VLTI Auxiliary Telescopes, ALMA, E-ELT and CIS department missing!

Unfortunately I do not have sufficient time to properly maintain this page :-(



E-ELT Project - preliminary studies and prototypes 

- -To be Done



ALMA and ALMA Common Software (ACS) 

- -To be Done

 



VLTI Auxiliary Telescopes (ATCS) 

- -To be Done

 



VLT Telescope Control Software (TCS) 

May 94 - Nov 94 (30%)Although the development of the VLT Telescope Control Software is my main activity at ESO, during my first months I have been mainly involved in CCS and Object Oriented related activities. 

The time dedicated to TCS in this period has been spent mainly in getting familiar with the new application domain, studying the functional specification and designing the general architecture of the control software. 

Dec 94 - Jan 95 (40%)Design of a general architecture for the workstation co-ordination software of TCS. 

Development of a prototype for the Preset co-ordination module, based on the Event Handling Tool-kit and of the communication interface with the other foreseen modules.

A description of the general TCS architecture can be found in these postscript documents:

Feb 95 - Apr 95 (70%)Detailed Preset module design and implementation. 

The Preset module receive all commands to point the telescope to a new target and co-ordinates the sequence of actions that must be executed by all other modules to perform this task. 

Apr 95 - Jun 95 (40%)Detailed Mode Switching module design and support to the implementation. 

The Mode Switching module keeps track of the global state of the TCS and co-ordinates the global mode changes of the system (Cold Start, Start, Stop, Shutdown) used during night and day operation and the change of active focus station. It provides also a set of general services (in the form on commands and class libraries) used by the other modules. 

Jun 95 - Sep 95 (30%)Support to de design and implementation of the Workstation Tracking module. 

The Tracking WS module is responsible for co-ordinating the subsystems involved in pointing and tracking targets, like the altitude and azimuth axes or the adapter/rotators. 

Oct 95 - Jan 96 (30%)Support to the design and implementation of the Telescope Interface (TIF) module and of the TCS simulation package. 

The TIF module provides the interface to TCS for external applications, like instrument's control software, in term of an interface process that receives all commands to TCS, analyses and checks them for dispatching to the actual TCS responsible module. It provides also an API for applications so that they can get access to TCS data and status information.

The TCS simulation package provides a comprehensive simulation of the TCS environment to be used during the development of application software. The actual TCS WS code is run and subsystem modules are replaced by dummy processes to minimize the differences in behaviour with the real system.

Feb 96 - Mar 96 (60%)TCS integration and porting to the new release of VLT common software. 
Apr 96 - May 96 (20%)Support to the design and implementation of the Pointing Model (POM) module. 

The POM module is used to build a model of the telescope pointing accuracy and to produce corrections to the theoretical tracking algorithms. Pointing errors are due to many effects like structural flexure, optical alignment errors, temperature and so on. The error vectors for a number of stars all over the sky are measured and used to feed a fitting software. This produces a set of correction coefficients that are used in the tracking algorithm to significantly improve accuracy. 

May 96 - Aug 96 (30%)Auto Guiding design and support to the implementation. 

The Auto Guiding module is used to dynamically improve algorithmic (based on theoretical sky motion) target tracking. The image of a guide star is analysed in real time, its motion between two images measured and corrections are sent to the tracking axis to compensate for the error. 

Jul 96 - Sep 96 (60%)TCS integration. Software ready for Milano test. 

In this period of time a complete integration of all available TCS modules (workstation and LCU) has bee performed at ESO headquarters using a test setup. A great emphasis has been put on developing an automatic test suite to be used for the test on the first real VLT telescope structure in Milano.

Aug 96 - Nov 96 (10%)Support to the design and implementation of the Active Optics module. 

The Active Optics module is responsible for dynamic corrections of optical errors on mirrors M1, M2 and M3, based on the results of a real time image analysis. 

Sep 96 - Nov 96 (70%)Upgrade of TCS modules, introducing missing functionality and developing new functionality required by the NTT upgrade project. 
Dec 96 (100%)TCS integration and test at the New Technology Telescope (NTT) in La Silla. 
Jan 97 - Feb 97 (90%)Upgrade of TCS modules, introducing missing functionality and developing new functionality required by the NTT upgrade project. 
Mar 97 - Apr 97 (50%)Detailed Field Stabilisation design. 

The Field Stabilization module is used, as the Auto Guiding module, to dynamically improve algorithmic (based on theoretical sky motion) target tracking. The image of a guide star is analysed in real time at much higher frequency compared to Auto Guiding, its motion between two images measured and corrections are sent to the Mirror 2 subsystem to compensate for the error. 

Mar 97 - Apr 97 (50%)Integration of the TCS Simulation Package and extension of the Telescope Interface module (included documentation) for the May97 VLT Software release. 
June 97 (20%)Support to the development of the Active Optics module, in terms of analysis of the current implementation and code walk together with the team responsible for the implementation, in order to improve robustness, compliance to standards and extendibility. 
June 97 (40%)Integration of all TCS modules (see also on-line presentation), implementation of extensions required after the NTT Big Bang test period and extensive integration tests. 
July 97 - Nov 97 (70%)Auto Guiding upgrade.

The Auto Guiding module is a core component of the Telescope Control System and is the base for the implementation of the Field Stabilisation module. In this period the module's implementation has been completely revised to fully adhere to VLT standards and to the foreseen design. VLT extensions have been implemented and in depth test and quality control procedures have been applied.

July 97 (60%)Implementation of Field Stabilisation - M2 communication library.

The Field Stabilisation module needs to communicate to the M2 subsystem position corrections with a frequency higher that the one allowed by standard VLT inter-process communication software.

This library implements a communication layer based on direct socket calls.  

Sept 97 (80%)Integration of the TCS Simulation Package and extension of the Telescope Interface module (included documentation) for the Nov97 VLT Software release. 
From Nov 97 on (10%)VLT Control Model co-ordination.

The VLT Control Model in Garching consists of a fairly complete control electronics for a unit telescope. It includes all control workstations and LCUs, plus mockup motors and encoders for the tracking axis, a complete adapter-rotator, CCD cameras for guide and acquisition and for active optics and other test equipment.

It is used for integration tests and to allow testing in Garching with a configuration as similar as possible to the real system in Paranal.

Since November '97 I am responsible for the co-ordination of all the activity on the Control Model.

Nov 97 - Dec 97 (20%)VLT Control Model integration tests.

Integration tests of all implemented TCS modules on the control model, using mockup motors for tracking and real CCD chips with mockup camera and star images for guide and acquisition and for active optics.

From Nov 97 on (10%)TCS Garching co-ordination.

Since November '97 the TCS group leader K.Wirenstrand took up duty station in Paranal to co-ordinate TCS installation and commissioning. Since then I co-ordinate the TCS activities in Garching. 

Dec 97 - Apr 98 (60%) Field Stabilisation implementation. Phase 1

Implementation of basic Field Stabilisation functionality. In this first phase the basic application architecture has been implemented, inheriting from the classes of the Auto Guiding system. Workstation commands to co-ordinate Field Stabilisation, M2 software and Instruments Software requesting Rapid Guiding have been implemented. On the LCU side, TCS controlled Field Stabilisation has been implemented using the M2 interface to send corrections over an high speed dedicated network connection.

Apr 98 - May 98 (90%)TCS Integration and tests in UT1 at Paranal Observatory.

During the months of April and May 1998 I spent most of the time at the Paranal Observatory, in Chile, for the integration of the first unit telescope (UT1) in preparation for the VLT First Light. In this period I have worked on the integration of the control system on the hardware of the first telescope and performed many performance tests and system tuning.

A lot of time has been dedicated to Auto Guiding and Field Stabilisation tests and to the tuning of the corresponding control loops.

For more details, look at the my VLT missions' reports.  

25 May 1998VLT First Light! 



Object Oriented Working Group 

Aug 94 - Nov 94 (10%)The idea of introducing Object Oriented technology was already in the air at the time I took up my duty at ESO. Given my previous experience at IBM, I got the objective of identifying the best way and modes for this technology migration. These first months have been spent to analyse the characteristics of the project and to prepare a migration path. 

A number of seminars have been prepared to introduce the new methodology in the group.

The first step has been identified in the Online Database Loader and its design has been performed. 

Dec 94 - Mar 95 (10%)The basic standards have been defined, starting from the already existing programming standards and software life cycle. 

The chosen design methodology is a simplified version of Booch's methodology, adapted in order to produce the deliverables required by the general VLT project standards. On purpose it has been decided not to select any specific design tool.

C++ has been selected has the OO programming language on the workstation platform, while on the LCUs standard C is used. Incr TCL is used for GUIs and scripting applications.

The general architecture for workstation applications has been designed in terms of an event driven system and the Event Handling Tool-kit has been designed and developed. 

Apr 95 - Oct 95 (10%)In this period the main activity of the group has been the one of providing support for the design and review activity of TCS and training on the job for the TCS development group. 
Nov 95 - Dec 95 (10%)In collaboration with the Data Management Division (DMD) have been selected common development standard (C++ programming rules, the C++ Standard Library) and tools (the Snif+ development environment).. 
From Jan 96 on (10%)From January 96 on the man power allocated to the OOWG has been dedicated almost exclusively to didactic and support activity, given the growing number of people in the VLT Software group and among the external contractors and consortia involved in OO design and development. Periodic seminars are organized and the OOWG members provide regularly training on the job for design and development acting as mentors. 

Some other activities are planned, in particular a library of design patterns for our applications, but are at the moment frozen because of lack of resources and higher priorities in different areas. 

A number of on-line presentations can be found in pages of the VLT SW Object Oriented Working Group or in my documents section.



Online Data Base Loader (DBL) 

Aug 94 - Oct 94 (80%)The Real Time database of the VLT control software is based of a commercial hierarchical database (Rtap, from HP) that provides very good performances but has a number of intrinsic limits. 

In order to overcome these limits I have designed an Object Oriented extension of the database definition language and a pre-processor that from the database specifications generates standard Rtap configuration files. More details are available in a couple or papers and in the Data Base Loader user manual and design description. 

Nov 94 - Jan 95 (30%)The development of the DBL has been contracted out to an external company (CPU) and I have been responsible for monitoring the contract and for the final acceptance of the product. After the final acceptance the tool has been put into production and is now used for the database definition of all the VLT control software 
Jan 95 - Jan 96 (5%)During the first year of life of DBL I have been responsible for supporting the tool and for the follow up of change requests and bugs fixing, performed by CPU under a maintenance contract 



Event Handling Tool-kit (EVH) 

Dec 94 - Jan 95 (50%)The Event Handling Tool-kit is a component of the Central Common Software and is a key element of any VLT application running on the control workstations. 

It is an Object Oriented Application Framework and provides a design architecture and a set of C++ and DBL classes for the development of event driven control software. More details can be found in a set of articles, presentations and manuals.

During these 2 months I have designed the basic architecture of the application framework and done a feasibility study developing a reduced set of components and using it for a first prototype of the TCS Preset co-ordination software. 

Jan 95 - Dec 95 (40%)During this span of time the EVH Application Framework has been fully developed and tested, following an incremental approach so that it has been possible to use the available components in real application software since April 95.

It consists of three main components:

  • fnd - Foundation Classes
    A classical container library plus a number of other general purpose classes.
  • eccs - Extended CCS
    A object oriented wrapper around standard VLT Central Control Software libraries
  • evh - Event Handler
    The application framework itself
Jan 96 on (5%)Completed the main development the tool-kit has entered a quasi-maintenance phase with minor extensions, integration of general use classes developed for applications and bug fixing or upgrades to new releases of lower level software. 
Aug 97 - Sep 97 (30%)Major upgrade and extensive tests.

A number of new classes have been added to the application framework and a new extensive set of modular tests took place. 

Sep 97 (30%)fnd User Manual

The Foundation Classes library was supposed to be replaced by the new C++ Standard Library, based on template. For this reason, an official User Manual was not written.

Despite of this, the usage of the library has grown a lot, since it provides a number of benefits with respect to the C++ Standard Library.

It has then been decided to provide an official User Manual. 



Central Common Software performance testing 

May 94 - Aug 94 (70%)As my first activity upon having taken duty at ESO, I have developed tests to measure the performances of the Central Common Software, i.e. of the layer of software for the VLT that provides the basic services like inter-process communication, real-time database, alarms, logging. The results of this activity are summarized in an internal technical report. 

An important aspect of this activity has been getting familiar with the design and development methodology and standards used for the VLT project.


[ ESO | VLT software | G.Chiozzi's Home Page ]

©  gchiozzi@eso.orgLast modified: 05-05-2009