Author: Kale, P.
Paper Title Page
MO2BCO06 Embedded Controller Software Development Best Practices at the National Ignition Facility 54
 
  • V.K. Gopalan, A.I. Barnes, C.M. Estes, J.M. Fisher, V.J. Hernandez, P. Kale, A. Pao, P.K. Singh
    LLNL, Livermore, USA
 
  Funding: This work was performed under the auspices of the U.S. Department of Energy by Lawrence Livermore National Laboratory under Contract DE-AC52-07NA27344.
Software development practices such as continuous integration and continuous delivery (CI/CD) are widely adopted by the National Ignition Facility (NIF) which helps to automate the software development, build, test, and deployment processes. However, using CI/CD in an embedded controller project poses several challenges due to the limited computing resources such as processing power, memory capacity and storage availability in such systems. This paper will present how CI/CD best practices were tailored and used to develop and deploy software for one of the NIF Master Oscillator Room (MOR) embedded controllers, which is based on custom designed hardware consisting of a microcontroller and a variety of laser sensors and drivers. The approach included the use of automated testing frameworks, customized build scripts, simulation environments, and an optimized build and deployment pipeline, leading to quicker release cycles, improved quality assurance and quicker defect correction. The paper will also detail the challenges faced during the development and deployment phases and the strategies used to overcome them. The experience gained with this methodology on a pilot project demonstrated that using CI/CD in embedded controller projects can be challenging, yet feasible with the right tools and strategies, and has the potential to be scaled and applied to the vast number of embedded controllers in the NIF control system.
LLNL Release Number: LLNL-ABS-848418
 
slides icon Slides MO2BCO06 [1.346 MB]  
DOI • reference for this paper ※ doi:10.18429/JACoW-ICALEPCS2023-MO2BCO06  
About • Received ※ 29 September 2023 — Revised ※ 12 October 2023 — Accepted ※ 14 November 2023 — Issued ※ 30 November 2023
Cite • reference for this paper using ※ BibTeX, ※ LaTeX, ※ Text/Word, ※ RIS, ※ EndNote (xml)