System configuration issues

The are a number of important issues related to the way the system is built, installed and configured. These issues are very important and must be analyzed early enough, since they can have an impact on the system architecture and on the ACS.

The software-engineering group will have to play a key role in defining the solutions to these issues. It will be esseintial to make a first design and then to assess the impact.

What follows are some important points:

The whole building process for the system (checking from the software archive, compilation, installation, population of database, system first bootstrap) must be handled by a build tool to allow fast regeneration of the complete system when patches or new versions of modules are made available.

Synchronization of the Configuration Database with the code:

The Configuration Database structure must be synchronized with the code. Changes in the code typically introduce changes in the data structure (like adding new data items, a motor is replaced)

When a new version of the software is installed, the corresponding Configuration Database must be installed as well.

Different versions of the system can exist in different places at the same time, with different Configuration Databases, but it must be possible to synchronize them (for example, development is done on a control model, with certain test motors, and installation is done on the telescope, that has different motors). It is typically not possible just copying the Configuration Database from one place to another.

Different versions of the same system must be handled (as already seen, a typical example is control model and real telescope). [RD01 - 13.1.5 Configuration]

De coupling between components. All components must be as much as possible de-coupled. It cannot be acceptable to have to rebuild the whole system and possibly instruments if a TCS application is modified because of a bug or a new interface method or parameter in a method is added. This could have a tremendous impact during commissioning. It seems that this could be a problem using IDL interfaces and must be analyzed carefully.

Restore and backup of configuration data

ACS and application packages are installed in central distribution places, under the responsibility of a special account, but it must be possible to install any ACS or application component (eventually the whole package) from normal user accounts in a private development area. No root access should be required. The SE group will define the details of this for ALMA