A Sequencer for the LHC Era
D.Khasbulatov, M.Lamont, R.Alemany-Fernandez, R.Gorbonosov, V.Baggiolini* (CERN)
The Sequencer is a high level software application that helps operators and physicists control the LHC. It interfaces with all LHC sub-systems and orchestrates the countless tasks needed to drive the machine through the different LHC cycles. It is a core part of the control system and one of the key elements for the successful commissioning and operation of the LHC. The sequencer was designed and implemented using some of the most recent Java features. It has a 3-tier architecture based on the Spring Framework, and is highly modular and extensible. Modules can be exchanged in order to adapt the sequencer to specific requirements. For instance, for hardware commissioning, a different task execution module is used than for beam commissioning. Developers can contribute tasks they need in their sequences. The sequencer could be packaged as a stand-alone tool to be used in other HEP Labs. The paper mainly describes technical aspects of the sequencer. Amongst others, it discusses the different technologies that were evaluated during the design phase (e.g. Java compiler API, Java remote debugging API, OSGi, etc.) and explains why they were retained or discarded in the final solution.