TANGO Control System provides a framework to control Devices and equipment. One of the core element of the system is its Database, where information about Devices are stored, and the other is the Starter tool, which manages the controlled hardware and software systems. Registration of new Devices to the Database or to the Starter takes a long time, which has to be done manually and one by one. There are a few available applications to overcome this time-consuming process. However, most of them are outdated, or they not provide a general solution, or they are simply too optimistic and not fault-tolerant.
My work is to develop an automatization application based on a previously made prototype. Several requirements were set against my program, such as maintainability, modularity, and it also has to provide a general and reliable solution to the users’ needs. The developed software has to keep its original functionality, like registering Devices from a csv file, and also improve its capabilities with the availability to download Device information, and the support of more data storing formats.
Agile software development’s methods helped to shape the application. This way, the designed software was capable to handle the customers’ continuously changing and growing needs. The application was written in Python language, which made the fast development and TANGO adaptation easier.