JACoW logo

Journals of Accelerator Conferences Website (JACoW)

JACoW is a publisher in Geneva, Switzerland that publishes the proceedings of accelerator conferences held around the world by an international collaboration of editors.

BiBTeX citation export for TUPV049: The IBEX Script Generator

  author       = {J.C. King and J.R. Harper and A.J. Long and T. Löhnert and D.E. Oram},
  title        = {{The IBEX Script Generator}},
  booktitle    = {Proc. ICALEPCS'21},
  pages        = {519--523},
  eid          = {TUPV049},
  language     = {english},
  keywords     = {experiment, controls, software, neutron, EPICS},
  venue        = {Shanghai, China},
  series       = {International Conference on Accelerator and Large Experimental Physics Control Systems},
  number       = {18},
  publisher    = {JACoW Publishing, Geneva, Switzerland},
  month        = {03},
  year         = {2022},
  issn         = {2226-0358},
  isbn         = {978-3-95450-221-9},
  doi          = {10.18429/JACoW-ICALEPCS2021-TUPV049},
  url          = {https://jacow.org/icalepcs2021/papers/tupv049.pdf},
  abstract     = {{Experiment scripting is a key element of maximising utilisation of beam time at the ISIS Neutron and Muon Source, but can be prone to typing and logic errors. The IBEX Script Generator enables collaboration between instrument users and scientists to remove the need to write a script for many experiments, so improving reliability and control. For maximum applicability, the script generator needs to be easily configurable. Instrument scientists define action parameters, and functions for action execution, time estimation and validation, to produce a "script definition". A user then generates a Python script by organising a table of actions and their values, which are validated in real time, and can then be submitted to a script server for execution. Py4J is used to bridge a Java front end with Python script definitions. An iterative user-focused approach has been employed with Squish UI testing to achieve a behaviour-driven development workflow, along with Jenkins for continuous integration. Further planned development includes dynamic scripting ’ controlling the execution of actions during the experiment ’ action iteration and user experience improvement.}},