The Cherenkov Telescope Array Observatory (CTAO) is the next-generation ground-based instrument for gamma-ray astronomy. CTAO will be located at two sites, one in the Northern (La Palma, Spain) and the other in the Southern Hemisphere (Paranal, Chile), with telescopes in three different sizes to cover different energy ranges. The commissioning of the first CTAO Large-Sized Telescope (LST-1) is being finalized at the CTAO-North site. The Array Control and Data Acquisition (ACADA) software is a central element of on-site CTAO operations. ACADA comprises subsystems for central control, the short-term scheduler, monitoring systems, and data handling at rates of GB/s. Consequently, it is a very complex software that requires many developers with different expertise, such as control software, data acquisition, data analysis, scheduling, configuration, and human interfaces. To implement such complex software, ACADA has been broken down into subsystems, which CTAO delegates to expert developer teams around the world through in-kind contributions. All the software is under version control exploiting a dedicated installation of GitLab. We have created at least one repository for each subsystem and a final one for the integration. We have defined the software development and integration procedures so that all phases of the Software Development Life Cycle (SDLC) are supported. Particular attention has been paid to the critical time when a software version is in operation on site and, bug-fixing and new features need to be kept under version control in parallel. The goal is to manage bug fixes without adding new features out of the scope of the release, but at the same time to guarantee the distribution of bug fixes for future releases. This contribution presents our strategy to manage multiple software versions according to the CTAO development plan.
|