Karabo: An Integrated Software Framework Combining Control, Data Management, and Scientific Computing Tasks

The expected very high data rates and volumes at the European XFEL [1] demand an efficient concurrent approach of performing experiments. Data analysis must already start whilst data is still being acquired and initial analysis results must immediately be usable to re-adjust the current experiment setup. We have developed a software framework, called Karabo, which allows such a tight integration of these tasks (see Fig. 1). Karabo is in essence a pluggable, distributed application management system. All Karabo applications (called devices) have a standardized interface for self-description/configuration, program-flow organization (state machine), logging and communication. Central services exist for user management, access control, data logging, configuration management etc. The design provides a very scalable but still maintainable system that at the same time can act as a fully-fledged control or a highly parallel distributed scientific workflow system. It allows simple integration and adaption to changing control requirements and the addition of new scientific analysis algorithms, making them automatically and immediately available to experimentalists. Figure 1: A homogenous software framework.