ALMA SOFTWARE DEVELOPMENT APPROACH

The Atacama Large Millimeter Array (ALMA) is a joint project involving astronomical organizations in Europe and North America. The primary challenge to the development of the software is the fact that its development team is extremely distributed geographically. In addition it has very ambitious goals covering the whole end-to-end software system. The software development approach, based also on the experience of previous large projects is very pragmatic and contains elements of various methodologies, from the classical top-down model, to early prototyping, incremental development, and even aspects inspired to agile methodologies. INTRODUCTION The Atacama Large Millimeter Array (ALMA) is a joint project involving astronomical organizations in Europe and North America. ALMA will consist of at least 64 12meter antennas operating in the millimeter and submillimeter range. It will be located at an altitude of about 5000 m in the Chilean Atacama desert (see Ref. [1]). Fig.1 shows the ALMA centres located in Chile: the Antenna Operation Site (AOS) where the antennas are located, the Operation Support Facility (OSF) in San Pedro and the Santiago Operation Centre (SOC). The peak data rate between AOS and OSF is 60 MB/s (distance 35 Km), while the sustained average data rate on the link OSF/SOC will be 4 MB/s. PROJECT MANAGEMENT APPROACH The ALMA Computing group is subdivided in teams located at 11 institutes around Europe and North America and consists of almost 50 people, many of them working on ALMA only part time. These have started the development of the various subsystems, namely: Proposal Preparation tools, Instrument operation, On-line calibration and reduction, and Archiving in addition to the Control and Correlator software subsystems, started some time ago. All of them are based on the ALMA Common Software (ACS – separate presentation and demo at this Conference) providing a mandatory and useful framework, which while avoiding duplications is well tested and offers common design patterns important also for later maintenance. The work is split among 10 subsystems, with a number of common activities on top (most notably architecture, software engineering, and integration & test) Reasons for Development Framework The scientific requirements for the whole system were defined in great detail, complemented by Use Cases, and Figure 1: ALMA Sites in Chile then analyzed arriving at a proposed architectural design (classical top-down approach). This we considered as a necessary step to get started, but by far not good enough to continue for long time in the future without verification. Therefore the iterative development model was also considered from the beginning. Additionally development of science software, where feedback from the early operations phase is essential, has been planned to be done in two separate periods, essentially upgrading the whole software over a period of 4 years. AOS