|WECPR03||Status of the Karabo Control and Data Processing Framework||936|
To achieve a tight integration of instrument control and (online) data analysis, the European XFEL decided in 2011 to develop Karabo*, a custom control and data processing system. Karabo provides control via event-driven communication. Signal/slot and request/reply patterns are implemented via a central message broker. Data pipelines for e.g. scientific workflows or detector calibration are implemented as direct TCP/IP connections. The core entities of Karabo are self-describing devices written in C++ or Python. They represent hardware, orchestrate other devices, or provide system services like data logging and configuration storage. To operate Karabo, a Python command line interface and a generic GUI written in PyQt are provided. Control and data widgets compose Karabo scenes that are provided by devices or are manually customized and stored together with device configurations in a central database. Since 2016, Karabo is used to commission and operate the currently three photon beam lines and six scientific instruments at the European XFEL. This contribution summarizes the status of Karabo, highlights achievements and lessons learned, and gives an outlook for future directions.
* Heisen, B., et al. (2013) In 14th International Conference on Accelerator and Large Experimental Physics Control Systems, ICALEPCS 2013. San Francisco, CA.
|Slides WECPR03 [2.660 MB]|
|DOI •||reference for this paper ※ https://doi.org/10.18429/JACoW-ICALEPCS2019-WECPR03|
|About •||paper received ※ 27 September 2019 paper accepted ※ 09 October 2019 issue date ※ 30 August 2020|
|Export •||reference for this paper using ※ BibTeX, ※ LaTeX, ※ Text/Word, ※ RIS, ※ EndNote (xml)|