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.
Constellation operates without a central server, satellites exchange heartbeats to keep in touch.
Automatic network discovery of satellites make it easy to add and remove satellites on the fly.
The finite state machine and satellite interface are designed for fast and easy integration of devices.
Key Features#
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.
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.
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.
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.
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.