Translator Disclaimer
Presentation + Paper
10 July 2018 Selecting a simple, natively implemented middleware solution for the SALT control system
Author Affiliations +
The Southern African Large Telescope (SALT) telescope control system is realised as a distributed control system, implemented predominantly in National Instruments’ LabVIEW. The telescope subsystems communicate using cyclic, state-based messages. Previously, we explored Data Distribution Service (DDS)—a data-centric publish-subscribe model for distributed application communication and integration, with the aim of using it as our primary communications middleware; however, obstacles uncovered during the implementation and roll-out of DDS prompted us to take a fresh look at the problem. We identified ZeroMQ (ZMQ) and NATS as possible alternative solutions. While ZMQ and NATS are both high-performance asynchronous messaging systems similar to DDS, the main difference between them is that ZMQ, in resemblance to DDS, is brokerless, whereas NATS is brokered. In a brokered system, the message broker mediates communication between a sender and a receiver, minimising the mutual awareness that applications need to have of each other in order to be able to exchange messages. Furthermore, less complexity is required in both the sender and the receiver of a message, when making use of a broker. A drawback of a broker, however, is that it may introduce a possible single point of failure. As a result of the simplicity of the client, coupled with the succinct NATS wire protocol, we were able to incorporate the NATS sender and receiver logic natively in our LabVIEW software. Taking advantage of a native solution removes the maintenance and deployment burden introduced by the use of an external C-language library, which is required for the use of both DDS and ZMQ. During our investigation of ZMQ we uncovered the same obstacles as we did with DDS, which involved the complexities of gracefully shutting down the communications logic when not using an object-oriented programming methodology. Due to legacy software, we have to maintain backward compatibility with a version of LabVIEW which predates the availability of built-in object-orientation in the language. This, coupled with the advantages of a native solution, led to the adoption of NATS as our messaging system. In this paper, we explore ZMQ and NATS as alternatives to DDS, accompanied with results of a performance evaluation of DDS, ZMQ and NATS against our home-grown legacy HTTP-based messaging implementation. We conclude with a summary and describe future work.
Conference Presentation
© (2018) COPYRIGHT Society of Photo-Optical Instrumentation Engineers (SPIE). Downloading of the abstract is permitted for personal use only.
Deneys S. Maartens and Janus D. Brink "Selecting a simple, natively implemented middleware solution for the SALT control system", Proc. SPIE 10707, Software and Cyberinfrastructure for Astronomy V, 107070E (10 July 2018);


Modern computer control for Lick Observatory telescopes
Proceedings of SPIE (July 14 2008)
The JCMT observing queue and recipe sequencer
Proceedings of SPIE (September 15 2004)
HARPS N software path from the observation block to...
Proceedings of SPIE (September 24 2012)
SOAR TCS: from implementation to operation
Proceedings of SPIE (September 15 2004)
Subaru observation control system
Proceedings of SPIE (September 18 1997)

Back to Top