Scope

This document, as an initial Concept document, cannot refer yet to Technical Requirements. It is intended to use this document also with the purpose to better discuss and verify technical requirements for the common software, before they get listed, numbered and reviewed.

The ALMA Common Software (ACS) concept is described here in terms of a list of desirable features.

Given the proposed incremental development approach, this proposal limits itself strictly to the Common software dealing with lower levels of software in ALMA and in particular Control Software aspects. Still, clearly, the system has the potential for expansion to the whole ALMA software, to be used all over as a core component. This will be done when requirements will become clearer in that area.

To illustrate better the need for such features and to clarify the reason for the proposed implementation concepts the existing ESO Central Common Software (CCS) is taken as a reference. CCS is in fact a working system, to be used as back-up solution for the ALMA prototypes. CCS implements a wide set of features and can therefore be effectively used for a comparison with proposed features for ACS.

The concepts and features illustrated here are not all going to be implemented in the first pre-release of ACS (ACS 0). Implementation boundaries will be better defined later.

The concept illustrated here is all based on the use of CORBA and takes into account knowledge of various control software projects based on CORBA in the astronomical and High Energy Physics communities, like SOFIA[RD10], GTC-Spain[RD11], ESRF-Grenoble[RD03], ANKA-Karlsruhe[RD04] etc. It has been an initial and explicit decision on ALMA to go for the CORBA technology and at the same time to start off by trying to share software rather than to re-invent it. It is up to documents like this to provide elements to confirm the initial choice of CORBA as adequate. It is up to a later comparison among existing systems to find the right way for ALMA, which we assume in any way, will imply a number of specific additional developments.

The reasons for CORBA are in short: Object Orientation, support for a distributed system, platform independence, it is by now a communication standard, it provides a variety of services.