Search NASA⌕ Search

SEARCH · Search NASA

Results for “Software dependability”

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 19 records

Causal Mechanism Graph – A new notation for capturing cause-effect knowledge in software dependability

Understanding cause-effect relations between concepts in software dependability engineering is fundamental to various research or industrial activities. Cognitive maps are traditionally used to elicit and represent such knowledge; however they seem incapable of accurately representing complex causal mechanisms in dependability engineering. Here, this paper proposes a new notation called Causal Mechanism Graph (CMG) to elicit and represent the cause-effect domain knowledge embedded in experts’ minds or described in the literature. CMG contains a new set of symbols elicited from domain experts to capture the recurring interaction mechanisms between multiple concepts in software dependability engineering. Furthermore, compared to major existing graphic methods, CMG is particularly robust and suitable for mental knowledge elicitation: it allows one to represent the full range of cause-effect knowledge, accurately or fuzzily as one sees fit depending on the depth of knowledge he/she has. This feature combined with excellent reliability and validity poses CMG as a promising method that has the potential to be used in various areas, such as software dependability requirement elicitation, software dependability assessment and dependability risk control.

42 ENGINEERING↗

Build and Execute Environment

At exascale, the challenge becomes to develop applications that run at scale and use exascale platforms reliably, efficiently, and flexibly. Workflows become much more complex because they must seamlessly integrate simulation and data analytics. They must include down-sampling, post-processing, feature extraction, and visualization. Power and data transfer limitations require these analysis tasks to be run in-situ or in-transit. We expect successful workflows will comprise multiple linked simulations along with tens of analysis routines. Users will have limited development time at scale and, therefore, must have rich tools to develop, debug, test, and deploy applications. At this scale, successful workflows will compose linked computations from an assortment of reliable, well-defined computation elements, ones that can come and go as required, based on the needs of the workflow over time. We propose a novel framework that utilizes both virtual machines (VMs) and software containers to create a workflow system that establishes a uniform build and execution environment (BEE) beyond the capabilities of current systems. In this environment, applications will run reliably and repeatably across heterogeneous hardware and software. Containers, both commercial (Docker and Rocket) and open-source (LXC and LXD), define a runtime that isolates all software dependencies from the machine operating system. Workflows may contain multiple containers that run different operating systems, different software, and even different versions of the same software. We will run containers in open-source virtual machines (KVM) and emulators (QEMU) so that workflows run on any machine entirely in user-space. On this platform of containers and virtual machines, we will deliver workflow software that provides services, including repeatable execution, provenance, checkpointing, and future proofing. We will capture provenance about how containers were launched and how they interact to annotate workflows for repeatable and partial re-execution. We will coordinate the physical snapshots of virtual machines with parallel programming constructs, such as barriers, to automate checkpoint and restart. We will also integrate with HPC-specific container runtimes to gain access to accelerators and other specialized hardware to preserve native performance. Containers will link development to continuous integration. When application developers check code in, it will automatically be tested on a suite of different software and hardware architectures.

Guan, Qiang↗

Build and Execute Environment

At exascale, the challenge becomes to develop applications that run at scale and use exascale platforms reliably, efficiently, and flexibly. Workflows become much more complex because they must seamlessly integrate simulation and data analytics. They must include down-sampling, post-processing, feature extraction, and visualization. Power and data transfer limitations require these analysis tasks to be run in-situ or in-transit. We expect successful workflows will comprise multiple linked simulations along with tens of analysis routines. Users will have limited development time at scale and, therefore, must have rich tools to develop, debug, test, and deploy applications. At this scale, successful workflows will compose linked computations from an assortment of reliable, well-defined computation elements, ones that can come and go as required, based on the needs of the workflow over time. We propose a novel framework that utilizes both virtual machines (VMs) and software containers to create a workflow system that establishes a uniform build and execution environment (BEE) beyond the capabilities of current systems. In this environment, applications will run reliably and repeatably across heterogeneous hardware and software. Containers, both commercial (Docker and Rocket) and open-source (LXC and LXD), define a runtime that isolates all software dependencies from the machine operating system. Workflows may contain multiple containers that run different operating systems, different software, and even different versions of the same software. We will run containers in open-source virtual machines (KVM) and emulators (QEMU) so that workflows run on any machine entirely in user-space. On this platform of containers and virtual machines, we will deliver workflow software that provides services, including repeatable execution, provenance, checkpointing, and future proofing. We will capture provenance about how containers were launched and how they interact to annotate workflows for repeatable and partial re-execution. We will coordinate the physical snapshots of virtual machines with parallel programming constructs, such as barriers, to automate checkpoint and restart. We will also integrate with HPC-specific container runtimes to gain access to accelerators and other specialized hardware to preserve native performance. Containers will link development to continuous integration. When application developers check code in, it will automatically be tested on a suite of different software and hardware architectures.

Guan, Qiang↗

Optimization of CCT Equations Using Calculated Grain Boundary Soluble Compositions for the Simulation of Austenite Decomposition of Steels

New CCT equations have been developed and optimized to simulate the start temperatures of the austenite decomposition process in low-alloyed steels using experimental CCT data published in the literature. Exceptionally, this optimization does not apply the nominal compositions of the steels, but the corresponding soluble compositions of the grain boundaries calculated using IDS software, depending on the reported austenitization treatments of the steels. These compositions, rather than the nominal ones, are expected to control the start of the austenite decomposition, which usually initiates at the grain boundaries. The new optimization treatment takes into account the solute microsegregation and the possible precipitate formation. Using IDS software, the new equations were validated with new experimental CCT data. Agreement was good not only for the austenite decomposition start temperatures, but also for the final phase fractions, indicating fairly reasonable predictions of phase transformation kinetics by the IDS. In addition, IDS simulations were compared with the experimental CCT data of five high-carbon steels, applying both the new equations based on grain boundary soluble compositions as well as the equations based on the nominal compositions. With the same experimental CCT data used in optimization, better agreement was obtained with the new equations, indicating the importance of determining the soluble compositions at the grain boundaries where the austenite decomposition process is likely to begin.

36 MATERIALS SCIENCE↗

Direct Writing of X-ray Gratings Using Zone-Plate-Array Lithography (ZPAL)

With the objective of providing the synchrotron and free-electron-laser communities with rapid turnaround and low prices for the highest quality and most advanced gratings and diffractive-focusing optics, LumArray has made specific improvements to its ZP-150 maskless photolithography system, which is based on Zone-Plate-Array Lithography (ZPAL), a technology unique to Lumarray. ZPAL’s advantages include an ability to correct in software for systematic patterning errors. Emphasis was placed on interferometric measurements of various contributors to patterning errors using Fizeau interferometry and a Mireau technique that was developed specifically for measuring errors within a micron-scale area. Average line-placement error was reduced below 20 nm using both pattern-file distortion and address-grid modification. The preferred implementation, address-grid modification, is hardware-based and requires no user intervention while also correcting more types of error. With continued iteration and refinement of the error measurements, we anticipate achieving global line-placement error below10nm. In order to investigate line-edge smoothness and high-frequency line-placement errors, a scheme for inspecting micron-sized areas was invented and implemented based on Mireau interferometry. This enabled the various contributions to be separately evaluated and measured. These included: exposure-dose variation, pattern-writing strategy and errors in the positioning of the microlenses. Deleterious crosstalk between microlenses was minimized via a pattern-dependent software modification. The impact of exposure threshold was revealed and adjustment made. The impact of address-grid fineness on line-edge roughness was likewise shown. Lastly, techniques were developed to measure and correct errors in the positioning of microlenses within the array. We expect final calibration of microlens positions to within 5nm.

42 ENGINEERING↗

AlphaBuilding ResCommunity: A multi-agent virtual testbed for community-level load coordination

Training and validating algorithms in a simulation testbed can accelerate research and applications of optimal control of residential loads to improve energy flexibility and grid resilience. We developed an open-source simulation environment, AlphaBuilding ResCommunity, that can be used to train and validate algorithms to control a single thermostatically controlled load (TCL) or coordinate a group of TCLs. We used reduced-order models to simulate the thermodynamics of TCLs, and the parameter values were determined from the connected smart thermostat data of real households. The environment was built upon the standardized OpenAI Gym interface. Ancillary functions, such as retrieving the parameters and weather forecasts, are provided to facilitate control strategies that require predictive information. Compared with existing efforts, AlphaBuilding ResCommunity has three advantages: (1) more realistic model settings because the parameter values are identified from actual household operating data, and modelling and measurement uncertainty are considered; (2) passive thermal storage control; and (3) ease of use due to a simple software dependency and standardized interface. We demonstrated the applications of the environment by implementing a Kalman Filter and Model Predictive Control on a single TCL and a Priority-Stack-Based Control and Alternating Direction Method of Multipliers to coordinate multiple TCLs for load tracking.

Wang, Z↗

Standards, dissemination, and best practices in systems biology

In this study, the reproducibility of scientific research is crucial to the success of the scientific method. Here, we review the current best practices when publishing mechanistic models in systems biology. We recommend, where possible, to use software engineering strategies such as testing, verification, validation, documentation, versioning, iterative development, and continuous integration. In addition, adhering to the Findable, Accessible, Interoperable, and Reusable modeling principles allows other scientists to collaborate and build off of each other’s work. Existing standards such as Systems Biology Markup Language, CellML, or Simulation Experiment Description Markup Language can greatly improve the likelihood that a published model is reproducible, especially if such models are deposited in well-established model repositories. Where models are published in executable programming languages, the source code and their data should be published as open-source in public code repositories together with any documentation and testing code. For complex models, we recommend container-based solutions where any software dependencies and the run-time context can be easily replicated.

59 BASIC BIOLOGICAL SCIENCES↗

Reproducibility in materials informatics: lessons from ‘A general-purpose machine learning framework for predicting properties of inorganic materials’

The integration of machine learning techniques in materials discovery has become prominent in materials science research and has been accompanied by an increasing trend towards open data and open-source tools to propel the field. Despite the increasing usefulness and capabilities of these tools, developers neglecting to follow reproducible practices presents a significant barrier for other researchers looking to use or build upon their work. In this study, we investigate the challenges encountered while attempting to reproduce a section of the results presented in “A general-purpose machine learning framework for predicting properties of inorganic materials.” Our analysis identifies four major categories of challenges: (1) reporting software dependencies, (2) recording and sharing version logs, (3) sequential code organization, and (4) clarifying code references within the manuscript. The result is a proposed set of tangible action items for those aiming to make material informatics tools accessible to, and useful for the community.

36 MATERIALS SCIENCE↗

iMicrobe: Tools and data-driven discovery platform for the microbiome sciences

Background: Scientists have amassed a wealth of microbiome datasets, making it possible to study microbes in biotic and abiotic systems on a population or planetary scale; however, this potential has not been fully realized given that the tools, datasets, and computation are available in diverse repositories and locations. To address this challenge, we developed iMicrobe.us, a community-driven microbiome data marketplace and tool exchange for users to integrate their own data and tools with those from the broader community. Findings: The iMicrobe platform brings together analysis tools and microbiome datasets by leveraging National Science Foundation–supported cyberinfrastructure and computing resources from CyVerse, Agave, and XSEDE. The primary purpose of iMicrobe is to provide users with a freely available, web-based platform to (1) maintain and share project data, metadata, and analysis products, (2) search for related public datasets, and (3) use and publish bioinformatics tools that run on highly scalable computing resources. Analysis tools are implemented in containers that encapsulate complex software dependencies and run on freely available XSEDE resources via the Agave API, which can retrieve datasets from the CyVerse Data Store or any web-accessible location (e.g., FTP, HTTP). Conclusions: iMicrobe promotes data integration, sharing, and community-driven tool development by making open source data and tools accessible to the research community in a web-based platform.

59 BASIC BIOLOGICAL SCIENCES↗

VIBES: a workflow for annotating and visualizing viral sequences integrated into bacterial genomes

Abstract Bacteriophages are viruses that infect bacteria. Many bacteriophages integrate their genomes into the bacterial chromosome and become prophages. Prophages may substantially burden or benefit host bacteria fitness, acting in some cases as parasites and in others as mutualists. Some prophages have been demonstrated to increase host virulence. The increasing ease of bacterial genome sequencing provides an opportunity to deeply explore prophage prevalence and insertion sites. Here we present VIBES (Viral Integrations in Bacterial genomES), a workflow intended to automate prophage annotation in complete bacterial genome sequences. VIBES provides additional context to prophage annotations by annotating bacterial genes and viral proteins in user-provided bacterial and viral genomes. The VIBES pipeline is implemented as a Nextflow-driven workflow, providing a simple, unified interface for execution on local, cluster and cloud computing environments. For each step of the pipeline, a container including all necessary software dependencies is provided. VIBES produces results in simple tab-separated format and generates intuitive and interactive visualizations for data exploration. Despite VIBES’s primary emphasis on prophage annotation, its generic alignment-based design allows it to be deployed as a general-purpose sequence similarity search manager. We demonstrate the utility of the VIBES prophage annotation workflow by searching for 178 Pf phage genomes across 1072 Pseudomonas spp. genomes.

59 BASIC BIOLOGICAL SCIENCES↗

Scoreboard

Emerging HPC machines have given rise to enhanced compute power that far outstrips the machine's ability to save large scale results for post-processing. To combat this, in situ data analysis techniques are slowly being adopted. With in situ data management favoring workflows composed of multiple simulations and analyses connected in transit on heterogeneous machines, scientists and engineers need a tool that enables them to create data extracts, visualizations, and interactively monitor and steer their simulations. Scoreboard Phase II is a next generation analysis software that supports composite in transit workflows on heterogeneous architectures and restores interactivity to in situ data analysis through simulation monitoring and computational steering. Scoreboard provides a simulation dashboard with graphs of metrics over time, controls for setting custom simulation steering parameters, controls for managing the set of data extracts being produced in the simulation, as well as the ability to explore data extracts, all from a web browser. Realizing the vision outlined in this project required research into making a system that integrates end to end from simulations all the way to the user. In situ tools generally suffer from complexity and excessive software dependencies. Scoreboard, by contrast, is easy to build and integrate into simulation codes and it provides first class FORTRAN support. The Scoreboard library is capable of in situ and in transit data analysis that can produce data extracts commonly needed for Computational Fluid Dynamics (CFD) analysis. Simulations can transparently stage data in transit to a Scoreboard Endpoint program, which can accept their data and produce the requested data extracts. This lets simulations return to their work while the Endpoint works on the analysis. Efficiently staging the data at scale was a topic of this research. Scoreboard provides the means to let the user manage data extracts and monitor/steer many simulations from a web browser. This area of the research focused on discovery of in transit network components to expose and control their steering parameters within an interactive browser-based user interface that includes: system topology, gathered metrics, notifications, dynamically-generated steering controls, and exploration of visualization data products.

Whitlock, BradJoseph [Intelligent Light] (00000001↗

Python Robust Phase Estimation (PyRPE)

Robust Phase Estimation (RPE) is a quantum algorithm to determine the relative phases of eigenstates of a unitary operator. This code implements the classical portion of the RPE algorithm, useful both in simulation (e.g., Sandia's pyGSTi or IBM's Qiskit simulators) and on actual quantum hardware (e.g., IBM's Qiskit Quantum Experience). It additionally implements improvements in these dependent software packages, for both required core function of the RPE and improved usability. SAND2020-12547 M Sandia National Laboratories is a multimission laboratory managed and operated by National Technology & Engineering Solutions of Sandia, LLC, a wholly owned subsidiary of Honeywell International Inc., for the U.S. Department of Energy's National Nuclear Security Administration under contract DE-NA0003525.

Russo, Antonio↗

Build Guide for the Geophysical Monitoring System (GMS) Common Source Code 2019 Release

This document provides a "Build Guide" for a Generic Runnable System (GRS) of the Geophysical Monitoring Systems (GMS) common source code. This guide includes a list of software dependencies and licenses, hardware specifications, and instructions for how to build the system from the source code. The document is written for individuals who are experienced as administrators of Linux systems.

58 GEOSCIENCES↗

Preliminary Build Guide for the Geophysical Monitoring Systems Common Source Code. 2019 Release

The purpose of this document to provide an advance copy of a "Build Guide" for a Generic Runnable System (GRS) of the Geophysical Monitoring Systems' (GMS) common source code. This guide includes a list of software dependencies and licenses, hardware specifications, and related instructions for how to build the system from the source code. The document is written for individuals who are experienced as administrators of Linux systems. The intention is to support preparation activities prior to the open source release so that dependencies may be in place to build and run the system. This document will be updated and provided with the open source release on GitHub, accompanied by a "Run Guide" for the system. An additional "Configuration Guide" will also be provided after the open source release so that users may explore system configuration options.

58 GEOSCIENCES↗

VC3: Virtual Clusters for Community Computation (Final Technical Report)

A traditional HPC computing facility provides a large amount of computing power but has a fixed environment designed to satisfy local needs. This makes it very challenging for users to deploy complex applications that span multiple sites and require specific application software, scheduling middleware, or sharing policies. This project addressed many of these challenges by making it possible for researchers to easily aggregate and share resources, install custom software environments, and deploy clustering frameworks across multiple HPC facilities through the concept of “virtual clusters”. We designed and implemented a prototype virtual cluster facility that enabled unprivileged users to create dynamic aggregations of computing power across multiple sites, deployed with custom middleware and complex software dependencies.

97 MATHEMATICS AND COMPUTING↗

External Release of Organic Scintillator DRiFT Software - Technology Evaluation and Demonstration Project Accomplishments [Slides]

Overview and Objectives: DRiFT post processes radiation transport output from MCNP, and generates realistic nuclear instrumentation response; Organic scintillator response has been developed, tested, and validated with measurements, these instruments are widely used in nuclear safeguards. At the beginning of this project, DRiFT was only available to LANL employees with access to yellow High Performance Computing clusters. Additionally, there are many complicated external software dependencies. Our TED project request proposed using funds to: Comment and clean up code, friendly testing, generating test suites and examples; Expansion of scintillator types natively supported by DRiFT; External release of DRiFT accompanied by documentation. We accomplished all objectives (and many others), they are highlighted in these slides.

73 NUCLEAR PHYSICS AND RADIATION PHYSICS↗

VC3: Virtual Clusters for Community Computation

A traditional HPC computing facility provides a large amount of computing power but has a fixed environment designed to satisfy local needs. This makes it very challenging for users to deploy complex applications that span multiple sites and require specific application software, scheduling middleware, or sharing policies. This project addressed many of these challenges by making it possible for researchers to easily aggregate and share resources, install custom software environments, and deploy clustering frameworks across multiple HPC facilities through the concept of “virtual clusters”. We designed and implemented a prototype virtual cluster facility that enabled unprivileged users to create dynamic aggregations of computing power across multiple sites, deployed with custom middleware and complex software dependencies. This service is hosted at the University of Chicago and available through the site virtualclusters.org.

97 MATHEMATICS AND COMPUTING↗

\texttt{qec\_code\_sim}: An open-source Python framework for estimating the effectiveness of quantum-error correcting codes on superconducting qubits

Quantum computers are highly susceptible to errors due to unintended interactions with their environment. It is crucial to correct these errors without gaining information about the quantum state, which would result in its destruction through back-action. Quantum Error Correction (QEC) provides information about occurred errors without compromising the quantum state of the system. However, the implementation of QEC has proven to be challenging due to the current performance levels of qubits -- break-even requires fabrication and operation quality that is beyond the state-of-the-art. Understanding how qubit performance factors into the success of a QEC code is a valuable exercise for tracking progress towards fault-tolerant quantum computing. Here we present \texttt{qec\_code\_sim}, an open-source, lightweight Python framework for studying the performance of small quantum error correcting codes under the influence of a realistic error model appropriate for superconducting transmon qubits, with the goal of enabling useful hardware studies and experiments. \texttt{qec\_code\_sim} requires minimal software dependencies and prioritizes ease of use, ease of change, and pedagogy over execution speed. As such, it is a tool well-suited to small teams studying systems on the order of one dozen qubits.

Lopez, Santiago↗