Engineering Processes, Project Management Collaboration

Paper Title Page
ROAB01 Software Engineering Processes Used to Develop the NIF Integrated Computer Control System 500
 
  • R. W. Carey, R. D. Demaret, L. J. Lagin, U. P. Reddi, P. J. Van Arsdall, A. P. Ludwigsen
    LLNL, Livermore
 
  The National Ignition Facility (NIF) at Lawrence Livermore National Laboratory is a 192-beam laser facility for high-energy density physics experiments. NIF is operated by the Integrated Computer Control System (ICCS), which is comprised of 60,000 devices deployed on 850 computers. Software is constructed from an object-oriented framework based on CORBA distribution. ICCS is 85% complete, with over 1.5 million lines of verified code now deployed online. Success of this large-scale project was keyed to early adoption of rigorous software engineering practices, including architecture, code design, configuration management, product integration, and formal verification testing. Verification testing is performed in a dedicated test facility following developer integration. These processes are augmented by an overarching quality assurance program featuring assessment of quality metrics and corrective actions. Engineering processes are formally documented, and releases are managed by a change control board. This talk discusses software engineering and results obtained for the NIF control system.  
slides icon Slides  
ROAB02 Software Development and Testing: Approach and Challenges in a Distributed HEP Collaboration 503
 
  • D. Burckhart-Chromek
    CERN, Geneva
 
  In the development of the ATLAS Trigger and Data Acquisition (TDAQ) software, the iterative waterfall model, evolutionary process management, formal software inspection, as well as lightweight review techniques are applied. The long preparation phase with a geographically widespread team required that the standard techniques be adapted to this HEP environment. Special emphasis is given to the testing process. Unit tests and check targets in nightly project builds form the basis for the subsequent software project release testing. The integrated software is then run on computing farms that give further opportunity for gaining experience, fault finding, and acquiring ideas for improvement. Dedicated tests on a farm of up to 1000 nodes address the large-scale aspect of the project. Integration test activities on the experimental site include the special purpose-built event readout hardware. Deployment in detector commissioning starts the countdown towards running the final ATLAS experiment. These activities aim at understanding and completing the complex system, but also help in forming a team whose members have a variety of expertise, working cultures, and professional backgrounds.  
slides icon Slides  
ROAB03 Software Integration and Test Techniques in a Large Distributed Project: Evolution, Process Improvement, Results 508
 
  • M. Pasquato, P. Sivera
    ESO, Garching bei Muenchen
 
  The Atacama Large Millimeter Array (ALMA) is a radio telescope that is being built in Chile. The software development for the project is committed to the Computing Integrated Product Team, (IPT) which has the responsibility of realizing an end-to-end software system consisting of different subsystems, each one with specified development areas. Within the Computing IPT, the Integration and Test subsystem has the role of collecting the software produced, build it and test it and preparing releases. In this paper, the complexity of the software integration and test tasks is analyzed and the problems due to the high geographical distribution of the developers and the variety of software features to be integrated are highlighted. Different implemented techniques are discussed, among them the use of a common development framework (the ALMA Common Software or ACS), the use of standard development hardware and the organization of the developers work in Function Based Team (FBT). Frequent automatic builds and regression tests repeated regularly on so called Standard Test Environments (STE) are also routinely used. Advantages, benefits and shortcomings of the adopted solutions are presented.  
slides icon Slides  
ROAB04 Experience of Developing BEPCII Control System 511
 
  • J. Zhao
    IHEP Beijing, Beijing
 
  The project of upgrading the Beijing Electron Positron Collider (BEPC) to the BEPCII was started in autumn of 2001, and the goal is to reach a higher luminosity, 1*1033cm-2s-1. The first beams were stored in the Storage Ring in November 2006, and the e+/e- beams successfully collided in March 2007, which is an important milestone of the BEPCII. The BEPCII control system has rebuilt with the “standard mode” and EPICS, which has 20,000 channels and about 30 VME IOCs for equipment control and high-level applications. The control system was put into operation in November 2007, and the system development has followed its schedule and finished on time. In the past few years, we went through the design stage, R&D stage, system development, testing, and installation and commissioning stages. This paper describes experiences and lessons of design and developing the system, including the design considerations, selection of standard hardware and software, building of the development environment, and what we have done in the user requirement, R&D, and other stages. The paper also discusses project management issues, such as interface definition, collaborations, people training, and so on.  
slides icon Slides  
RPPB05 Applying Agile Project Management for Accelerator Controls Software 612
 
  • N. Stapley, W. Sliwinski
    CERN, Geneva
 
  Developing accelerator controls software is a challenging task requiring not only a thorough knowledge of the different aspects of particle accelerator operations, but also application of good development practices and robust project management tools. Thus, there was a demand for a complete environment for both developing and deploying accelerator controls software, as well as the tools to manage the whole software life cycle. As an outcome, a versatile development process was formulated, covering the controls software life cycle from the inception phase up to the release and deployment of the deliverables. A development environment was created providing management tools that standardize the common infrastructure for all the concerned projects; help to organize work within project teams; ease the process of versioning and releasing; and provide an easy integration of the test procedures and quality assurance reports. Change management and issue tracking are integrated with the development process and supported by the dedicated tools. This approach was successfully applied for all the new controls software for LEIR, SPS, LHC, injection lines, and CNGS extraction.  
RPPB14 Systematic Production of Beamline and Other Turnkey Control Systems 632
 
  • A. Kosrmlj, R. Sabjan, I. Verstovsek, K. Zagar, G. Pajor
    Cosylab, Ljubljana
 
  Turnkey oriented accelerator control system production is often quite complex and challenging. It involves software development as well as substantial project management effort and, almost always, an on-site installation. Most of the labs have developed solutions that to some extent support such processes, but are tailored to the lab's particular needs and environment. We could not recycle these solutions, as we had to keep the choices open for defining the naming convention and choosing the operating system, platform, and even the control system. Based on our experience with control systems, we have defined a complete set of processes that prescribe the highest level of quality and efficiency in all the project segments. To implement these processes, we have developed a number of tools for composing, configuring, and deploying the control system software. Use of these tools enforces strict version control and traceability, enables centralized configuration of the system, and largely reduces the possibility of human errors. These tools also enable us to reuse well-tested building blocks, leaving us more time for system-wide quality assurance.  
RPPB15 Management System Tailored to Research Institutes 635
 
  • J. K. Kamenik, P. Kolaric, I. Verstovsek
    Cosylab, Ljubljana
 
  As with all disciplines, project management has a set of rules that must be followed and a set of recommendations that make work easier. But as in all engineering, there is no single magical formula or equation, no matter how much managers and physicists alike would love to have it. We present a working solution tailored to academic projects that requires only a minimum of effort and discipline and results in huge benefits, which will be presented in this article. Commercially available project management tools are not suited to manage the diversity of work in research institutes. We have therefore adopted a set of open source tools, implemented some custom additions, and integrated the tools into a coherent product to suit our purpose. It enables developers to track their work and communicate effectively, project managers to monitor progress of individual projects, and management to supervise critical parameters of the company at any time. In the article, the experiences gained by using the system are presented. As it has turned out in practice, the product is also ideal for research institutes, as is demonstrated by its use in control groups of DESY and ANKA.  
RPPB18 NIF ICCS Test Controller for Automated & Manual Testing 641
 
  • J. S. Zielinski
    LLNL, Livermore, California
 
  The NIF Integrated Computer Control System (ICCS) is a large-scale distributed system with 60,000 control points and 850 computers. The software engineering team delivers updates throughout the year to deliver new functionality for commissioning activities and automated shots. In 2006 there were 48 software releases, including 29 full releases and 19 patches resulting in a code base of 1.4 MSLOC. To ensure the quality of the delivered software, thousands of manual and automated regression and verification tests are performed on the code and GUIs using a Test Controller infrastructure developed by the test group. The infrastructure manages test case inventory, test planning, automated and manual test execution, and generation of test reports. A web browser interface provides test services, searchable test results and dynamic status reports to users. The Test Controller manages the three-stage quality control process of integration, offline and online testing, which assesses and assures the quality of each release. This talk will present the requirements, design and results of this comprehensive software testing infrastructure.