Loose Marcel
ASTRON, Netherlands Institute for Radio Astronomy, Dwingeloo

Miscellaneous Information

Miscellaneous Information

Abstract Reference: 30532
Identifier: P6.16
Presentation: Poster presentation
Key Theme: 6 Python in Astronomy

Monitoring & Control Software for the new Westerbork Phased-Array Feed System

Loose Marcel

The Westerbork Synthesis Radio Telescopes (WSRT) facility has recently been upgraded with phased-array feed (PAF) receptors. These new receptors enable a hugely increased sky survey speed, because up to 42 beams can be synthesized simultaneously, thus increasing the field-of-view tremendously.
In order to properly monitor and control this new instrument, the existing monitoring and control software had to be completely overhauled. We seized the opportunity to build an almost completely new software stack using modern software engineering techniques. Most of the code has been written in Python, except for some performance critical parts, where we used C++.
The new software stack consists of three layers. The lowest layer contains the drivers that directly drive the, mostly custom-made, hardware. The middle layer contains the controllers that control the underlying drivers, and translate complex commands like "start observation" into a series of commands to the different drivers. The top layer contains the services. Some of these services are involved with the real-time online system that is taking the astronomical data. Other services are involved in observation specification, data transfer, or offline data processing. All communication between controllers and services is done using a messaging middle-ware layer based on the Advanced Message Queuing Protocol (AMQP) standard.
In this presentation I will not only present the design and the underlying considerations, but also focus on our experiences with Agile/Scrum software development practices.