Facilitating user code inclusion in a supported environment to enhance the flexibility of beamline control frameworks

WEAG005
24 Sept 2025, 10:00
15m
Grand Ballroom (Palmer House Hilton Chicago)

Grand Ballroom

Palmer House Hilton Chicago

17 East Monroe Street Chicago, IL 60603, United States of America
Contributed Oral Presentation MC10: Software Architecture & Technology Evolution WEAG MC10 Software Architecture and Technology Evolution

Speaker

David Perl (Paul Scherrer Institute)

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 both simple and expert operation levels. End users are not expected to know the intricacies of the software, and facility staff will engage with it at a variety of levels. To enable users of the Beamline Experiment Control (BEC) software for SLS 2.0 at PSI to define custom and even one-off routines, while sustainably integrating them with the framework, we introduced two parallel systems.

First, a plugin system, mainly intended for beamline staff. BEC plugins can be new devices, scan routines, data output formats, and GUI widgets. They are 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 Institute)

Co-authors

Dr Klaus Wakonig (Paul Scherrer Institute) Dr Christian Appel (Paul Scherrer Institute) Dr Jan Wyzula (Paul Scherrer Institute) Dr Sven Augustin (Paul Scherrer Institute)

Presentation materials

There are no materials yet.