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 based on a distributed component model, with ACS components implemented as CORBA objects in any of the supported programmin languages. The teams responsible for the control system's development use ACS Components as the basis for control high level entities and for the implementation of 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.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:
Java profiling powered by