Constellation: The Autonomous Control and Data Acquisition System for Dynamic Experimental Setups#

Constellation

Autonomous Control and
Data Acquisition System

Constellation is a control and data acquisition system for small-scale experiments and experimental setup with volatile and dynamic constituents such as testbeam environments or laboratory test stands.

Autonomous

Constellation operates without a central server, satellites exchange heartbeats to keep in touch.

Flexible

Automatic network discovery of satellites make it easy to add and remove satellites on the fly.

Fast Integration

The finite state machine and satellite interface are designed for fast and easy integration of devices.

Robust

Constellation is based on widely adopted networking libraries such as ZMQ and MsgPack.

Key Features#

_images/undraw_code_typing_re_p8b9.svg

Built on Solid Protocols
All communication between Constellation components is based on protocols designed for flexible cross-language communication and serialization. A Constellation can consist of constituents written in any language, such as the main implementations in C++ and Python.

_images/undraw_set_preferences_kwia.svg

Independent User Interfaces
Constellation works independently of connected user interfaces, which can be started and closed as needed. They are stateless and will reconnect to the Constellation and its satellites upon start, displaying the latest state of the network.

_images/undraw_online_connection_6778.svg

Autonomous Operation
Constellation allows autonomous operation, i.e. without a central server of user interface connected. It uses heartbeats to distribute information between satellites and to take action - such as entering a safe mode when identifying errors, or orchestrating launch sequences.

_images/undraw_knowledge_re_5v9l.svg

Extensively Documented
Constellation is extensively documented and provides a comprehensive user guide featuring descriptions of the basic concepts of the framework, how-to guides for specific tasks as well as a set of tutorials which ease starting to use it. In addition, in-depth developer documentation guides novel contributors.

_images/undraw_open_source_-1-qxw.svg

Free & Open Source Software
Constellation is entirely free and open source software. The code is released under the EUPL1.2 license, and its documentation and this website are licensed under Creative Commons CC-BY-4.0. The source code is available on DESY’s GitLab instance.