Back to CERN-HSF
GSoC 2026

Constellation Web Interface for Controlling and Monitoring Experimental Setups

During late-night beam tests, physicists must leave detector halls to find workstations with Qt installed just to check satellite status. This project creates a browser-based interface that lets researchers monitor and control Constellation experiments from any device on the lab network without installing software. The project delivers three components: (1) upstream contributions to Constellation's Python API adding callback mechanisms for satellite state changes and discovery events, plus porting C++ topic management classes to Python; (2) a WebSocket bridge wrapping ScriptableController and MonitoringListener via multiple inheritance to expose satellite control and monitoring to browsers; (3) a SvelteKit frontend implementing the full satellite state machine for real-time control and monitoring. I have verified the multiple inheritance approach through hands-on testing. Discovery, commands, heartbeat state tracking, and CMDP log callbacks all work through a single combined class. I also created a custom satellite and controlled it through the complete FSM cycle. Deliverables include merged upstream MRs for callback APIs and topic management, a working WebSocket bridge with callback-driven state updates, a browser dashboard with state visualization and command controls, a log viewer mirroring Observatory's subscription model, comprehensive documentation, and tests.

Project details

Contributor

VanitasCodes

Mentors

Not available

Technologies

Not listed in the archive