| Literature DB >> 35510999 |
Yu Liu1, Yan Da Geng2, Xiao Xue Bi1, Xiang Li1, Ye Tao1, Jian She Cao1, Yu Hui Dong1, Yi Zhang1.
Abstract
To cater for the diverse experiment requirements at the High Energy Photon Source (HEPS) with often limited human resources, Bluesky was chosen as the basis for our software framework, Mamba. In our attempt to address Bluesky's lack of integrated graphical user interfaces (GUIs), command injection with feedback was chosen as the main way for the GUIs to cooperate with the command line interface; a remote-procedure-call service is also provided, which covers functionalities unsuitable for command injection, as well as pushing of status updates. In order to fully support high-frequency applications like fly scans, Bluesky's support for asynchronous control is being improved; furthermore, to support high-throughput experiments, Mamba Data Worker is being developed to cover the complexity in asynchronous online data processing for these experiments. To systematically simplify the specification of metadata, scan parameters and data-processing graphs for each type of experiment, an experiment parameter generator will be developed; experiment-specific modules to automate preparation steps will also be made. The integration of off-the-shelf code in Mamba for domain-specific needs is under investigation, and Mamba GUI Studio is being developed to simplify the implementation and integration of GUIs. open access.Entities:
Keywords: Bluesky; experiment control; fly scans; high-throughput experiments; software architecture
Mesh:
Year: 2022 PMID: 35510999 PMCID: PMC9070726 DOI: 10.1107/S1600577522002697
Source DB: PubMed Journal: J Synchrotron Radiat ISSN: 0909-0495 Impact factor: 2.557
Figure 1Command injection in Mamba, showing an error caused by attempting to log out twice after a successful experiment session; we explicitly note that the appearance of the GUIs may vary in the future due to ongoing frontend refactoring.
Figure 2Mamba’s communication architecture.
Figure 3Example Mamba communication: (a) normal request/reply, (b) replies upon errors, (c) notification and (d) raw communication to pexpect; except for (d), which uses raw byte strings, all other (RPC) communication uses a JSON-based format.
Figure 4An example IPython startup script for Mamba.
Figure 5A partial data-pipe graph for a simple high-throughput tomography experiment.
Figure 6xpra provides virtual screens, each of which can be accessed by multiple clients simultaneously.