Since its inception in 2011, the XFEL Suite, now Karabo [1], has become a stable and state-of-the-art Control System developed in-house at EU.XFEL. It distinguishes itself from established, earlier-generation systems, such as EPICS and Tango, by its modern, event-driven paradigm, built on a central message broker. Additionally, there is no requirement for a central authority to describe the entire distributed system. This design makes Karabo highly scalable, from single machine installations to large facilities like EU.XFEL, where an individual installation may contain hundreds of thousands of control parameters distributed on dozens of physical, interconnected hosts.
The Karabo GUI, the main operator interface, implements a novel, coding-free interface to build complex hierarchical panels (scenes). Furthermore, it is by design rather loosely coupled to Karabo, such that it may also interoperate with other control systems.
The core system and the GUI have in common that they are developed using modern, collaborative coding practices, such as mandatory review of any contribution and large-scale use of continuous integration (CI) and testing facilities. Furthermore, Karabo is designed to pass large amounts of data at rates of up to 20GB/s, while maintaining global time correlation for such data.
Karabo is hosted at https://github.com/European-XFEL/Karabo