Engineering Papers⌕ Search

SEARCH · Engineering Papers

Results for “software differences”

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 181 records · Page 10

Portable EDITOR (PEDITOR): A portable image processing system

The PEDITOR image processing system was created to be readily transferable from one type of computer system to another. While nearly identical in function and operation to its predecessor, EDITOR, PEDITOR employs additional techniques which greatly enhance its portability. These cover system structure and processing. In order to confirm the portability of the software system, two different types of computer systems running greatly differing operating systems were used as target machines. A DEC-20 computer running the TOPS-20 operating system and using a Pascal Compiler was utilized for initial code development. The remaining programmers used a Motorola Corporation 68000-based Forward Technology FT-3000 supermicrocomputer running the UNIX-based XENIX operating system and using the Silicon Valley Software Pascal compiler and the XENIX C compiler for their initial code development.

Angelici, G.↗

Proposal for hierarchical description of software systems

The programming of digital computers has developed into a new dimension full of diffculties, because the hardware of computers has become so powerful that more complex applications are entrusted to computers. The costs of software development, verification, and maintenance are outpacing those of the hardware and the trend is toward futher increase of sophistication of application of computers and consequently of sophistication of software. To obtain better visibility into software systems and to improve the structure of software systems for better tests, verification, and maintenance, a clear, but rigorous description and documentation of software is needed. The purpose of the report is to extend the present methods in order to obtain a documentation that better reflects the interplay between the various components and functions of a software system at different levels of detail without losing the precision in expression. This is done by the use of block diagrams, sequence diagrams, and cross-reference charts. In the appendices, examples from an actual large sofware system, i.e. the Marshall System for Aerospace Systems Simulation (MARSYAS), are presented. The proposed documentation structure is compatible to automation of updating significant portions of the documentation for better software change control.

Thauboth, H.↗

Embedded Web Technology: Applying World Wide Web Standards to Embedded Systems

Embedded Systems have traditionally been developed in a highly customized manner. The user interface hardware and software along with the interface to the embedded system are typically unique to the system for which they are built, resulting in extra cost to the system in terms of development time and maintenance effort. World Wide Web standards have been developed in the passed ten years with the goal of allowing servers and clients to intemperate seamlessly. The client and server systems can consist of differing hardware and software platforms but the World Wide Web standards allow them to interface without knowing about the details of system at the other end of the interface. Embedded Web Technology is the merging of Embedded Systems with the World Wide Web. Embedded Web Technology decreases the cost of developing and maintaining the user interface by allowing the user to interface to the embedded system through a web browser running on a standard personal computer. Embedded Web Technology can also be used to simplify an Embedded System's internal network.

Ponyik, Joseph G.↗

CLARAty Functional-Layer Software

Functional-layer software for the Coupled Layer Architecture for Robotics Autonomy (CLARAty) is being developed. [CLARAty was described in Coupled-Layer Architecture for Advanced Software for Robots (NPO-21218), NASA Tech Briefs, Vol. 26, No. 12 (December 2002), page 48. To recapitulate: CLARAty was proposed to improve the modularity of robotic software while tightening the coupling between planning/execution and control subsystems. Whereas prior robotic software architectures have typically contained three levels, the CLARAty architecture contains two layers: a decision layer and a functional layer.] Just as an operating system provides abstraction from computational hardware, the CLARAty functional-layer software provides for abstraction for the different robotic systems. The functional-layer software establishes interrelated, object-oriented hierarchies that contain active and passive objects that represent the different levels of system abstrations and components. The functional-layer software is decomposed into a set of reusable core components and a set of extended components that adapt the reusable set to specific hardware implementations. The reusable components (a) provide behavior and interface definitions and implementations of basic functionality, (b) provide local executive capabilities, (c) manage local resources, and (d) support state and resource queries by the decision layer. Software for robotic systems can be built by use of these components.

Nesnas, Issa↗

Analysis of faults in an N-version software experiment

The authors have conducted a large-scale experiment in N-version programming. A total of 27 versions of a program were prepared independently from the same specification at two universities. The results of executing the versions revealed that the versions were individually extremely reliable but that the number of input cases in which more than one failed was substantially more than would be expected if they were statistically independent. After the versions had been executed, the failures of each version were examined and the associated faults located. The analysis showed that in some cases the programmers made equivalent logical errors, indicating that some parts of the problem were simply more difficult than others. The authors also found cases in which apparently different logical errors yielded faults that caused statistically correlated failures, indicating that there are special cases in the input space that present difficulty in various parts of the solution. A formal model is presented to explain this phenomenon. It appears that minor differences in the software development environment would not have a major impact in reducing the incidence of faults that cause correlated failures.

Brilliant, Susan S.↗

MTUQ: a framework for estimating moment tensors, point forces, and their uncertainties

SUMMARY We introduce MTUQ, an open-source Python package for seismic source estimation and uncertainty quantification, emphasizing flexibility and operational scalability. MTUQ provides MPI-parallelized grid search and global optimization capabilities, compatibility with 1-D and 3-D Green’s function database formats, customizable data processing, C-accelerated waveform and first-motion polarity misfit functions, and utilities for plotting seismic waveforms and visualizing misfit and likelihood surfaces. Applicability to a range of full- and constrained-moment tensor, point force, and centroid inversion problems is possible via a documented application programming interface, accompanied by example scripts and integration tests. We demonstrate the software using three different types of seismic events: (1) a 2009 intraslab earthquake near Anchorage, Alaska; (2) an episode of the 2021 Barry Arm landslide in Alaska; and (3) the 2017 Democratic People’s Republic of Korea underground nuclear test. With these events, we illustrate the well-known complementary character of body waves, surface waves, and polarities for constraining source parameters. We also convey the distinct misfit patterns that arise from each individual data type, the importance of uncertainty quantification for detecting multimodal or otherwise poorly constrained solutions, and the software’s flexible, modular design.

58 GEOSCIENCES↗

ABM Drag_Pass Report Generator

dragREPORT software was developed in parallel with abmREPORT, which is described in the preceding article. Both programs were built on the capabilities created during that process. This tool generates a drag_pass report that summarizes vital information from the MRO aerobreaking drag_pass build process to facilitate both sequence reviews and provide a high-level summarization of the sequence for mission management. The script extracts information from the ENV, SSF, FRF, SCMFmax, and OPTG files, presenting them in a single, easy-to-check report providing the majority of parameters needed for cross check and verification as part of the sequence review process. Prior to dragReport, all the needed information was spread across a number of different files, each in a different format. This software is a Perl script that extracts vital summarization information and build-process details from a number of source files into a single, concise report format used to aid the MPST sequence review process and to provide a high-level summarization of the sequence for mission management reference. This software could be adapted for future aerobraking missions to provide similar reports, review and summarization information.

Fisher, Forest↗

Improving ICARUS Track Reconstruction Algorithms

The ICARUS experiment is part of the Short-Baseline Neutrino (SBN) program at Fermilab. The main goal of the experiment is to investigate the possibility of sterile neutrinos in the O(1 eV) mass region and provide clarification of the anomaly detected from the Liquid Scintillator Neutrino Detector (LSND) and MiniBooNE experiments. The ICARUS-T600 detector is a Liquid Argon Time Projection Chamber (LAr-TPC), that can provide excellent 3D imaging and calorimetric reconstruction of any ionizing particles. This detection technique allows a detailed study of neutrino interactions, spanning a wide energy spectrum (from a few keV to several hundreds of GeV). The detector consists of two identical adjacent modules, filled with a total of 760 tons of ultra-pure liquid argon. Each module houses two LAr-TPCs separated by a common cathode with a maximum drift distance of 1.5 m, equivalent to about 1 ms drift time for the nominal $500$ V/m electric drift field. The anode is made of three parallel wire planes positioned 3 mm apart, where the stainless-steel wires are oriented on each plane at a different angle with respect to the horizontal direction ($+60^\degree$,$-60^\degree$,$0^\degree$). The first two planes (Induction 1 and Induction 2) provide a non-destructive charge measurement, whereas the ionization charge is fully collected by the last collection plane. In total, 53248 wires with a 3 mm pitch and length up to 9 m are installed in the detector. In the first stage of the reconstruction, segments of waveforms corresponding to physical signals (hits) are searched for in the deconvolved wire waveform with a threshold-based hit-finding algorithm. Each hit is then fitted with a Gaussian, whose area is proportional to the number of drift electrons generating the signal. In the second stage of the reconstruction, hits are passed as input to Pandora, a framework software composed of different pattern recognition algorithms, that performs a 3D reconstruction of the full image recorded in the collected event, including the identification of interaction vertices and tracks and showers inside the TPC. These are organized into a hierarchical structure (called slice) of particles generated starting from a primary interaction vertex. In some cases, related to the inefficiencies in the hit detection or excessive deflection of the particle trajectory, Pandora breaks the particle's track into two or more smaller pieces and considers each piece as an independent track. We studied this phenomenon focusing on primary muons from ν_μ CC interactions contained in a single module with a track at least 20 cm long, to exclude delta rays. The study determined that about $7-8\%$ of the muon tracks are broken. Approximately $80\%$ of the times, Pandora assigns all segments of the track to the same slice (intra-slice track split), while in the remaining $20\%$ of the cases, one of the segments is associated with another slice (extra-slice track split). To mitigate this phenomenon, we designed an algorithm that detects and stitches the tracks broken by Pandora for the intra-slice split. In Monte Carlo simulations, the algorithm showed an efficiency exceeding $80\%$ and a purity exceeding $93\%$.

Ricci, Alessandro Maria [Pisa U.; INFN, Pisa] (ORC↗

Scalable, In-situ Data Clustering Data Analysis for Extreme Scale Scientific Computing (Final Report)

The objective of this project is to address challenges in the design and development of scalable in-situ data clustering and analytics algorithms and software. Our goal is to develop parallel software consisting of a set of spatio-temporal data clustering and anomaly detection functions, both of which are very important for large-scale analysis and have wide applicability for in-situ runs as well as post-processing analysis. Our design principles for in-situ analysis consider the following: (1) identify parts of the computation can be done close to the data within the nodes, while it is still in memory; (2) extract analysis components can (and should) be performed in remote staging and analysis nodes; (3) develop error-bound approximation methods for applications tolerable for small errors; (4) identify the type of derived distributions and statistics, for spatio-temporal data, that can be kept locally in order to both accelerate computations and meet energy constraints in subsequent iterations and phases; (5) use a self-describing data format so that data can be consistent and understood among local storage (memory and SSDs) and at staging and analysis nodes, thereby providing portability and flexibility; (6) develop service-oriented functions that can schedule in-situ and post-hoc analysis tasks based on the dynamic requirements of applications. Our development focus is to produce the parallel data analysis software/library that will be scalable, reusable, extensible, and generic for applications in different disciplines. The software will be able to run in-situ with the simulations as well as post-hoc analysis. This approach will satisfy many synergistic requirements for data intensive applications executed on data coming from instruments and experiments. In particular, the proposed multilevel approach is directly applicable to perform design tradeoffs for running part of the algorithms near the instruments and the rest on remote (analysis) systems.

97 MATHEMATICS AND COMPUTING↗

Improving the accessibility and transferability of machine learning algorithms for identification of animals in camera trap images: MLWIC2

Motion-activated wildlife cameras (or “camera traps”) are frequently used to remotely and noninvasively observe animals. The vast number of images collected from camera trap projects has prompted some biologists to employ machine learning algorithms to automatically recognize species in these images, or at least filter-out images that do not contain animals. These approaches are often limited by model transferability, as a model trained to recognize species from one location might not work as well for the same species in different locations. Furthermore, these methods often require advanced computational skills, making them inaccessible to many biologists. We used 3 million camera trap images from 18 studies in 10 states across the United States of America to train two deep neural networks, one that recognizes 58 species, the “species model,” and one that determines if an image is empty or if it contains an animal, the “empty-animal model.” Our species model and empty-animal model had accuracies of 96.8% and 97.3%, respectively. Furthermore, the models performed well on some out-of-sample datasets, as the species model had 91% accuracy on species from Canada (accuracy range 36%–91% across all out-of-sample datasets) and the empty-animal model achieved an accuracy of 91%–94% on out-of-sample datasets from different continents. Our software addresses some of the limitations of using machine learning to classify images from camera traps. By including many species from several locations, our species model is potentially applicable to many camera trap studies in North America. We also found that our empty-animal model can facilitate removal of images without animals globally. We provide the trained models in an R package (MLWIC2: Machine Learning for Wildlife Image Classification in R), which contains Shiny Applications that allow scientists with minimal programming experience to use trained models and train new models in six neural network architectures with varying depths.

59 BASIC BIOLOGICAL SCIENCES↗

Cross-Code verification and sensitivity analysis to effectively model the electrothermal instability

This manuscript presents verification cases that are developed to study the electrothermal instability (ETI). Specific verification cases are included to ensure that the unit physics components necessary to model the ETI are accurate, providing a path for fluid-based codes to effectively simulate ETI in the linear and nonlinear growth regimes. Two software frameworks with different algorithmic approaches are compared for accuracy in their ability to simulate diffusion of a magnetic field, linear growth of the ETI, and a fully nonlinear ETI evolution. The nonlinear ETI simulations show early time agreement, with some differences emerging, as noted in the wavenumber spectrum, late into the nonlinear development of ETI. Here, a sensitivity study explores the role of equation-of-state (EOS), vacuum density, and vacuum resistivity. EOS and vacuum resistivity are found to be the most critical factors in the modeling of nonlinear ETI development.

72 PHYSICS OF ELEMENTARY PARTICLES AND FIELDS↗

Uncovering I/O demands on HPC platforms: Peeking under the hood of Santos Dumont

High-Performance Computing (HPC) platforms are required to solve the most diverse large-scale scientific problems in various research areas, such as biology, chemistry, physics, and health sciences. Researchers use a multitude of scientific softwares, which have different requirements. These include input and output operations, which directly impact performance due to the existing difference in processing and data access speeds. Thus, supercomputers must efficiently handle mixed workload when storing data from the applications. Understanding the set of applications and their performance running in a supercomputer is paramount to understanding the storage system's usage, pinpointing possible bottlenecks, and guiding optimization techniques. This research proposes a methodology and visualization tool to evaluate a supercomputer's data storage infrastructure's performance, taking into account the diverse workload and demands of the system over a long period of operation. As a study case, we focus on the Santos Dumont supercomputer, identifying inefficient usage, problematic performance factors, and providing guidelines on how to tackle those issues.

97 MATHEMATICS AND COMPUTING↗

Sparse thermal data for cellular automata modeling of grain structure in additive manufacturing

Grain growth in the wake of the melt pool formed during alloy-based additive manufacturing (AM) is complex and multifaceted, depending on parameters governing heat transport, fluid flow, and solidification itself. Cellular automata (CA) models have proven effective in providing computationally efficient and physically sound predictions of grain structure for several AM problems, but their efficiency is tied to the performance of heat transport models. CA models use only a small portion of the problem's temperature data (near the moving melt pool boundary), and much of the CA calculations do not affect the final result due to re-melting of material. Coupling of and communication between heat transport and solidification models, and eliminating operations irrelevant towards final grain structure prediction, will be necessary for using these methods for efficient simulation of large parts. In this work, we introduce a procedure of decoupling the CA from temperature field simulation, using files of relevant temperature data written by the heat transport model. This approach is validated against the standard coupling approach using data obtained through the computational fluid dynamics software OpenFOAM. Negligible differences are seen in grain size, volume, and texture distributions for multilayer simulation of test problems, while the quantity of temperature data for these test problems was reduced by four orders of magnitude (from 100s of GB to 10s of MB) and the code performance sped up by a factor of around 50. Furthermore, variability in microstructure as a function of cell size, substrate, time step, and nucleation parameters is studied, and it is found that cell sizes less than or equal to 1.67 μm and sufficiently small time steps yield Αstatistically equivalent microstructures. Finally, a potential use case for this CA approach—the layer-wise convergence in grain structure starting from extremes in initial grain size—is examined. This approach's ability to simulate expected trends in nucleation and epitaxial grain growth for large regions of microstructure, simulated independently of heat transport models themselves, should prove useful for investigation of various microstructure uncertainties and prediction of part-scale experimental results.

36 MATERIALS SCIENCE↗

Performance Evaluation of Adaptive Routing on Dragonfly-based Production Systems

Performance of applications in production environments can he sensitive to network congestion. Cray Aries supports adaptively routing each network packet independently based on the load or congestion encountered as a packet traverses the network. Software can dictate different routing policies, adjusting between minimal and non-minimal bias, for each posted message. We have extensively evaluated the sensitivity of the routing bias selection on application performance as well as whole system performance in both production and controlled conditions. We show that the default routing bias used in Aries-based systems is often sub-optimal and that using a higher bias towards minimal routes will not only reduce the congestion effects on the application but also will decrease the overall congestion on the network. This routing scheme results in not only improved mean performance (by up to 12%) of most production applications hut also reduced run-to-run variability. Our study prompted the two supercomputing facilities (ALCF and NERSC) to change the default routing mode on their Aries-based systems. We present the substantial improvement measured in the overall congestion management and interconnect performance in production after making this change.

Chunduri, Sudheer↗

Sampling on NISQ Devices: "Who’s the Fairest One of All?"

Modern NISQ devices are subject to a variety of biases and sources of noise that degrade the solution quality of computations carried out on these devices. A natural question that arises in the NISQ era, is how fairly do these devices sample ground state solutions. To this end, we run five fair sampling problems (each with at least three ground state solutions) that are based both on quantum annealing and, on the Grover Mixer, -QAOA algorithm for gate-based NISQ hardware. In particular, we use seven IBM Q devices, the Aspen-9 Rigetti device, the IonQ device, and three D-Wave quantum annealers. For each of the fair sampling problems, we measure the ground state probability, the relative fairness of the frequency of each ground state solution with respect to the other ground state solutions, and the aggregate error as given by each hardware provider. Overall, our results show that NISQ devices do not achieve fair sampling yet. Furthermore, we also observe differences in the software stack with a particular focus on compilation techniques that illustrate what work will still need to be done to achieve a seamless integration of frontend (i.e., quantum circuit description) and backend compilation.

Computer Science↗

UFO 2.0: the ‘Universal Feynman Output’ format

Abstract We present an update of the Universal FeynRules Output model format, commonly known as the UFO format, that is used by several automated matrix-element generators and high-energy physics software. We detail different features that have been proposed as extensions of the initial format during the last ten years, and collect them in the current second version of the model format that we coin the Universal Feynman Output format. Following the initial philosophy of the UFO, they consist of flexible and modular additions to address particle decays, custom propagators, form factors, the renormalisation group running of parameters and masses, and higher-order quantum corrections.

72 PHYSICS OF ELEMENTARY PARTICLES AND FIELDS↗

m2p (Monomers to Polymers)

The software is Python-based code that takes monomers, represented as SMILES, and "reacts" them together to form long polymer chains, represented as SMILES, based on known polymer chemistries. The software is used in a machine-learning pipeline where a database and machine-learning approaches are used to predict polymer properties base on molecular structure. This software is necessary to represent the polymer chain, instead of simple repeat units, as the software statistically represents different molecular architectures that occur during reactions (e.g. head-to-head, head-to-tail, and tail-to-tail). It is capable of building polymer chains with five different chemistries: vinyl/olefin, polyamide, polycarbonate, polyester, and polyimides. The user is able to specify different monomer pairings and degree of polymerization for different polymer chains.

Wilson, Nolan↗

Large Program Design [Slides]

A slideshow presentation describing how different writing small software coding projects is from writing large software coding projects. It can be OK to just throw together code that is small, single-purpose, and short-lived, but there's more need for good design if the code has to live longer, give highly reliable results, be easy to use, get bigger/cover more physics, cover more application domains. Larger projects also need good code if they are to have more widely-distributed users, have more developers work on it, run larger problems, or run on new architectures.

97 MATHEMATICS AND COMPUTING↗