Software obsolescence affects all control systems (CSs) designed to last for decades. They are often based on operating system at the end-of-life, libraries, frameworks and on programming language versions that are not supported anymore. This legacy code forces GUIs, clients and third-party applications to cope with the same constraints of the CS, spreading the obsolescence even more widely. Profitable mainstream online services for code hosting and continuous deployment workflows are sometimes not exploitable. The software team can thus lose motivation because of the lack of the stimuli usually brought by innovation. On the other hand, sometimes it is impossible to afford a CS refurbishment, either because it requires a high manpower effort or it might impair the system stability. Some of these issues can be solved by designing a middleware, lying between the CS and the external world. The middleware exposes APIs to the clients and offers a level of abstraction from the operating system and the programming language. Moreover, the CS can be easily extended bypassing the old framework and taking advantage of new architectures. In this paper we present the solution we chose for the Sardinia Radio Telescope and the other radio telescopes managed by the Italian National Institute for Astrophysics(INAF). We discuss the advantages and the drawbacks of a middleware and we also provide the technical details and technologies concerning our implementation.
|