Search NASA⌕ Search

SEARCH · Search NASA

Results for “software development practice”

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 343 records · Page 19

Investigating Scientific Data Change with User Research Methods

Scientific datasets are continually expanding and changing due to fluctuations with instruments, quality assessment and quality control processes, and modifications to software pipelines. Datasets include minimal information about these changes or their effects requiring scientists manually assess modifications through a number of labor intensive and ad-hoc steps. The Deduce project is investigating data change to develop metrics, methods, and tools that will help scientists systematically identify and make decisions around data changes. Currently, there is a lack of understanding, and common practices, for identifying and evaluating changes in datasets since systematically measuring and managing data change is under explored in scientific work. We are conducting user research to address this need by exploring scientist's conceptualizations, behaviors, needs, and motivations when dealing with changing datasets. Our user research utilizes multiple methods to produce foundational, generative insights and evaluate research products produced by our team. In this paper, we detail our user research process and outline our findings about data change that emerge from our studies. Our work illustrates how scientific software teams can push beyond just usability testing user interfaces or tools to better probe the underlying ideas they are developing solutions to address.

96 KNOWLEDGE MANAGEMENT AND PRESERVATION↗

QUANT-NET Control Plane Framework (QNCP) v1.0.0

The QUANT-NET Control Plane (QNCP) provides a software framework for expressing and managing quantum network resources. It may be used to orchestrate a physical quantum testbed with real device driver implementations, or it may be used as a proving ground when developing new protocols and management functions. In practice, both approaches may be useful when undertaking research and development in emerging quantum testbeds. While a number of control systems have been developed for specific quantum platform demonstrations, an openly available and general solution for operating quantum networks has not emerged. QNCP is designed to fill this gap. The framework has been designed to provide extensible, modular capabilities that include scheduling, routing, monitoring, and pluggable protocols. A number of reference implementations in each module category have been included in the installable packages; however, the intent is that each of these modules may be extended or re-implemented to meet the needs of the particular deployment or research need. The software is currently being used in the QUANT-NET testbed project, which spans resources between LBNL and UC Berkeley Physics.

Zhang, Liang [Lawrence Berkeley National Laborator↗

Towards Digital and Performance-Based Supervisory HVAC Control Delivery

Upgrading supervisory HVAC control in commercial buildings is one of the most attractive decarbonization tools at our disposal. Modern controls are software programs and can in theory be deployed at scale and with a low up-front carbon "pulse". In practice, however, control delivery is a disjointed and inefficient process, dominated by manual handoffs of imprecise English language documents. A particularly high barrier exists between control implementation and building energy modeling (BEM) which results in control sequences typically not being tested for correctness or performance before implementation. Together with industry partners, DOE and the national labs are developing an ecosystem of tools and standards that can support fully digital performance-based control delivery workflows. This paper describes this ecosystem, which consists of three mutually supportive efforts. Semantic models of buildings and their systems enable automatic configuration and installation of control software. Platform-neutral control descriptions separate control algorithms from control platforms and enable the creation of libraries of reference control implementations. Dynamic whole-building energy-control simulation that can execute physically realistic control sequences makes it possible to test and evaluate the performance of control sequences and then directly compile them for installation and execution in control systems. In addition to digitizing and streamlining project-level control delivery, these standards and related software support benchmarking of control algorithms, both rule-based and optimization-based, and help to both advance the state of the art and to implement ratings and programs that encourage the adoption of high-performance control.

building controls↗

Big-data Efficient and Automated Science Transfer (BEAST): An Open-Source Software Architecture for Arc Jet Data Management, Modeling, and Automation

Big-data Efficient and Automated Science Transfer (BEAST) is a facility data management application developed for the NASA Ames arc jet facilities. The current decentralized data management practices limit statistical tracking, synchronization between video/time series, search capability, data throughput, and data processing speed/efficiency. Consequently, BEAST was developed to provide a new data infrastructure with streamlined data collection, processing, transfer, and analysis. This new framework also seeks to implement the FAIR principles of data stewardship: Findable, Accessible, Interoperable, and Reusable. The BEAST framework is based on a combination of the Python Django web framework and the Python data stack to provide a monolithic, open-source platform for data management, automation, and machine learning. This architecture was chosen for maintainability and scalability for a small, in-house development team. This paper will describe the application framework, deployment, and discuss the benefits and future plans for the system.

Data management↗

Fast and versatile sequence-independent protein docking for nanomaterials design using RPXDock

Computationally designed multi-subunit assemblies have shown considerable promise for a variety of applications, including a new generation of potent vaccines. One of the major routes to such materials is rigid body sequence-independent docking of cyclic oligomers into architectures with point group or lattice symmetries. Current methods for docking and designing such assemblies are tailored to specific classes of symmetry and are difficult to modify for novel applications. Here we describe RPXDock, a fast, flexible, and modular software package for sequence-independent rigid-body protein docking across a wide range of symmetric architectures that is easily customizable for further development. RPXDock uses an efficient hierarchical search and a residue-pair transform ( RPX ) scoring method to rapidly search through multidimensional docking space. We describe the structure of the software, provide practical guidelines for its use, and describe the available functionalities including a variety of score functions and filtering tools that can be used to guide and refine docking results towards desired configurations.

59 BASIC BIOLOGICAL SCIENCES↗

AGGREGATE: dAta-driven modelinG preservinG contRollable dEr for outaGe mAnagemenT and rEsiliency (Report for Task 14: Model Verification/Validation Test Plan (Deliverable D10))

This report summarizes the technical progress and validation plan for each of AGGREGATE project modules, and integrated modules. The overall validation plan can be divided into two major parts. Firstly, it provides offline validation results of each module using the IEEE-123 node distribution system with certain modifications to support individual module results verification. The offline validation plan tentatively validated the usability and practicability of developed AGGREGATE tools. Secondly, the realworld test system - Seattle City Light (SCL) test feeder for verifying each module and the integrated modules using GE advanced distribution management system (ADMS) software.

42 ENGINEERING↗

An interactive system for analysis of global cloud imagery

Synoptic images of the global cloud pattern composited from six contemporaneous satellites provide an unprecedented view of the global cloud field. Having horizontal resolution of about 0.5 deg and temporal resolution of 3 h, the global cloud imagery (GCI) resolves most of the variability of organized convection, including several harmonics of the diurnal cycle. Although the GCI has these attractive features, the dense and 3D nature of that data make it a formidable volume of information to treat in a practical and efficient manner. An interactive image-analysis system (IAS) has been developed to investigate the space-time variability of global cloud behavior. In the IAS, data, hardware, and software are integrated into a single system providing a variety of space-time covariance analyses in a menu-driven format. Owing to its customized architecture and certain homogeneous properties of the GCI, the IAS calculates such quantities effectively. Many covariance statistics are derived from 3D data with interactive speed, allowing the user to interrogate the archive iteratively in a single session. The 3D nature of those analyses and the speed with which they are performed distinguish the IAS from conventional image processing of 2D data.

Woodberry, Karen↗

Design, Qualification, and On Orbit Performance of the CALIPSO Aerosol Lidar Transmitter

The laser transmitter for the CALIPSO aerosol lidar mission has been operating on orbit as planned since June 2006. This document discusses the optical and laser system design and qualification process that led to this success. Space-qualifiable laser design guidelines included the use of mature laser technologies, the use of alignment sensitive resonator designs, the development and practice of stringent contamination control procedures, the operation of all optical components at appropriately derated levels, and the proper budgeting for the space-qualification of the electronics and software.

Hovis, Floyd E.↗

Assessment of Suited Reach Envelope in an Underwater Environment

Predicting the performance of a crewmember in an extravehicular activity (EVA) space suit presents unique challenges. The kinematic patterns of suited motions are difficult to reproduce in gravity. Additionally, 3-D suited kinematics have been practically and technically difficult to quantify in an underwater environment, in which crewmembers are commonly trained and assessed for performance. The goal of this study is to develop a hardware and software system to predictively evaluate the kinematic mobility of suited crewmembers, by measuring the 3-D reach envelope of the suit in an underwater environment. This work is ultimately aimed at developing quantitative metrics to compare the mobility of the existing Extravehicular Mobility Unit (EMU) to newly developed space suit, such as the Z-2. The EMU has been extensively used at NASA since 1981 for EVA outside the Space Shuttle and International Space Station. The Z-2 suit is NASA's newest prototype space suit. The suit is comprised of new upper torso and lower torso architectures, which were designed to improve test subject mobility.

Kim, Han↗

Sensor Web for Spatio-Temporal Monitoring of a Hydrological Environment

The Sensor Web is a macroinstrument concept that allows for the spatio-temporal understanding of an environment through coordinated efforts between multiple numbers and types of sensing platforms, including, in its most general form, both orbital and terrestrial and both fixed and mobile. Each of these platforms, or pods, communicates within its local neighborhood and thus distributes information to the instrument as a whole. The result of sharing and continual processing of this information among all the Sensor Web elements will result in an information flow and a global perception of and reactive capability to the environment. As illustrated, the Sensor Web concept also allows for the recursive notion of a web of webs with individual distributed instruments possibly playing the role of a single node point on a larger Sensor Web instrument. In particular, the fusion of inexpensive, yet sophisticated, commercial technology from both the computation and telecommunication revolutions has enabled the development of practical, fielded, and embedded in situ systems that have been the focus of the NASA/JPL Sensor Webs Project (http://sensorwebs.jpl.nasa.gov/). These Sensor Webs are complete systems consisting of not only the pod elements that wirelessly communicate among themselves, but also interfacing and archiving software that allows for easy use by the end-user. Previous successful deployments have included environments as diverse as coastal regions, Antarctica, and desert areas. The Sensor Web has broad implications for Earth and planetary science and will revolutionize the way experiments and missions are conceived and performed. As part of our current efforts to develop a macrointelligence within the system, we have deployed a Sensor Web at the Central Avra Valley Storage and Recovery Project (CAVSARP) facility located west of Tucson, AZ. This particular site was selected because it is ideal for studying spatio-temporal phenomena and for providing a test site for more sophisticated hydrological studies in the future.

Delin, K. A.↗

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↗

Ada software productivity prototypes: A case study

A case study of the impact of Ada on a Command and Control project completed at the Jet Propulsion Laboratory (JPL) is given. The data for this study was collected as part of a general survey of software costs and productivity at JPL and other NASA sites. The task analyzed is a successful example of the use of rapid prototyping as applied to command and control for the U.S. Air Force and provides the U.S. Air Force Military Airlift Command with the ability to track aircraft, air crews and payloads worldwide. The task consists of a replicated database at several globally distributed sites. The local databases at each site can be updated within seconds after changes are entered at any one site. The system must be able to handle up to 400,000 activities per day. There are currently seven sites, each with a local area network of computers and a variety of user displays; the local area networks are tied together into a single wide area network. Using data obtained for eight modules, totaling approximately 500,000 source lines of code, researchers analyze the differences in productivities between subtasks. Factors considered are percentage of Ada used in coding, years of programmer experience, and the use of Ada tools and modern programming practices. The principle findings are the following. Productivity is very sensitive to programmer experience. The use of Ada software tools and the use of modern programming practices are important; without such use Ada is just a large complex language which can cause productivity to decrease. The impact of Ada on development effort phases is consistent with earlier reports at the project level but not at the module level.

Hihn, Jairus M.↗

Efficient transfer of images over networks

Effective remote observing requires sending large images over long distances. The usual approach to the transfer problem is to require high bandwidth transmission links, which are expensive to install and operate. An alternative approach is to use existing low-bandwidth connections, such as phone lines or the Internet, in a highly efficient manner by compressing the images. The combined use of existing low-cost infrastructure and standard networking software means that remote observing can be made practical even for small observatories with limited network resources. The authors have implemented such a scheme based on the H-transform compression method developed for astronomical images, which are often resistant to compression because they are noisy. The H-transform can be used for either lossy or lossless compression, and compression factors of at least 10 can be achieved with no noticeable losses in the astrometric or photometric properties of the compressed images. The H-transform allows us to organize the information in an image so that the 'useful' information can be sent first, followed by the noise, which makes up the bulk of the transmission. The receiver can invert a partially received set of H-coefficients, creating an image that improves with time. The H-transform is particularly well-suited to this style of incremental reconstruction, because the spatially localized nature of the basis functions of the H-transorm prevents the appearance of artifacts such as ringing around point sources and edges. The authors' implementation uses the WIYN Telescope Control System's TCP-based communications protocol. An 800x800 16-bit astronomical image was sent over a 2400 baud connection, which would normally take about 71 minutes; after only 60 seconds, the partially received H-transform produced an image that did not differ appreciably from the original. This poster presents a quantification of the efficiencies, as well as examples of images reconstructed from partial data.

Percival, J. W.↗

The Friendly Argument Notation (FAN)

This document defines and explains through examples the Friendly Argument Notation (FAN). FAN builds on previous work investigating text-based ways to express arguments [2, 3]. Its primary intended use is for creating and evaluating arguments about safety-critical systems, especially the types of arguments common within safety and assurance cases [4], but nothing in its design constrains its use to that domain. Compared to existing notations commonly used within this domain (for example [6]), FAN corresponds more closely to traditional argument concepts (for example [1]), allows greater flexibility in expression, provides for including counter-arguments, and requires less knowledge of computer-science-specific concepts. Only time and use will determine how beneficial these differences are in practice. This paper concentrates on showing how FAN looks to someone who is using it manually to develop or assess arguments. A later document will concentrate on providing the information necessary for software tools to be created for FAN.

arugment↗

Empirical Validation of UBEM: An Assessment of Bias in Urban Building Energy Modeling for Chicago

Residential and commercial buildings currently account for 30% of total global final energy consumption. Urban-scale building energy modeling (UBEM) can enable scalable investments and unlock building improvements by quantifying energy, demand, emissions, and cost reductions of specific measures or packages for building-specific technologies in large geographic regions. While the sophistication of UBEM data sources and technologies have increased dramatically in the past decade, there remains a knowledge gap for empirical validation and sources of bias between building-specific energy models and measured data at varying geographic scales.As UBEM continues to develop, systemic analysis of accuracy, bias, and limitations of the resulting models is necessary to inform best practices and move toward standardization. These are characterized for the Automatic Building Energy Modeling (AutoBEM) software suite with an initial case study involving metered electricity consumption data from 247,188 buildings in Chicago, Illinois, USA - averaged across years 2019-2021 - compared to the following datasets: (1) the AutoBEM-generated nation-scale Model America version 2 (MAv2) data for 596,064 buildings, (2) tax assessor data for 579,829 buildings, (3) tax assessor data filled with MAv2, and (4) 102 representative dynamic archetypes. The accuracy is reported for every building type and vintage combination, along with multiple sources of bias for unique building descriptors. The AutoBEM simulation workflow produced energy consumption estimates that closely match aggregated metered electricity consumption data for different types of buildings constructed during various time periods at the city scale - with initial normalized mean bias error of 10.9%, and 1.1% after removing outliers. Contribution of statistically significant factors including building type, land use, age, and size to variance in UBEM bias is quantified.

Garg, Ankur↗

Practical Application of Model-based Programming and State-based Architecture to Space Missions

Innovative systems and software engineering solutions are required to meet the increasingly challenging demands of deep-space robotic missions. While recent advances in the development of an integrated systems and software engineering approach have begun to address some of these issues, they are still at the core highly manual and, therefore, error-prone. This paper describes a task aimed at infusing MIT's model-based executive, Titan, into JPL's Mission Data System (MDS), a unified state-based architecture, systems engineering process, and supporting software framework. Results of the task are presented, including a discussion of the benefits and challenges associated with integrating mature model-based programming techniques and technologies into a rigorously-defined domain specific architecture.

state analysis↗

Verification and Validation of Elastodynamic Simulation Software for Aerospace Research

Physics-based simulation of nondestructive evaluation (NDE) inspection can help to advance the inspectability and reliability of mechanical systems. However, NDE simulations applicable to non-idealized mechanical components often require large compute domains and long run times. This has prompted development of custom NDE simulation software tailored to high performance computing (HPC) hardware. Verification and validation (V&V) is an integral part of developing this software to ensure implementations are robust and applicable to inspection problems, producing tools and simulations suitable for computational NDE research. This presentation addresses factors common to V&V of several elastodynamic simulation codes applicable to ultrasonic NDE. Examples are drawn from in-house simulation software at NASA Langley Research Center, ranging from ensuring reliability in a 1D heterogeneous media wave equation solver to the V&V needs of 3D cluster-parallel elastodynamic software. Factors specific to a research environment are addressed, where individual simulation results can be as relevant as the software product itself. Distinct facets of V&V are discussed including testing to establish software reliability, employing systematic approaches for consistency with fundamental conservation laws, establishing the numerical stability of algorithms, and demonstrating concurrence with empirical data. This talk also addresses V&V practices for small groups of researchers. This includes establishing resources (e.g. time and personnel) for V&V during project planning to mitigate and control the risk of setbacks. Similarly, we identify ways for individual researchers to use V&V during simulation software development itself to both speed up the development process and reduce incurred technical debt.

NDE↗

Program Instrumentation and Trace Analysis

Several attempts have been made recently to apply techniques such as model checking and theorem proving to the analysis of programs. This shall be seen as a current trend to analyze real software systems instead of just their designs. This includes our own effort to develop a model checker for Java, the Java PathFinder 1, one of the very first of its kind in 1998. However, model checking cannot handle very large programs without some kind of abstraction of the program. This paper describes a complementary scalable technique to handle such large programs. Our interest is turned on the observation part of the equation: How much information can be extracted about a program from observing a single execution trace? It is our intention to develop a technology that can be applied automatically and to large full-size applications, with minimal modification to the code. We present a tool, Java PathExplorer (JPaX), for exploring execution traces of Java programs. The tool prioritizes scalability for completeness, and is directed towards detecting errors in programs, not to prove correctness. One core element in JPaX is an instrumentation package that allows to instrument Java byte code files to log various events when executed. The instrumentation is driven by a user provided script that specifies what information to log. Examples of instructions that such a script can contain are: 'report name and arguments of all called methods defined in class C, together with a timestamp'; 'report all updates to all variables'; and 'report all acquisitions and releases of locks'. In more complex instructions one can specify that certain expressions should be evaluated and even that certain code should be executed under various conditions. The instrumentation package can hence be seen as implementing Aspect Oriented Programming for Java in the sense that one can add functionality to a Java program without explicitly changing the code of the original program, but one rather writes an aspect and compiles it into the original program using the instrumentation. Another core element of JPaX is an observation package that supports the analysis of the generated event stream. Two kinds of analysis are currently supported. In temporal analysis the execution trace is evaluated against formulae written in temporal logic. We have implemented a temporal logic evaluator on finite traces using the Maude rewriting system from SRI International, USA. Temporal logic is defined in Maude by giving its syntax as a signature and its semantics as rewrite equations. The resulting semantics is extremely efficient and can handle event streams of hundreds of millions events in few minutes. Furthermore, the implementation is very succinct. The second form of even stream analysis supported is error pattern analysis where an execution trace is analyzed using various error detection algorithms that can identify error-prone programming practices that may potentially lead to errors in some different executions. Two such algorithms focusing on concurrency errors have been implemented in JPaX, one for deadlocks and the other for data races. It is important to note, that a deadlock or data race potential does not need to occur in order for its potential to be detected with these algorithms. This is what makes them very scalable in practice. The data race algorithm implemented is the Eraser algorithm from Compaq, however adopted to Java. The tool is currently being applied to a code base for controlling a spacecraft by the developers of that software in order to evaluate its applicability.

Havelund, Klaus↗