Paper |
Title |
Page |
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]
|
|
|
THPPC105 |
The LHC Injection Sequencer |
1307 |
|
- D. Jacquet, J.C. Bau, I. Kozsar
CERN, Geneva, Switzerland
|
|
|
The LHC is the largest accelerator at CERN. The 2 beams of the LHC are colliding in four experiments, each beam can be composed up to 2808 high intensity bunches. The beams are produced at the LINAC, is shaped and accelerated in the LHC injectors to 450GeV. The injected beam contains up to 288 high intensity bunches, corresponding to a stored energy of 2MJ. To build for each LHC ring the complete bunch scheme that ensure a desired number of collision for each experiment, several injections are needed from the SPS to the LHC. The type of beam that is needed and the longitudinal emplacement of each injection have to be defined with care. This process is controlled by the injection sequencer and it orchestrates the beam requests. Predefined filling schemes stored in a database are used to indicate the number of injection, the type of beam and the longitudinal place of each. The injection sequencer sends the corresponding beam requests to the CBCM, the central timing manager which in turn synchronizes the beam production in the injectors. This paper will describe how the injection sequencer is implemented and its interaction with the other systems involved in the injection process.
|
|
|
Poster THPPC105 [0.606 MB]
|
|
|