Search NASASearch

SEARCH · Search NASA

Results for “runtime systems”

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 37 records · Page 2

Runtime Analysis with R2U2: A Tool Exhibition Report

We present R2U2 (Realizable, Responsive, Unobtrusive Unit), a hardware- supported tool and framework for the continuous monitoring of safetycritical and embedded cyber-physical systems.With the widespread advent of autonomous systems such as Unmanned Aerial Systems (UAS), satellites, rovers, and cars, real-time, on-board decision making requires unobtrusive monitoring of properties for safety, performance, security, and system health. R2U2 models combine past-time and future-time Metric Temporal Logic, “mission time” Linear Temporal Logic, probabilistic reasoning with Bayesian Networks, and modelbased prognostics. The R2U2 monitoring engine can be instantiated as a hardware solution, running on an FPGA, or as a software component. The FPGA realization enables R2U2 to monitor complex cyber-physical systems without any overhead or instrumentation of the flight software. In this tool exhibition report, we present R2U2 and demonstrate applications on system runtime monitoring, diagnostics, software health management, and security monitoring for a UAS. Our tool demonstration uses a hardware-based processor-in-the-loop “iron-bird” configuration.

Johann Martin Schumann

Software and System Health Management with R2U2

R2U2 (Realizable, Responsive, Unobtrusive Unit) is a hardware-supported tool and framework for the real-time system and software health management of cyber-physical systems. R2U2 continuously monitors properties about safety, performance, and security of the vehicle and can perform diagnostic reasoning. Efficient observers for past-time and future-time Metric Temporal Logic, reasoners for Bayesian Networks, and model-based prognostics algorithms are major components of R2U2. Their combination makes it possible to design powerful models for system runtime monitoring, diagnostics, software health management, prognostics, and security monitoring. The R2U2 monitoring engine is designed for minimal runtime overhead and is available as Simulink block or as a software component for integration into the flight software stack, and enables R2U2 to monitor complex cyber-physical systems without any instrumentation of the flight software. In this presentation, we give an overview of R2U2 architecture and reasoning algorithms, present its features, and give a life demo of the tool.

Schumann, Johann

Using Multithreading for the Automatic Load Balancing of 2D Adaptive Finite Element Meshes

In this paper, we present a multi-threaded approach for the automatic load balancing of adaptive finite element (FE) meshes. The platform of our choice is the EARTH multi-threaded system which offers sufficient capabilities to tackle this problem. We implement the question phase of FE applications on triangular meshes, and exploit the EARTH token mechanism to automatically balance the resulting irregular and highly nonuniform workload. We discuss the results of our experiments on EARTH-SP2, an implementation of EARTH on the IBM SP2, with different load balancing strategies that are built into the runtime system.

Heber, Gerd

Using Multi-threading for the Automatic Load Balancing of 2D Adaptive Finite Element Meshes

In this paper, we present a multi-threaded approach for the automatic load balancing of adaptive finite element (FE) meshes The platform of our choice is the EARTH multi-threaded system which offers sufficient capabilities to tackle this problem. We implement the adaption phase of FE applications oil triangular meshes and exploit the EARTH token mechanism to automatically balance the resulting irregular and highly nonuniform workload. We discuss the results of our experiments oil EARTH-SP2, on implementation of EARTH on the IBM SP2 with different load balancing strategies that are built into the runtime system.

Heber, Gerd

ORCHA: A performance portability system for extreme heterogeneity

Heterogeneity is the prevalent trend in the rapidly evolving high-performance computing (HPC) landscape in both hardware and application software. The diversity in hardware platforms, currently comprising various accelerators and a future possibility of specializable chiplets, poses a significant challenge for scientific software developers aiming to harness optimal performance across different computing platforms while maintaining the quality of solutions when their applications are simultaneously growing more complex. Code synthesis and code generation can provide mechanisms to mitigate this challenge. We have developed a divide and conquer approach where different aspects of performance are handled by different stand-alone tools that are interfaced with the application through generated code. This portability system, ORCHA, enables users to configure and orchestrate their computations among available resources on a platform by specifying a high-level recipe, thereby permitting a many-to-many paradigm where each recipe results in a different variant of the application. The core design goal is to let users decide the application’s hardware mapping and orchestration by editing only the high-level recipe—without modifying the maintained source code or binding the application to a particular runtime system. Tools in ORCHA distribution are: CG-Kit for translating the recipe into an execution graph; Milhoja to execute the graph by orchestrating data and task movement among hardware resources; and Macroprocessor that enables users to define their own code-shorthand for higher composability and easier management of code variants. Additionally, the design of ORCHA permits tools to work in a plug-and-play mode where the application can build and run without CG-Kit and Milhoja, and either tool can be swapped out for other tools with similar capabilities by modifying the code generation portion of ORCHA. In this paper, we describe the design of ORCHA and the role that code-generation plays in isolating applications from tools. We demonstrate the breadth of configurations ORCHA enables with a case study in which an application configuration is realized on three distinct hardware mappings—a GPU-centric, a CPU/GPU balanced, and a CPU/GPU concurrent layouts by using different recipes.

Lee, Youngjun

Mentat/A: Medium grain parallel processing

The objective of this project is to support the Algorithm to Architecture Mapping Model (ATAMM) firing rules using the Mentat run-time system and the Mentat Programming Language (MPL). Specifically, this required changes to (1) modify the run-time system to control queue length and inhibit actor firing until required data tokens are available and space is available in the input queues of all of the direct descendent actors, (2) disallow the specification of persistent object classes in the MPL, and (3) permit only decision free graphs in the MPL. We have been successful in implementing the spirit of the plan, although some goals changed as we came to better understand the problem. Here, we report on what we accomplished and the lessons we learned. The Mentat/A runtime system, the compiler, results for three applications, and a summary and some observations are given. Appendix A contains a list of technical reports and published papers partially supported by the grant. Appendix B contains listings for the three applications.

Grimshaw, Andrew S.

Measured and Modeled Vineyard Canopy Development and Water Use

Two publicly available applications relevant to vineyard irrigation management are described. OpenET is a satellite-based system that applies an ensemble of remote sensing methods to enable wide-area monitoring of evapotranspiration (ET) and related measures such as vegetation canopy development (via the NDVI spectral index). Data are freely available at one-quarter acre spatial resolution, and may be automatically aggregated to the individual block level. The satellite-based daily ET data were compared with in-situ eddy covariance measurements collected by micro-meteorological instrumentation in a Central Coast vineyard over a three-year period (2020-2022). Estimation uncertainties were reasonably consistent with prior reports for GRAPEX sites in the Central Valley and North Coast. The CropManage (CM) web application is a free software tool developed and operated U.C. Cooperative Extension for ET-based irrigation scheduling of major specialty crops. CM provides specific guidance for irrigation events in terms of irrigation system runtime. Applied water recommendations are based largely on estimated ET, derived from assumed canopy cover and associated crop coefficients, since the last irrigation or rainfall event. The application was recently adapted to vineyards by accounting for presence of winter/spring cover crop, and vine water stress imposed by regulated deficit irrigation. A 2022 field campaign involved 12 Central Coast and San Joaquin Valley commercial vineyards, and OpenET data were used to help evaluate CM output. Maximum percent vine cover was compared to estimates derived from average July satellite NDVI. The difference for 10 sites lacking midseason groundcover ranged from 0-7% between datasets with average agreement near 4%. Cumulative ET estimates agreed with OpenET to within 12% at the majority of sites, while larger discrepancies at the remaining sites may require additional data collection and analysis during the 2023 season. Satellite based systems such as OpenET have the potential to help parameterize CropManage and similar agricultural decision-support systems.

Measured

Real-Time MENTAT programming language and architecture

Real-time MENTAT, a programming environment designed to simplify the task of programming real-time applications in distributed and parallel environments, is described. It is based on the same data-driven computation model and object-oriented programming paradigm as MENTAT. It provides an easy-to-use mechanism to exploit parallelism, language constructs for the expression and enforcement of timing constraints, and run-time support for scheduling and exciting real-time programs. The real-time MENTAT programming language is an extended C++. The extensions are added to facilitate automatic detection of data flow and generation of data flow graphs, to express the timing constraints of individual granules of computation, and to provide scheduling directives for the runtime system. A high-level view of the real-time MENTAT system architecture and programming language constructs is provided.

Grimshaw, Andrew S.

ART/Ada design project, phase 1. Task 1 report: Overall design

The design methodology for the ART/Ada project is introduced, and the selected design for ART/Ada is described in detail. The following topics are included: object-oriented design, reusable software, documentation techniques, impact of Ada, design approach, and differences between ART-IM 1.5 and ART/Ada 1.0 prototype. Also, Ada generator and ART/Ada runtime systems are discussed.

Allen, Bradley P.

TIGRE: Combinator graph reduction on the RTX 2000

An efficient evaluation technique is examined for lazy functional programs based on combinator graph reduction. Graph reduction is widely believed to be slow and inefficient, but an abstract machine called the Threaded Interpretive Graph Reduction Engine (TIGRE) achieves a substantial speedup over previous reduction techniques. The runtime system of TIGRE is a threaded system that permits self-modifying program execution with compiler-guaranteed safety. This paper describes an implementation of TIGRE in Forth for the Harris RTX 2000 stack processor.

Koopman, Philip, Jr.

CIFO 3.0

The Ada Runtime Environment Working Group has, since 1985, developed and published the Catalog of Interface Features and Options (CFIO) for Ada runtime environments. These interfaces, expressed in legal Ada, provide 'hooks' into the runtime system to export both functionality and enhanced performance beyond that of 'vanilla' Ada implementations. Such enhancements include high- and low-level scheduling control, asynchronous communications facilities, predictable storage management facilities, and fast interrupt response. CIFO 3.0 represents the latest release, which incorporates the efforts of the European real time community as well as new interfaces and expansions of previous catalog entries. This presentation will give both an overview of the Catalog's contents and an 'insider's' view of the Catalog as a whole.

Rogers, Pat

INFUSION: Modeling Robot and Crew Interaction

Brahms is a multi-agent modeling and simulation language and distributed runtime system developed at NASA. It can be used to model and run a simualtion of the distributed work activities of multiple agents, such as humans,robots, and software agents, to coordinate a mission on one or more locations.Brahms is being used to model activities at the Flashline Man Arctic Research Station for possible use in planning Mars missions. The station is located at Haughton Crater, Devon Island, Nutiavut, Arctic Canada.

Laufenberg, Lawrence

Evapotranspiration-Based Irrigation Scheduling in Cool-Season Vegetables

Crop evapotranspiration (ETc) is strongly linked with photosynthetically active vegetation fraction (Fc). Estimation of ETc may support efficiency gains in irrigation water management, which in turn can mitigate nitrate leaching, promote water supply sustainability, and reduce energy costs associated with water pumping or transport. The University of California Cooperative Extension operates the CropManage (CM) model as a freely-available web-application for growers and consultants to support irrigation and nitrogen scheduling decisions. CM accounts for the rapid growth and typically brief cycle of cool-season vegetables, where Fc and crop coefficient (fraction of reference ET) can change daily during canopy development. Daily weather conditions are inherently accounted for by use of grass reference ETo data imported from the California Dept. Water Resources. Crop water requirement calculations are output in terms of irrigation system runtime. Empirical equations are used to estimate daily Fc time-series for a given crop type, primarily as a function of planting date and expected harvest. An applications programming interface (API) enables CM to import satellite-based Fc observations from NASA's Satellite Irrigation Management Support, which uses Landsat imagery to monitor about eight million irrigation acres statewide. The API is intended to provide a check on internal CM predictions of Fc and to facilitate expansion of the web-app to new crops and regions. A replicated irrigation trial was performed on cauliflower during spring/summer 2018 at the USDA Agricultural Research Station in Salinas, CA. The crop was established by sprinkler irrigation, and CropManage was then used to guide a series of drip irrigation treatments at 50%, 75%, 100%, and 150% of ETc replacement levels. Results will be presented with respect to water use efficiency, nitrogen use efficiency, biomass yield, and marketable yield. Additional findings will be presented for a celery trial harvested during autumn 2018.

Johnson, Lee

CropManage Application for Vineyard Irrigation Decision-Support

CropManage is a free web-application developed by U.C. Cooperative Extension to support evapotranspiration based irrigation scheduling and nutrient management for major specialty crops. Prescribed phenology curves are used to develop daily estimates of canopy cover within a given field, based on days since planting (annual crops) or budbreak (trees, vines). These curves are modulated by a MaxCan parameter representing seasonal maximum canopy cover. Crop development observations can be used to adjust for such factors as weather anomalies or non-standard agronomic practice, as needed. Canopy cover is converted to crop coefficient and combined with reference evapotranspiration to derive daily water consumption. Guidance on crop water requirement is then conveyed to users in terms of system runtime issued on-demand for a given date, largely based on total evapotranspiration since last irrigation event. In this study, CropManage was adapted to vineyards by adding modules accounting for early-season soil moisture depletion and cover crop presence. A crop stress parameter was added to accommodate deficit irrigation practice, allowing the user to specify percentage departure from full water requirement along with start/stop dates. An initial verification exercise was performed on three winegrape vineyards located in California’s Central Coast (2020), North Coast (2020) and Central Valley (2019). Daily crop evapotranspiration was monitored by eddy-covariance fluxtowers. MaxCan was measured by ground and satellite observation. Stress regime was specified by grower practice where available, otherwise stress levels were inferred from applied water records. Mean absolute error and mean bias error of modeled cumulative evapotranspiration were computed with respect to the eddy covariance measurements collected throughout the growing season. Results indicate the modified CropManage water management module performs reasonably well for winegrape. Additional effort is planned to modify the nutrient module for vineyard use.

CropManage

MESA: Message-Based System Analysis Using Runtime Verification

In this paper, we present a novel approach and framework for run-time verication of large, safety critical messaging systems. This work was motivated by verifying the System Wide Information Management (SWIM) project of the Federal Aviation Administration (FAA). SWIM provides live air traffic, site and weather data streams for the whole National Airspace System (NAS), which can easily amount to several hundred messages per second. Such safety critical systems cannot be instrumented, therefore, verification and monitoring has to happen using a nonintrusive approach, by connecting to a variety of network interfaces. Due to a large number of potential properties to check, the verification framework needs to support efficient formulation of properties with a suitable Domain Specific Language (DSL). Our approach is to utilize a distributed system that is geared towards connectivity and scalability and interface it at the message queue level to a powerful verification engine. We implemented our approach in the tool called MESA: Message-Based System Analysis, which leverages the open source projects RACE (Runtime for Airspace Concept Evaluation) and TraceContract. RACE is a platform for instantiating and running highly concurrent and distributed systems and enables connectivity to SWIM and scalability. TraceContract is a runtime verication tool that allows for checking traces against properties specified in a powerful DSL. We applied our approach to verify a SWIM service against several requirements.We found errors such as duplicate and out-of-order messages.

Message-based System

AEOSS runtime manual for system analysis on Advanced Earth-Orbital Spacecraft Systems

Advanced earth orbital spacecraft system (AEOSS) enables users to project the required power, weight, and cost for a generic earth-orbital spacecraft system. These variables are calculated on the component and subsystem levels, and then the system level. The included six subsystems are electric power, thermal control, structure, auxiliary propulsion, attitude control, and communication, command, and data handling. The costs are computed using statistically determined models that were derived from the flown spacecraft in the past and were categorized into classes according to their functions and structural complexity. Selected design and performance analyses for essential components and subsystems are also provided. AEOSS has the feature permitting a user to enter known values of these parameters, totally and partially, at all levels. All information is of vital importance to project managers of subsystems or a spacecraft system. AEOSS is a specially tailored software coded from the relational database program of the Acius' 4th Dimension with a Macintosh version. Because of the licensing agreements, two versions of the AEOSS documents were prepared. This version, AEOSS Runtime Manual, is permitted to be distributed with a finite number of the restrictive 4D Runtime version. It can perform all contained applications without any programming alterations.

Lee, Hwa-Ping

Integrating FRET with Copilot: Automated Translation of Natural Language Requirements to Runtime Monitors

Runtime verification (RV) enables monitoring systems at runtime, to detect property violations early and limit their potential consequences. To provide the level of assurance required for ultra-critical systems, monitor specifications must faithfully reflect the original mission requirements, which are often written in ambiguous natural language. This paper presents an end-to-end framework to capture requirements in structured natural language and generate monitors that capture their semantics faithfully. We leverage NASA’s Formal Requirement Elicitation Tool (FRET), and the RV system Copilot. We extend FRET with mechanisms to capture additional information needed to generate monitors, and introduce OGMA, a new tool to bridge the gap between FRET and Copilot. With this framework, users can write requirements in an intuitive format and obtain real-time C monitors suitable for use in embedded systems. Our tool chain is available as open source.

FRET

Instrumentation of Java Bytecode for Runtime Analysis

This paper describes JSpy, a system for high-level instrumentation of Java bytecode and its use with JPaX, OUT system for runtime analysis of Java programs. JPaX monitors the execution of temporal logic formulas and performs predicative analysis of deadlocks and data races. JSpy s input is an instrumentation specification, which consists of a collection of rules, where a rule is a predicate/action pair The predicate is a conjunction of syntactic constraints on a Java statement, and the action is a description of logging information to be inserted in the bytecode corresponding to the statement. JSpy is built using JTrek an instrumentation package at a lower level of abstraction.

Goldberg, Allen