Engineering Papers⌕ Search

SEARCH · Engineering Papers

Results for “Software engineering”

Search indexed NASA NTRS and DOE OSTI research on propulsion, heat transfer, battery materials and energy systems. Follow report and document links to the original sources.

Quote a phrase for an exact phrase match. Source license links do not imply unrestricted reuse.

At least 73 records · Page 4

Good Practices for High-Quality Scientific Computing

Experimental and observational sciences have developed robust practices for conducting experiments, maintaining their instruments, and record keeping for provenance. Computational science has only recently begun to confront the issue of quality of their instrument, the software, and the credibility of their scientific output. Most of the available literature in software engineering relates to enterprise software. While it can inform practices in scientific software, adjustments are usually needed. From time to time quality conscious practitioners have published collections of best practices for scientific software. Here, this article provides one more such list but with updated suggestions, motivated by the need to keep up with the rapid changes in the computing industry.

97 MATHEMATICS AND COMPUTING↗

Software Quality Metrics for Geant4: An Initial Assessment - Paper 122

In the context of critical applications, such as shielding and radiation protection, ensuring the quality of simulation software they depend on is of utmost importance. The assessment of simulation software quality is crucial both to determine its adoption in experimental applications and to guarantee reproducibility of outcome over time. Geant4 is a simulation system used in a wide range of experimental applications, some of which, such as radiation protection and biomedical studies, may involve critical use cases and would especially profit from an objective assessment of the software quality. In this study, we present the first results from an ongoing analysis of Geant4 code based on established software metrics from the perspective of software engineering. The analysis evaluates the current status of the code to quantify its characteristics with respect to documented quality standards; further appraisals concern evolutions over a series of release distributions. The quantitative assessment of the software is initially focused on a subset of Geant4 packages, which play a key role in scientific applications and are representative of different software development processes. We describe the chosen software metrics that map the entities of a software system to numeric values through mathematical definitions, quantifying software attributes ranging from functionality to maintainability. To measure such metrics, we exploited a set of software metrics tools, i.e. programs that implement a set of software metrics definitions. They allow software engineers to assess a software system by extracting the required attributes from the software and providing the corresponding metric values. To correlate software metrics values in a well-defined way, we used software quality standard models, such as the ISO/IEC 9126 standard, which aggregate numerical values to aid quality analysis and assessment. With this work we aim to create a baseline for evaluating correlations between software quality embedded in the Geant4 development process and simulation observables produced by Geant4-based applications. Furthermore, we intend to highlight what metrics are most effective at evaluating radiation transport software quality. We are confident that the result will provide constructive guidance both to improve key software tools, such as Geant4, and to estimate their contribution in risk analysis concerning sensitive applications. The remainder of this paper is structured as follows. We first discuss the approach adopted to fulfil our assessment. Then, we present the setup of our experiments and the way we collected data. We provide an initial interpretation of a subset of data resulting from measurements made on the selected Geant4 packages. As the analysis is still ongoing at the time of submitting this abstract, some results will be documented in the final paper and in the conference presentation. With this work we aim to create a proper Geant4 data set for evaluating its software characteristics and identifying both strengths and weaknesses. In this initial study, we considered the geometry and processes packages, which play a major role in most simulation applications. The data analysis is in progress at the time of writing; its complexity is related to the differences among software metrics tools, to the large amount of data to be evaluated and to the pioneering character of this project. We are confident that the results will provide valuable indications for the Geant4 user community and constructive guidance to improve key Geant4 packages. Other Monte Carlo codes could profit from the methodology developed in this pilot project for similar assessments of their software quality. At the end of this study, we intend to create a baseline for evaluating correlations between software quality embedded in the Geant4 development process and simulation observables produced by Geant4-based applications. (authors)

61 RADIATION PROTECTION AND DOSIMETRY↗

In Their Shoes: Persona-Based Approaches to Software Quality Practice Incentivization

Many teams struggle to adapt and right-size software engineering best practices for quality assurance to fit their context. Introducing software quality is not usually framed in a way that motivates teams to take action, thus resulting in it becoming a “check the box for compliance” activity instead of a cultural practice that values software quality and the effort to achieve it. When and how can we provide effective incentives for software teams to adopt and integrate meaningful and enduring software quality practices? Here, we explored this question through a persona-based ideation exercise at the 2021 Collegeville Workshop on Scientific Software in which we created three unique personas that represent different scientific software developer perspectives.

97 MATHEMATICS AND COMPUTING↗

Cyber-Informed Engineering Implementation Guide: Version 1.0 [Slides]

This Implementation Guide describes the principles of Cyber-Informed Engineering (CIE) and outlines questions that engineering teams should consider during each phase of a system's lifecycle to effectively employ these principles. It describes what it means to engineer systems in a cyber-informed way, rather than offering a comprehensive, step-by-step process or procedure for CIE implementation. This guide complements - but does not replace - the application of cybersecurity standards or practices currently in place within an organization. Engineers and technicians that design critical energy infrastructure installations can use this Implementation Guide to integrate the 12 principles of CIE into each phase of the engineering lifecycle, from concept to retirement. The guide is aimed at system or design engineers, rather than software engineers or operational cybersecurity practitioners. The engineers who design, build, operate, and maintain the physical infrastructure are best positioned to leverage a system's engineering design to diminish the severity of cyber attacks or digital technology failures. CIE expands cybersecurity decisions into the engineering space, not by asking engineers to become cyber experts, but by calling on engineers to apply engineering tools and make engineering decisions that improve cybersecurity outcomes. CIE examines the engineering consequences that a sophisticated cyber attacker could achieve and drives engineering changes that may provide deterministic mitigations to limit or eliminate those consequences.

24 POWER TRANSMISSION AND DISTRIBUTION↗

Cyber-Informed Engineering Implementation Guide

This Implementation Guide describes the principles of Cyber-Informed Engineering (CIE) and outlines questions that engineering teams should consider during each phase of a system’s lifecycle to effectively employ these principles. It describes what it means to engineer systems in a cyber-informed way, rather than offering a comprehensive, step-by-step process or procedure for CIE implementation. This guide complements—but does not replace—the application of cybersecurity standards or practices currently in place within an organization. Engineers and technicians that design critical energy infrastructure installations can use this Implementation Guide to integrate the 12 principles of CIE into each phase of the engineering lifecycle, from concept to retirement. The guide is aimed at system or design engineers, rather than software engineers or operational cybersecurity practitioners. The engineers who design, build, operate, and maintain the physical infrastructure are best positioned to leverage a system’s engineering design to diminish the severity of cyber attacks or digital technology failures. CIE expands cybersecurity decisions into the engineering space, not by asking engineers to become cyber experts, but by calling on engineers to apply engineering tools and make engineering decisions that improve cybersecurity outcomes. CIE examines the engineering consequences that a sophisticated cyber attacker could achieve and drives engineering changes that may provide deterministic mitigations to limit or eliminate those consequences.

42 ENGINEERING↗

Verifiable Security Templates for Hardware

High-level synthesis (HLS) research generally focuses on transferring "software engineering virtues" (e.g., modularity, abstraction, extensibility, etc.) to hardware development with the ultimate goal of making hardware development as agile as software development. And recent HLS research has focused on transferring ideas and techniques from high assurance software formal methods to hardware development. Just as it has introduced software engineering virtues, we believe HLS can also become a vector for adapting software formal methods to the challenge of high assurance security in hardware. This paper introduces the Device Calculus and its mechanization in the Agda proof checking system. The Device Calculus is a starting point for exploring the formal methods and security of high-level synthesis flows. We illustrate the Device Calculus with a number of examples of formally verifiable security templates-i.e., functions in the Device Calculus that express common security structures at a high-level of abstraction.

Harrison, Bill↗

Teaching Software Sustainability for High Performance Computing at ATPESC

The Argonne Training Program in Extreme Scale Computing (ATPESC) was started by Argonne National Laboratory with the objective of expanding the ranks of better-prepared users of high-performance computing (HPC) machines. One of the unique aspects of the program was inclusion of a track on software engineering and community codes. The inclusion was motivated by the observation that the projects with good software processes were better able to meet their scientific goals. Over the years, with greater awareness of software sustainability issues in the community, the track has evolved into a software productivity and sustainability track. In this paper we present our experience in choosing and disseminating the content related to the topic of software engineering in high performance computing science from the beginning of the program until now. We discuss the motivations and the reception of the tracks. We also document the evolution of the track over the years based on student feedback and also the growth of awareness about software productivity in high performance computing.

Dubey, Anshu↗

Software stewardship and advancement of a high-performance computing scientific application: QMCPACK

Here, we provide an overview of the software engineering efforts and their impact in QMCPACK, a production-level ab-initio Quantum Monte Carlo open-source code targeting high-performance computing (HPC) systems. Aspects included are: (i) strategic expansion of continuous integration (CI) targeting CPUs, using GitHub Actions own runners, and NVIDIA and AMD GPUs used in pre-exascale systems, (ii) incremental reduction of memory leaks using sanitizers, (iii) incorporation of Docker containers for CI and reproducibility, and (iv) refactoring efforts to improve maintainability, testing coverage, and memory lifetime management. We quantify the value of these improvements by providing metrics to illustrate the shift towards a predictive, rather than reactive, maintenance approach. Our goal, in documenting the impact of these efforts on QMCPACK, is to contribute to the body of knowledge on the importance of research software engineering (RSE) for the stewardship and advancement of community HPC codes to enable scientific discovery at scale.

97 MATHEMATICS AND COMPUTING↗

Summer 2024 INL Intern Poster Session Submission - Brian Schumitz

This LRS submission is my poster for the INL Intern Poster Session, Summer 2024. Abstract: The Software Engineering and Cybersecurity Lab (SECL) at Montana State University has developed PIQUE, a system for evaluating software quality. PIQUE's adaptability allows for language-specific static-analysis operations, including a model for assessing cloud microservice ecosystems. These ecosystems often rely on Docker for efficient deployment and management of containerized services. Our research focuses on evaluating the network quality within these microservice ecosystems. To automate this process, we're utilizing Snort, an open-source intrusion detection system renowned for its ability to detect and log network traffic. By leveraging Snort's customizable rules, we aim to construct comprehensive testing methods for measuring and quantifying the network quality based on traffic between Docker containers. This research aims to enhance the overall security and reliability of cloud microservice ecosystems by providing automated and robust quality evaluation mechanisms, ultimately contributing to the advancement of software engineering practices in these environments

97 MATHEMATICS AND COMPUTING↗

Design Optimization Toolkit: Users' Manual

The Design Optimization Toolkit (DOTk) is a stand-alone C++ software package intended to solve complex design optimization problems. DOTk software package provides a range of solution methods that are suited for gradient/nongradient-based optimization, large scale constrained optimization, and topology optimization. DOTk was design to have a flexible user interface to allow easy access to DOTk solution methods from external engineering software packages. This inherent flexibility makes DOTk barely intrusive to other engineering software packages. As part of this inherent flexibility, DOTk software package provides an easy-to-use MATLAB interface that enables users to call DOTk solution methods directly from the MATLAB command window.

97 MATHEMATICS AND COMPUTING↗

LLNL Response to the DOE ASCR RFI, "Stewardship of Software for Scientific and High-Performance Computing"

For decades, Lawrence Livermore National Laboratory (LLNL) has been engaged in significant research, development, and support for software to enable scientific computing and, particularly, the use of high performance computing (HPC) in the NNSA mission space. In particular, the move in the mid-1990’s to simulation as a leading component of stockpile stewardship through the ASCI and the successor ASC programs, as well as the need for reliable data acquisition and control software for the National Ignition Facility, have been important drivers in building expertise in production-quality software development at LLNL. LLNL has also been a leader in the DOE SciDAC FASTMath Institute and the DOE Exascale Computing Project (ECP), both of which have striven to make scientific computing software – in particular, the enabling technologies underpinning simulation capabilities – more widely adopted and sustainable. As such, we believe that our experience can inform the broader goal of software stewardship for scientific and high-performance computing. LLNL strongly supports the formation of a new DOE ASCR program element in software stewardship and sustainment. Historically, DOE ASCR has funded applied mathematics and computer science research that has led to the development of important new capabilities and algorithms that are expressed as artifacts in research software. Such frameworks, libraries, and tools have seldom been directly funded to address the important issues of code maintenance, documentation, robustness, and community building. Software engineering and support have typically been done on the side in support of the ASCR-driven research products. DOE funding priorities have been slow to recognize that good software engineering, the kind that ensures research investments have more adoption and longevity, requires significant resources. Based upon our experiences, we have prepared this response to highlight the concerns and issues we believe to be important as DOE ASCR considers its role in scientific software stewardship. We believe that role is important and will require a significant investment of new funding to legitimately support the technologies past and future DOE ASCR investments have and will produce to facilitate their uptake and adoption in the broader scientific computing community. Following a summary of our involvement in scientific software development, the remainder our response is organized around the nine topics specifically identified in the RFI.

97 MATHEMATICS AND COMPUTING↗

SHARP pre-release v1.0 - Current Status and Documentation

The NEAMS Reactor Product Line effort aims to develop an integrated multiphysics simulation capability for the design and analysis of future generations of nuclear power plants. The Reactor Product Line code suite’s multi-resolution hierarchy is being designed to ultimately span the full range of length and time scales present in relevant reactor design and safety analyses, as well as scale from desktop to petaflop computing platforms. In this report, building on a several previous report issued in September 2014, we describe our continued efforts to integrate thermal/hydraulics, neutronics, and structural mechanics modeling codes to perform coupled analysis of a representative fast sodium-cooled reactor core in preparation for a unified release of the toolkit. The work reported in the current document covers the software engineering aspects of managing the entire stack of components in the SHARP toolkit and the continuous integration efforts ongoing to prepare a release candidate for interested reactor analysis users. Here we report on the continued integration effort of PROTEUS/Nek5000 and Diablo into the NEAMS framework and the software processes that enable users to utilize the capabilities without losing scientific productivity. Due to the complexity of the individual modules and their necessary/optional dependency library chain, we focus on the configuration and build aspects for the SHARP toolkit, which includes capability to autodownload dependencies and configure/install with optimal flags in an architecture-aware fashion. Such complexity is untenable without strong software engineering processes such as source management, source control, change reviews, unit tests, integration tests and continuous test suites. Details on these processes are provided in the report as a building step for a SHARP user guide that will accompany the first release, expected by Mar 2016.

Mahadevan, Vijay S.↗

FAST Modularization Framework for Wind Turbine Simulation: Full-System Linearization: Preprint

The wind engineering community relies on multiphysics engineering software to run nonlinear time-domain simulations e.g. for design-standards-based loads analysis. Although most physics involved in wind energy are nonlinear, linearization of the underlying nonlinear system equations is often advantageous to understand the system response and exploit well-established methods and tools for analyzing linear systems. This paper presents the development and verification of the new linearization functionality of the open-source engineering tool FAST v8 for land-based wind turbines, as well as the concepts and mathematical background needed to understand and apply it correctly.

17 WIND ENERGY↗

Cooperative Education

Los Alamos National Laboratory (LANL) is a multidisciplinary national laboratory that conducts research and development in national security, engineering, materials science, computational modeling, and advanced manufacturing. The laboratory develops innovative technologies to address complex scientific and engineering challenges. This project focuses on the development and evaluation of high-performance absorbing structures through computational design, simulation, and engineering analysis. Absorbing structures are used in applications where damage mitigation, structural protection, and material efficiency are critical performance requirements. The increasing demand for lightweight, high-strength, and highly efficient structural systems has created a need for improved design methodologies capable of maximizing absorption while minimizing weight and material usage. The project utilizes advanced engineering software, including 3D CAD software and FEA, to generate and optimize structural concepts. Computational simulations are performed to evaluate structural behavior under loading conditions, while mathematical analyses are conducted using Python-based tools as well as established analytical equations from material and structural mechanics. The project benefits LANL by supporting the development of advanced design methodologies and improving the understanding of material and structural performance. During the internship term, a significant portion of the design development, simulation, and data analysis activities will be completed. Success of the project depends on collaboration among engineering mentors and technical staff members. Work will be conducted at Los Alamos National Laboratory using laboratory computing resources and engineering software.

42 ENGINEERING↗

Development of hybrid 3-D hydrological modeling for the NCAR Community Earth System Model (CESM)

This is the Final Report of our four-year (3-year plus one-year no cost extension) collaborative project between the University of Arizona (UA) and the National Center for Atmospheric Research (NCAR). The overall objective of our project is to develop and evaluate the first hybrid 3-D hydrological model with a horizontal grid spacing of 1 km for the NCAR Community Earth System Model (CESM). We have made substantial progress in model development and evaluation, computational efficiencies and software engineering, and data development and evaluation, as discussed in Sections 2-4. Section 5 presents our success in data dissemination, while Section 6 discusses the scientific impacts of our work. Section 7 discusses education and mentoring success of our project, while Section 8 lists our relevant DOE services. All peer-reviewed papers that acknowledged this project are listed in Section 9. Highlights of our achievements include: • We have finished 20 papers (most published already) on model development and evaluation, computational efficiencies and software engineering, and data development and evaluation • The global datasets developed under this project have been permanently archived and publicly available • Some of our research results have already been implemented in WRF and CLM • Patrick Broxton and Michael Brunke have received their Ph.D. • PI Zeng has served on DOE proposal review panels and DOE lab scientific focus area (SFA) review panels

58 GEOSCIENCES↗

2014-2018 Summary of NCAR activities in the Earth Energy Exascale System Model (E3SM) project

NCAR participation in E3SM activities as part of this funded collaborative project has been successful in leveraging the existing atmosphere model development experience from CESM scientists and applying it to initial v1 atmosphere model (EAM) development and analysis. NCAR partners collectively had many decades of experience in parameterization development, running and tuning coupled models and building the required software infrastructure to support ongoing model developments. Furthermore, collaboration between E3SM and CESM developers was of mutual benefit to both modeling endeavors. In the earlier periods of the project, participation in E3SM both complemented core critical path DOE activities and advanced individual parameterization development; including orographic drag, convection parameterization, convective gustiness and cloud and microphysical processes. Significant progress has been made implementing model capabilities for separating out the physics and dynamics grids, and providing the infrastructure for including orographic elevation class communication between the land and atmosphere models. Our activities working with the E3SM workflow and software engineering teams have established efficient protocols and infrastructure for the sharing of CESM and E3SM model codes of interest to both modeling groups, a large component of which is the mutual communication of common code bugs. As well as these specific project tasks all NCAR project members have been regular participants in atmosphere and coupled group telecons, as well as PI meetings. We have been fully engaged with and contributed to decisions regarding v1 atmosphere model developments, coupled model simulations, model tunings, and software engineering infrastructure. NCAR’s contribution to more recent E3SM development activities has centered on analysis of v1 release and pre-release simulations in order to address outstanding systematic biases and communicate climate improvements. Of particularly note is the work in understanding clouds and cloud feedbacks, shortcomings in ENSO and sub-seasonal variability; in particular the Madden Julian Oscillation (MJO). Contributions have been made to a number of papers that are currently published or in preparation detailing model performance in CMIP6-protocal experiments. They outline the simulations of mean climate, clouds and convection processes, convective gustiness, atmospheric blocking coupled climates. The contributions of NCAR’s funded activities to the E3SM atmosphere in the initial years of the project have had a positive impact on many aspects of the model simulations described in these papers.

58 GEOSCIENCES↗