5–7 Nov 2025
Deutsches Elektronen-Synchrotron DESY
Europe/Berlin timezone

Facilitating user code inclusion in Beamline Experiment Control software at PSI

6 Nov 2025, 15:45
15m
CFEL (Building 99) (Deutsches Elektronen-Synchrotron DESY)

CFEL (Building 99)

Deutsches Elektronen-Synchrotron DESY

Notkestraße 85, 22607 Hamburg
Contributed talk Community Talks

Speaker

David Perl (Paul Scherrer Institut)

Description

Beamline control system software is complex: it provides a common interface to a diverse range of hardware components, data services, and output file formats, any of which may not have been designed for ease of software integration. It should provide operation levels suitable for both new and advanced users. The Beamline Experiment Control (BEC) software for SLS 2.0 at PSI is intended to allow beamline scientists to develop their own experimental routines, abstracting some of this complexity. This presentation will focus on two of the tools developed for BEC, how they address some of the same challenges addressed in the Bluesky ecosystem, and highlight some of their parallels and differences.

First, a plugin system, mainly intended for beamline staff: BEC plugins can be new ophyd devices, scan routines, data output formats, and GUI widgets. They can be managed through a bespoke plugin-creation application which provides the user with the required boilerplate. It is based on highly configurable code templating, allowing us to update the template without exposing users to the peculiarities of the underlying libraries or the difficulties of resolving merge conflicts.

Second, a system to run arbitrary user-supplied scripts, designed to limit the security issues this would normally entail. Scripts are executed in a container permissioned only to access the central message broker. The execution environment closely mimics the beamline iPython terminal environment, so that a procedure can be interactively developed, then submitted to the server.

Author

David Perl (Paul Scherrer Institut)

Co-authors

Christian Appel (PSI Center for Scientific Computing, Theory and Data, Paul Scherrer Institute, 5232 Villigen PSI, Switzerland) Klaus Wakonig (Paul Scherrer Institute, Switzerland)

Presentation materials