"The value in using the graphical dataflow language is the speed in which a team can deliver a powerful solution while still using proper software engineering practices." -- Glenn Larkin, Lawrence Livermore National Lab
The NIF at Lawrence Livermore National Laboratory is home to the world’s most energetic laser and largest precision optical instrument. A 10-story building the size of three football fields houses 192 lasers, which when fired, travel more than 1,000 ft through a series of amplifiers and optics to deposit up to 500 trillion watts of power for 20 billionths of a second on a target the size of a BB. High-energy-density physics experiments conducted at NIF seek to help assure the safety of the nuclear stockpile and demonstrate the viability of nearly unlimited alternative energy sources based on inertial confinement fusion (ICF).
Most of the individuals working on the application had limited exposure to LabVIEW prior to this application. In addition, the graphical nature of the dataflow language initially raised concern that it may not be suitable for an application of this critical nature. However, through training and architectural consulting services, this team applied its software engineering knowledge to LabVIEW to develop a high-quality application in a fraction of the time that would have otherwise been required.
Engineers at Lawrence Livermore were under pressure to bring the OMF online in time to begin repairing lenses without delaying the operation of NIF. The LabVIEW development environment was selected over traditional text-based alternatives because of the tight timeline and the availability of all the tools, drivers, and interfaces required by this complex application.
As a result, a team of three people prototyped, developed, and deployed the final version of the application in about 15 months, which is roughly one-third of the estimated time required to develop the application using Java or C++. Many factors contributed to the decreased development time, but including the following:
- Prebuilt drivers for hardware and instruments
- Highly customizable drag-and-drop user interfaces
- Easy, rapid prototyping for testing and demonstrating new features and concepts
- Built-in vision and analysis routines
- Easy manipulation for large data sets with built-in array functionality
As the size and scope of the application grew, additional LabVIEW benefits were revealed, including the availability of a large and active online community of users and experts. Productivity is expected to increase for future products as in-house expertise grows and the team establishes common architectures and best practices.
Software Engineering Approach
Application development for OMF began with high-level requirements that were expanded through prototyping and iterative development. It was important for the success of the project that the LabVIEW development environment be able to integrate with standard tools and processes at Lawrence Livermore, including source code control and requirements management solutions. It was also beneficial to provide metrics that equate the complexity and level of effort to industry-standard size measurements, such as source lines of code (SLOC).
The need for process and testing was largely driven by a growing need for risk mitigation through software quality assurance guidance from the Department of Energy (DOE), which funded this project. The resources and content on ni.com/largeapps were extremely helpful during initial efforts to apply these software engineering practices. The team quickly realized that graphical data flow is a programming language like any other, and they should apply the same software engineering practices when developing a complex application.
Once prototypes had been built to review the workflow and the operator interface, the team evaluated several architectures and eventually settled on a framework based around the JKI State Machine. Gary Johnson, who was the technical lead and code gatekeeper for this project, was responsible for enforcing stylistic and syntactical guidelines across the team, which has ensured the longevity and scalability of the code. The code that was deployed for the final application consisted of more than 1,000 VIs.
The OMF repaired its first production optic in August 2009. The three operational machines have since mitigated flaws on nearly 200 lenses, proving it is a critical facility in supplying high-quality large optics for the NIF.
LabVIEW in Future Projects
The use of LabVIEW for the OMF at Lawrence Livermore was an overwhelming success. As a result, future plans call for expanded use of LabVIEW in additional research projects to save money and time – the next project to be developed using LabVIEW is anticipated to take one-third the time it would otherwise take using traditional approaches.
Lawrence Livermore National Laboratory