NARAC Software Team Begins Modernization of GUI Framework
As any computer systems professional knows, the “leading edge” is a moving target. When the system belongs to Lawrence Livermore’s National Atmospheric Release Advisory Center (NARAC)—the Department of Energy’s premier atmospheric transport and dispersion simulation facility—ensuring the reliability of core operational systems requires thoughtful consideration of new technology alongside evolving needs. NARAC’s software development team continually evaluates current capabilities and weighs appropriate solutions to meet NARAC’s critical national and international missions. Led by John Fisher, this team consists of Bill Eme, John Donetti, Hoyt Walker, Kathleen Fischer, Rich Belles, Sei Jung Kim, and Sara Woods from Global Security Computing, and Bob Shectman and Tom Baginski from Engineering.
NARAC supports Livermore’s national and global security missions by providing real-time assessment of and emergency response strategies for airborne releases of nuclear, radiological, chemical, biological, and other hazardous materials. Examples of NARAC’s modeling and response efforts include the release of radioactive materials at New Mexico’s Waste Isolation Pilot Plant and predictions of airborne dispersion of radioactive material following earthquake and tsunami damage to Japan’s Fukushima Daiichi Nuclear Power Plant. NARAC’s ability to respond to urgent events depends on a fast, reliable computer modeling system.
As part of a broad software modernization effort to address rapid expansion of capabilities and minimize long-term maintenance expenses, Fisher’s team recently began to update NARAC’s graphical user interface (GUI) framework. A critical part of this process involved review of the team’s strategy to evaluate proposed technologies and upgrades and to identify risks and opportunities. Subject matter experts from the Computation Directorate formed the review committee, which presented its recommendations to Fisher’s team in February of 2017.
Winds of Change
NARAC’s Central System is an automated, Linux-based operational framework that uses worldwide meteorological and geographical databases to build three-dimensional models of an area under scrutiny. These data are enhanced with characteristics of the hazardous material(s) in question, enabling NARAC scientists and engineers to generate dispersion and fallout models that can predict—often within 15 minutes—radiation dose, air and ground contamination, blast damage zones, health risks, and other population effects.
Central System GUIs facilitate a range of user needs, such as event management, data gathering, source formulation, and product generation. Working closely with NARAC operations staff, the software team focused on GUI features for the design review with four key objectives: (1) ensure efficient, cost-effective maintenance with streamlined architecture and development processes; (2) increase flexibility and maintainability of the system by leveraging open-source tools and eliminating third-party licensing where possible; (3) simplify future technology integrations by separating data from software; and (4) improve usability. “Our users are Laboratory scientists. Their work demands sophisticated technology solutions,” notes Fisher.
Now in its third generation, the current Central System includes more than 100 applications that rely on the Java Swing API and a specialized custom framework for interface consistency. Although this framework is mature and tailored to NARAC’s operational needs, the drawbacks are significant: Its distributed CORBA architecture is obsolete, testing is difficult, and Swing is no longer supported by Oracle. Furthermore, existing GUIs are unwieldly for NARAC’s large, complex data sets. “While it’s easy to navigate through hierarchical data in the Swing environment, users can struggle with too many open windows on their desktops,” explains Kim. “This is not ideal in an emergency.”
Figure 1. NARAC’s Central System brings together 50 data sources, 28 servers, 8 storage units, and more than 3 million lines of code. (Click to enlarge.)
Figure 2. Planned upgrades to NARAC’s graphical user interfaces include advanced docking functionality for multiple applications in use at the same time. (Click to enlarge.)
Getting the Greenlight
The review committee evaluated the appropriateness and feasibility of the software team’s plan, which included a prototype that combined the proposed tools into a unified interface with simplified code. Recommendations ranged from workflow process improvements to enhancing the team’s skills. As a result of the committee’s findings, Fisher’s team changed to a client/server model by switching to Express web service architecture (instead of the planned Electron desktop architecture) to run applications. In recent tests, Express has proven to be more compatible with Angular 2.
Fisher’s team appreciated the advantages of peer review. “Our proposal needed fresh eyes from an educated audience,” he says. They were pleased with the committee members’ domain knowledge and welcomed the opportunity to collaborate with software development experts from other areas of the Laboratory. Kim notes, “It was clear from the committee’s response that the members are experienced with modern web technology. They know what they’re doing.”
NARAC’s GUI upgrades will occur in phases as part of a larger multi-year project. After the architecture rollout, the software team will begin rebuilding and streamlining applications while a parallel effort is under way to update other Central System components. Fisher and team have recruited a student to help with implementation over the summer, and the team hopes to hire additional interns. Fisher looks forward to the project’s challenges. “We’re setting a high bar for modernization,” he says.