The national ignition facility
Proceedings of the 2002 annual ACM SIGAda international conference on Ada The engineering of correct and reliable software for real-time & distributed systems using Ada and related technologies - SIGAda '02(2003)
Abstract
The National Ignition Facility (NIF) currently under construction at the University of California Lawrence Livermore National Laboratory (LLNL) is a 192-beam, 1.8-Megajoule, 500-Terawatt laser being built by the Department of Energy and the National Nuclear Security Agency (NNSA) for inertial confinement fusion and high-energy-density experimental studies. The stadium-sized facility is currently activating systems for first light and will be completed in 2008.The facility is controlled by the Integrated Computer Control System (ICCS), a layered architecture of 300 front-end processors (FEP) coordinated by supervisor subsystems. The FEP's are distributed computers that interface to physical devices through VME-bus and PCI-bus crates. The functional subsystems - beam control including automatic beam alignment and wavefront correction, laser pulse generation and pre-amplification, diagnostics, pulse power, and shot timing - implement the actions of operators at eight graphic consoles, coordinate control, and display and archive data in a database. The software architecture mimics the hardware design levels: software devices in FEP's model hardware control points and supervisory objects model the line replaceable units that modularize the laser system. Graphic user interfaces are provided to make status and control of each level accessible to operators.The ICCS software is based on an object-oriented framework that incorporates services for archiving, machine configuration, graphical user interface, status monitoring, event logging, scripting, alert management, and access control. Software code development uses a mixed language environment of Ada (for functional controls) and Java (for user interface and database backend). CORBA is used to communicate between languages and processors. Substantial benefits credited to using Ada include the formality of controlled interfaces that rely on Ada's type model, easy-to-construct exception processing and the robustness of Ada's tasks.A strategy of incremental cycles of construction and formal test has been used since project inception. The project has completed more than 30 planned cycles of deployment into testbeds and is now integrating with the first 4 operational beamlines in the facility. Fifty of the planned 300 FEP's have been installed and tested with facility equipment. These implement nearly 200 classes that model physical control hardware - some 2500 software objects. Nearly all of the top-level functional subsystems, embodying some 110 application classes, have been commissioned in the facility. The integrated control system has successfully executed shots into test diagnostics in support of laser integration. The first coordinated facility shots to the 10-m diameter target chamber are expected in early 2003.Issues of robustness and scaling arise as the system integrates larger ensembles of control points and serves an increasing number of operators. The system comprises some 60 intercommunicating processes, and since none of these are known to be defect free, techniques for replacement and restart of individual processes are required. The most common communication pattern - publish and subscribe - is supported by a connection management framework that adds exception handlers to the ORB in order to restore broken connections and restart failed processes without explicit action by application client codes.This work was performed under the auspices of the U.S. Department of Energy by the University of California, Lawrence Livermore National Laboratory under Contract No. W-7405-Eng-48.
MoreTranslated text
Key words
Environmental Impacts
AI Read Science
Must-Reading Tree
Example
![](https://originalfileserver.aminer.cn/sys/aminer/pubs/mrt_preview.jpeg)
Generate MRT to find the research sequence of this paper
Chat Paper
Summary is being generated by the instructions you defined