A novel approach to the control of experimental environments: the ESCA microscopy data-acquisition system at ELETTRA.
An efficient control system is today one of the key points for the successful operation of a beamline at third-generation synchrotron radiation sources. The high cost of these ultra-bright light sources and the limited beam time requires effective instrument handling in order to reduce any waste of measurement time. The basic requirements for such control software are reliability, user-friendliness, modularity, upgradability, as well as the capability of integrating a horde of different instruments, commercial tools and independent pre-existing systems in a possibly distributed environment. A novel approach has been adopted to implement the data-acquisition system of the ESCA microscopy beamline at ELETTRA. The system is based on YASB, a software bus, i.e. an underlying control model to coordinate information exchanges and networking software to implement that model. This 'middleware' allows the developer to model applications as a set of interacting agents, i.e. independent software machines. Agents can be implemented using different programming languages and be executed on heterogeneous operating environments, which promotes an effective collaboration between software engineers and experimental physicists.