Engineering for Requirements: The Evolution of the Aegis Asteroid Impact Monitoring System at ESA
2026-11-02 –, Banquet Hall

The ESA Near-Earth Object Coordination Centre (NEOCC) is responsible for the monitoring of Near-Earth Objects and the assessment of potential impact hazards. These activities rely on Aegis [1], a software system for asteroid orbit determination, ephemerides generation, uncertainty propagation, close-approach analysis, and impact monitoring. The results and computational capabilities of Aegis are made available to the community through the NEOCC web portal [2] and dedicated APIs [3]. As operational demands evolved, Aegis transitioned from a standalone scientific application to a service deployed within ESA's cloud infrastructure.

This contribution presents the architectural evolution of Aegis and the engineering decisions that enabled its migration to a distributed operational environment while preserving a mature and validated scientific code base. The original system was conceived as a largely monolithic application running on a single machine. Rather than pursuing a complete redesign, the development strategy focused on incremental modernisation, gradually introducing containerisation, automated testing and deployment workflows, service-oriented interfaces, and distributed execution capabilities.

Today, Aegis operates as a collection of Docker-based services deployed on ESA Cloud using Docker Swarm orchestration. Scientific processing remains largely performed by established Fortran components, while Python services coordinate workflows, expose REST interfaces, and exchange information through Redis-based messaging queues. Although parts of the system still rely on shared file-system access, reflecting historical design choices, this approach has proven adequate for current operational requirements and data volumes while allowing progressive migration towards more centralised data management solutions. The software has also been deployed on ESA High-Performance Computing (HPC) infrastructures, requiring targeted adaptations but without fundamental changes to its scientific components.

Modern software engineering often favours highly scalable cloud-native solutions. However, scientific operational systems frequently evolve under different constraints, including long-lived code bases, limited development resources, strict reliability requirements, and moderate data volumes. The Aegis experience shows that significant gains in maintainability, deployment flexibility, and operational robustness can be achieved through incremental modernisation, without the need for unnecessarily complex architectures.

[1] https://doi.org/10.1007/s10569-024-10225-z
[2] https://neo.ssa.esa.int/
[3] https://neo.ssa.esa.int/computer-access

I am an Orbital Dynamicist at the European Space Agency's Near-Earth Object Coordination Centre (NEOCC). My work focuses on asteroid orbit determination, impact monitoring, and planetary defence operations. I am responsible for the operational use and validation of the Aegis software system and contribute to its evolution within NEOCC activities. I am also a developer and user of Meerkat Asteroid Guard, a software platform for imminent impactor detection, impact-risk assessment, and alert management.