Would you like to work on the next generation technology and tools for controls data acquisition and transformation, which will be used to control the LHC and the other accelerators? CERN, take part!
The accelerator controls system subscribes to low-level ("raw") controls values of thousands of accelerator devices, transforms them using many different calculations, and republishes them as high-level ("refined") values. These values are displayed in applications in the CCC, stored in big time-series databases, and in general, made available for anyone who wants to use them. So far, these transformations were implemented by software specialists in an ad-hoc manner, at various layers of the system, and using diverse approaches and technologies.
We now want to put in place a general-purpose transformation service, that enables end-users such as accelerator physicists and equipment experts to develop and deploy their transformations easily (i.e. quickly and without the intervention of a software expert). We also want to eventually use this service to host all transformations that are currently implemented in an ad-hoc manner, as mentioned above.
You will join:
- The Beams Department (BE), responsible for the beam generation, acceleration, diagnostics, controls and performance optimization for the LHC and its injector accelerators.
- The Controls Group (CO), responsible for developing the controls infrastructure used to operate these particle accelerators 24 hours a day.
- The Applications Section (APS), a dynamic and quality-oriented agile team, responsible for the mission-critical user interfaces and server-side applications used by the accelerator physicists and operators. (https://be-dep-co.web.cern.ch/content/aps-applications).
As Software Engineer in the Applications Section, you will join a small team responsible for controls data acquisition and transformation systems, and fulfil the following functions:
- Participate in defining the architecture of our service, including how it is integrated into the accelerator controls system.
- Identify and evaluate suitable open-source frameworks upon which to build our solution; select one and adapt or extend it to our needs.
- Design and develop controls-specific data transformations.
- Provide tools that enable our users to easily develop and deploy their own transformation algorithms.
- Promote the above solutions amongst our user community and provide user support.
- Gradually port existing transformation services to the new solution;.
- Participate in the maintenance and 24/7 on-call support for the new service and for existing ones.