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

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.

Publication Details

Journal
JACOW
Published
2025-12-05
DOI
https://doi.org/10.18429/jacow-icalepcs2025-weag005
Primary Topic
Particle Accelerators and Free-Electron Lasers
Type
article
Field-Weighted Citation Impact
0.00
Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

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

JACOW
Particle Accelerators and Free-Electron Lasers
article

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

article en

Abstract

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.

JACOW
Openalex Percentile: Top 47%
Particle Accelerators and Free-Electron Lasers
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.