The ALMA Common Software (ACS) provides a software infrastructure common to all partners and consists of a documented collection of common patterns in and of components, which implement those patterns. The heart of ACS is an object model based on Distributed Objects (DOs), implemented as CORBA objects. The teams responsible for the control system's development use DOs as the basis for components and devices such as an antenna mount control.
ACS provides common CORBA-based services such as logging, error and alarm management, configuration database and lifecycle management. A code generator can create a Java Bean for each DO and programmers can write Java client applications by connecting those Beans with data-manipulation and visualization Beans.
ACS is based on experience accumulated with similar projects in the astronomical and particle accelerator contexts, and reuses/extends proven concepts and components. Although designed for ALMA, ACS can and is being used in other control systems and distributed software projects, since it implements proven design patterns using state of the art, reliable technology. Through the use of standard constructs and components, non-ACS developers can easily understand the architecture of software modules. This makes maintenance affordable even on a very large project such as ALMA.
ACS is developed by:

