Paper |
Title |
Page |
MOCOBAB05 |
How to Successfully Renovate a Controls System? - Lessons Learned from the Renovation of the CERN Injectors’ Controls Software |
43 |
|
- G. Kruk, S. Deghaye, O. Kulikova, V.V. Lezhebokov, M. Pace, P. Pera Mira, E. Roux, J.P. Wozniak
CERN, Geneva, Switzerland
|
|
|
Renovation of the control system of the CERN LHC injectors was initiated in 2007 in the scope of the Injector Controls Architecture (InCA) project. One of its main objectives was to homogenize the controls software across CERN accelerators and reuse as much as possible the existing modern sub-systems, such as the settings management used for the LHC. The project team created a platform that would permit coexistence and intercommunication between old and new components via a dedicated gateway, allowing a progressive replacement of the former. Dealing with a heterogeneous environment, with many diverse and interconnected modules, implemented using different technologies and programming languages, the team had to introduce all the modifications in the smoothest possible way, without causing machine downtime. After a brief description of the system architecture, the paper discusses the technical and non-technical sides of the renovation process such as validation and deployment methodology, operational applications and diagnostic tools characteristics and finally users’ involvement and human aspects, outlining good decisions, pitfalls and lessons learned over the last five years.
|
|
|
Slides MOCOBAB05 [1.746 MB]
|
|
|
MOPPC087 |
Tools and Rules to Encourage Quality for C/C++ Software |
303 |
|
- K. Sigerud, V. Baggiolini, J.C. Bau, S. Deghaye, J. Nguyen Xuan, X. Piroux, G. Sivatskiy, W. Sliwinski, I. Yastrebov
CERN, Geneva, Switzerland
|
|
|
Inspired by the success of the software improvement process for Java projects, in place since several years in the CERN accelerator controls group, it was agreed in 2011 to apply the same principles to the C/C++ software developed in the group, an initiative we call the Software Improvement Process for C/C++ software (SIP4C/C++). The objectives of the SIP4C/C++ initiative are: 1) agree on and establish best software quality practices, 2) choose tools for quality and 3) integrate these tools in the build process. After a year we have reached a number of concrete results, thanks to the collaboration between several involved projects, including: common build tool (based on GNU Make), which standardizes the way to build, test and release C/C++ binaries; unit testing with Google Test & Google Mock; continuous integration of C/C++ products with the existing CI server (Atlassian Bamboo); static code analysis (Coverity); generation of manifest file with dependency information; and runtime in-process metrics. This work presents the SIP4C/C++ initiative in more detail, summarizing our experience and the future plans.
|
|
|
Poster MOPPC087 [3.062 MB]
|
|
|