Title: David G. Mathisen
1 Orchestrating Shots for the National Ignition
Facility (NIF)
SIG Ada Conference November 16, 2005
- David G. Mathisen
- Shot Control Frameworks Lead Architect
- Integrated Computer Control System
- National Ignition Facility
- Lawrence Livermore National Laboratory
The work was performed
under the auspices of the U.S. Department of
Energy National Nuclear Security Administration
by the University of California Lawrence
Livermore National Laboratory under Contract No.
W-7405-ENG-48.
2Agenda
- National Ignition Facility
- 3.5 B inertial confinement fusion project
started in 1996 - Project completion planned for 2009
- NIF is 80 complete
- Integrated Computer Control System (ICCS)
- 60,000 control points, 750 processors
- Mixed language environment 70 Ada95 and 30
Java - 1.4 M source lines of code (1.1 MSLOC complete)
- 400 person-year software engineering effort
- Automated shot controls
- Model-based architecture
- Workflow processing using state machines
- Large-scale asynchronous / parallel operations
3Acknowledgements
- This work is a collaborative effort of over 100
computer scientists, engineers, physicists and
technicians working on the NIF project - Significant contributors to shot automation
include - R. Beeler, R. Bettenhausen, G. Bowers, B. Carey,
B. Cline, D. Domyancic, S. Elko, K. Gu, J.
Krammen, L. Lagin, C. Lord, D. Maloy, R.
Patterson, R. Sanchez, A. Saroyan, P. Sinha, J.
Stewart, E. Stout, J. Tappero - Raytheon Canada, Ltd.
4(No Transcript)
5- NIF explores extreme conditions in a laboratory
setting - 100 million degrees K
- 100 billion times atmospheric pressure
6(No Transcript)
7(No Transcript)
8National Ignition Facility
Capacitor Bay 3
Control Room
Master Oscillator
Optics Assembly
Laser Bay 2
Target Chamber
Switch Yard 2
9Symmetry nomenclature
10The build-out of NIFs 5,700 line-replaceable
units is progressing over 1,100 are installed
to date
11The 10-meter diameter target chamber has over a
dozen experimental diagnostics installed
12Inside view of the target chamber shows entrance
ports, the service lift, and target positioner
13Laser beams focused inside the target hohlraum
are converted to X-rays that irradiate a DT fuel
pellet
14- Mission control for laser experiments
relies on Ada - Scale 60,000 points, 1,200 processes, 140,000
CORBA objects - Ada Control system semantics
- Java GUI layer and COTS integration
- CORBA Transparent language binding and
distribution (TCP/IP)
15Integrated Computer Control System (ICCS)
ICCS will be deployed on 50 servers and 750
front-end processors (FEP)
16Strategy of incremental development applies
rigorous quality control with formal authorization
17ICCS is a data-driven framework for constructing
large-scale distributed controls with CORBA
18Common Application Process Architecture
Application Objects
Connection Objects
C O R B A
Config/Name Service
Object Factory
System Manager
Status Monitor
Message Log
Shot Archive
Machine History
T C P
Alerts
Events
Reservations
Framework Agents
Diagnostic Agent
Startup/Shutdown
Heartbeat
UDP
- Common startup and shutdown protocol
- Behavior of application processes is completely
data-driven - Distribution encapsulated by Framework Service
APIs
19Tools support a mixed-language environment of
Ada95 (70) and Java (30)
20Ada, Java, and CORBA were selected at the
projects inception in 1996
- Ada
- Object features are extensible and support
encapsulation - Strict type-casting facilitates rigorous software
engineering - Exception handling and static semantics translate
to robust code - Tasking and protected objects implement NIFs
native parallelism - Java
- Powerful and portable graphics capabilities
- Rapid development of code at the edge of the
architecture - CORBA
- Provides process redeployment to assure
performance at scale - Facilitates 30-year maintenance and upgrade paths
for NIF
The ICCS environment has proven to be flexible,
scalable, and reliable
21Primary control system requirement Fire and
diagnose laser shots every 4 hours
Fire pre-amplifier
Fire NIF
Amplifier cooling
Shot
Shot
Shot
Shot Preparation
Archive
Archive
Verify
30-min
2-s
20-m
4 hours
- NIF Shot cycle described by 6,000 line checklist
- Input shot goals from physics model
- Set up laser and diagnostics
- Automatic alignment
- Countdown (4-min) and timing (2-sec)
- Archive shot data
22Initial automation based on a 6,000 line
checklist delivered efficient commissioning and
experimental campaigns
23Shot automation requirements were derived from
early experiments using the first 4 beamlines
- Strategy provided ability to -
- Scale to full 24 bundles
- Perform model-driven activity sequences
- Support subsystem interactions and collaborations
- Perform data-driven verification of components
based on participation - Error recovery -
- Revert to manual mode
- Provide semantics for Pause, Play, and Stop
- Manually Step through sequence, Retry, and Resume
Automation - Drop non-critical components from automation set
- Perform aborts
24Requirements for shot automation led to a
multi-layered software architecture
- Shot Director
- Transitions Collaboration Supervisors through
prescribed Shot Cycle states - Bundle-based Collaboration Supervisors
- Transitions each bundle through automated
sequences called Macro Steps for each Shot Cycle
State as defined by the shot model - Subsystem Shot Supervisors
- Execute subsystem-specific Macro Steps including
scripted functions and verification - Supervisors and Front-End Processors
- Transition devices between states as defined by
shot setpoints
25Shot Management Layers
Shot Director Layer
Shot Cycle States
Collaboration Supervisor Layer
Shot Model With Macro Step Sequences
Macro Step Phases
Shot Supervisor Layer
Steps
Substeps
Control Status Subsystem Layer (FEP)
Setpoints
Filter
Shutter
26Shot Director Layer
Shot Director Layer
- Ada features
- Sparse state machine
- Protected objects
Shot Cycle States
Collaboration Supervisor Layer
Shot Model With Macro Step Sequences
Macro Step Phases
Shot Supervisor Layer
Steps
Substeps
Control Status Subsystem Layer (FEP)
Setpoints
Filter
Shutter
27Shot Director GUI tracks progress of shot cycle
state transitions for all 24 bundles (B31 shown)
28Shot cycle transitions are prescriptive
29Collaboration Supervisor Layer
Shot Director Layer
Shot Cycle States
- Ada features
- Tasking
- Protected Objects
Collaboration Supervisor Layer
Shot Model With Macro Step Sequences
Macro Step Phases
Shot Supervisor Layer
Steps
Substeps
Control Status Subsystem Layer (FEP)
Setpoints
Filter
Shutter
30Collaboration supervisor advances subsystems
through macro steps defined by shot model
31Modal Shot Control Behavior
- Pause/Play
- Pause at completion of the current executing
script - Play starts the next script from the pause point
- Stop
- Aborts the current running script
- Enters manual mode
- Resume Auto
- Runs verification script
- Transitions to Auto if verification successful
- Restricted to defined synchronization points
- Enter manual mode on error
- Enables operator buttons
32Shot Supervisor Layer
Shot Director Layer
Shot Cycle States
Collaboration Supervisor Layer
Shot Model With Macro Step Sequences
Macro Step Phases
- Ada features
- Tasking
- Protected Objects
- ATCs
Shot Supervisor Layer
Steps
Substeps
Control Status Subsystem Layer (FEP)
Setpoints
Filter
Shutter
33Macro steps perform sequences of operations
Progress is displayed while in Auto Mode, and
steps become selectable when in Manual Mode
34Macro Steps have a scripted perform phase and
three table-driven verification phases
- Each Macro Step includes
- Is Done Verification
- If exit conditions are already met, the Macro
Step doesnt need to execute - Is Ready Verification
- Are the entry conditions for the Macro Step
satisfied? - Perform
- Do work described in scripts
- Final Done Verification
- Are the exit conditions met?
- Each verify/perform step is conditional whether
devices are participating, providing significant
flexibility
Flexible Ada-based automation performs complex
shots and experiments reliably on NIF
35A modern large-scale physics control system has
been successfully developed with Ada
- Ada language constructs were extensively applied
to build ICCS - A model-driven shot automation framework was
developed that meets evolving NIF operational
requirements - A mixed language environment, facilitated by
CORBA, was key to leveraging appropriate software
technologies - The CORBA-distributed component architecture has
been proven and shown to scale for control
systems
Success required attention to software
engineering and investment in formal verification
36(No Transcript)