Search NASA⌕ Search

SEARCH · Search NASA

Results for “functional programming”

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 541 records · Page 30

User's guide to programming fault injection and data acquisition in the SIFT environment

Described are the features, command language, and functional design of the SIFT (Software Implemented Fault Tolerance) fault injection and data acquisition interface software. The document is also intended to assist and guide the SIFT user in defining, developing, and executing SIFT fault injection experiments and the subsequent collection and reduction of that fault injection data. It is also intended to be used in conjunction with the SIFT User's Guide (NASA Technical Memorandum 86289) for reference to SIFT system commands, procedures and functions, and overall guidance in SIFT system programming.

Elks, Carl R.↗

NASA Water Resources Program

With increasing population pressure and water usage coupled with climate variability and change, water issues are being reported by numerous groups as the most critical environmental problems facing us in the 21st century. Competitive uses and the prevalence of river basins and aquifers that extend across boundaries engender political tensions between communities, stakeholders and countries. In addition to the numerous water availability issues, water quality related problems are seriously affecting human health and our environment. The potential crises and conflicts especially arise when water is competed among multiple uses. For example, urban areas, environmental and recreational uses, agriculture, and energy production compete for scarce resources, not only in the Western U.S. but throughout much of the U.S. and also in numerous parts of the world. Mitigating these conflicts and meeting water demands and needs requires using existing water resources more efficiently. The NASA Water Resources Program Element works to use NASA products and technology to address these critical water issues. The primary goal of the Water Resources is to facilitate application of NASA Earth science products as a routine use in integrated water resources management for the sustainable use of water. This also includes the extreme events of drought and floods and the adaptation to the impacts from climate change. NASA satellite and Earth system observations of water and related data provide a huge volume of valuable data in both near-real-time and extended back nearly 50 years about the Earth's land surface conditions such as precipitation, snow, soil moisture, water levels, land cover type, vegetation type, and health. NASA Water Resources Program works closely to use NASA and Earth science data with other U.S. government agencies, universities, and non-profit and private sector organizations both domestically and internationally. The NASA Water Resources Program organizes its projects under five functional themes. I) Streamflow and Flood Forecasting 2) Water Supply and Irrigation (includes evapotranspiration) 3) Drought 4) Water Quality 5) Climate and Water Resources. To maximize this activity NASA Water Resources Program works closely with other government agencies (e.g., the National Oceanic and Atmospheric Administration (NOAA); the U.S. Department of Agriculture (USDA); the U.S. Geological Survey (USGS); the Environmental Protection Agency (EPA), USAID, the Air Force Weather Agency (AFWA)), universities, non-profit national and international organizations, and the private sector. The NASA Water Resources program currently is funding 21 active projects under the functional themes (http://wmp.gsfc.nasa.gov & http://science.nasa.gov/earth-science/applied-sciences/).

Toll, David L.↗

Object-oriented approach for gas turbine engine simulation

An object-oriented gas turbine engine simulation program was developed. This program is a prototype for a more complete, commercial grade engine performance program now being proposed as part of the Numerical Propulsion System Simulator (NPSS). This report discusses architectural issues of this complex software system and the lessons learned from developing the prototype code. The prototype code is a fully functional, general purpose engine simulation program, however, only the component models necessary to model a transient compressor test rig have been written. The production system will be capable of steady state and transient modeling of almost any turbine engine configuration. Chief among the architectural considerations for this code was the framework in which the various software modules will interact. These modules include the equation solver, simulation code, data model, event handler, and user interface. Also documented in this report is the component based design of the simulation module and the inter-component communication paradigm. Object class hierarchies for some of the code modules are given.

Curlett, Brian P.↗

Characterization of the thermal conductivity for Advanced Toughened Uni-piece Fibrous Insulations

Advanced Toughened Uni-piece Fibrous Insulations (TUFI) is discussed in terms of their thermal response to an arc-jet air stream. A modification of the existing Ames thermal conductivity program to predict the thermal response of these functionally gradient materials is described in the paper. The modified program was used to evaluate the effect of density, surface porosity, and density gradient through the TUFI materials on the thermal response of these insulations. Predictions using a finite-difference code and calculated thermal conductivity values from the modified program were compared with in-depth temperature measurements taken from TUFI insulations during short exposures to arc-jet hypersonic air streams.

Stewart, David A.↗

Flying Cassini with Virtual Operations Teams

The Cassini Program's challenge is to fly a large, complex mission with a reduced operations budget. A consequence of the reduced budget is elimination of the large, centrally located group traditionally used for uplink operations. Instead, responsibility for completing parts of the uplink function is distributed throughout the Program. A critical strategy employed to handle this challenge is the use of Virtual Uplink Operations Teams. A Virtual Team is comprised of a group of people with the necessary mix of engineering and science expertise who come together for the purpose of building a specific uplink product. These people are drawn from throughout the Cassini Program and participate across a large geographical area (from Germany to the West coast of the USA), covering ten time zones. The participants will often split their time between participating in the Virtual Team and accomplishing their core responsibilities, requiring significant planning and time management. When the particular uplink product task is complete, the Virtual Team disbands and the members turn back to their home organization element for future work assignments. This time-sharing of employees is used on Cassini to build mission planning products, via the Mission Planning Virtual Team, and sequencing products and monitoring of the sequence execution, via the Sequence Virtual Team. This challenging, multitasking approach allows efficient use of personnel in a resource constrained environment.

Dodd, Suzanne↗

Tools for distributed application management

Distributed application management consists of monitoring and controlling an application as it executes in a distributed environment. It encompasses such activities as configuration, initialization, performance monitoring, resource scheduling, and failure response. The Meta system (a collection of tools for constructing distributed application management software) is described. Meta provides the mechanism, while the programmer specifies the policy for application management. The policy is manifested as a control program which is a soft real-time reactive program. The underlying application is instrumented with a variety of built-in and user-defined sensors and actuators. These define the interface between the control program and the application. The control program also has access to a database describing the structure of the application and the characteristics of its environment. Some of the more difficult problems for application management occur when preexisting, nondistributed programs are integrated into a distributed application for which they may not have been intended. Meta allows management functions to be retrofitted to such programs with a minimum of effort.

Marzullo, Keith↗

Tools for distributed application management

Distributed application management consists of monitoring and controlling an application as it executes in a distributed environment. It encompasses such activities as configuration, initialization, performance monitoring, resource scheduling, and failure response. The Meta system is described: a collection of tools for constructing distributed application management software. Meta provides the mechanism, while the programmer specifies the policy for application management. The policy is manifested as a control program which is a soft real time reactive program. The underlying application is instrumented with a variety of built-in and user defined sensors and actuators. These define the interface between the control program and the application. The control program also has access to a database describing the structure of the application and the characteristics of its environment. Some of the more difficult problems for application management occur when pre-existing, nondistributed programs are integrated into a distributed application for which they may not have been intended. Meta allows management functions to be retrofitted to such programs with a minimum of effort.

Marzullo, Keith↗

Towards automated support for extraction of reusable components

A cost effective introduction of software reuse techniques requires the reuse of existing software developed in many cases without aiming at reusability. This paper discusses the problems related to the analysis and reengineering of existing software in order to reuse it. We introduce a process model for component extraction and focus on the problem of analyzing and qualifying software components which are candidates for reuse. A prototype tool for supporting the extraction of reusable components is presented. One of the components of this tool aids in understanding programs and is based on the functional model of correctness. It can assist software engineers in the process of finding correct formal specifications for programs. A detailed description of this component and an example to demonstrate a possible operational scenario are given.

Abd-El-hafiz, S. K.↗

Towards automated support for extraction of reusable components

A cost effective introduction of software reuse techniques requires the reuse of existing software developed in many cases without aiming at reusability. This paper discusses the problems related to the analysis and reengineering of existing software in order to reuse it. We introduce a process model for component extraction and focus on the problem of analyzing and qualifying software components which are candidates for reuse. A prototype tool for supporting the extraction of reusable components is presented. One of the components of this tool aids in understanding programs and is based on the functional model of correctness. It can assist software engineers in the process of finding correct formal specifications for programs. A detailed description of this component and an example to demonstrate a possible operational scenario are given.

Abd-El-hafiz, S. K.↗

Fast Context Switching in Real-Time Propositional Reasoning

The trend to increasingly capable and affordable control processors has generated an explosion of embedded real-time gadgets that serve almost every function imaginable. The daunting task of programming these gadgets is greatly alleviated with real-time deductive engines that perform all execution and monitoring functions from a single core model, Fast response times are achieved using an incremental propositional deductive database (an LTMS). Ideally the cost of an LTMS's incremental update should be linear in the number of labels that change between successive contexts. Unfortunately an LTMS can expend a significant percentage of its time working on labels that remain constant between contexts. This is caused by the LTMS's conservative approach: a context switch first removes all consequences of deleted clauses, whether or not those consequences hold in the new context. This paper presents a more aggressive incremental TMS, called the ITMS, that avoids processing a significant number of these consequences that are unchanged. Our empirical evaluation for spacecraft control shows that the overhead of processing unchanged consequences can be reduced by a factor of seven.

Nayak, P. Pandurang↗

Locomotor Dysfunction after Spaceflight: Characterization and Countermeasure Development

Astronauts returning from space flight show disturbances in locomotor control manifested by changes in various sub-systems including head-trunk coordination, dynamic visual acuity, lower limb muscle activation patterning and kinematics (Glasauer, et al., 1995; Bloomberg, et al., 1997; McDonald, et al., 1996; 1997; Layne, et al., 1997; 1998, 2001, 2004; Newman, et al., 1997; Bloomberg and Mulavara, 2003). These post flight changes in locomotor performance, due to neural adaptation to the microgravity conditions of space flight, affect the ability of crewmembers especially after a long duration mission to egress their vehicle and perform extravehicular activities soon after landing on Earth or following a landing on the surface of the Moon or Mars. At present, no operational training intervention is available pre- or in- flight to mitigate post flight locomotor disturbances. Our laboratory is currently developing a gait adaptability training program that is designed to facilitate recovery of locomotor function following a return to a gravitational environment. The training program exploits the ability of the sensorimotor system to generalize from exposure to multiple adaptive challenges during training so that the gait control system essentially "learns to learn" and therefore can reorganize more rapidly when faced with a novel adaptive challenge. Ultimately, the functional goal of an adaptive generalization countermeasure is not necessarily to immediately return movement patterns back to "normal". Rather the training regimen should facilitate the reorganization of available sensorimotor sub-systems to achieve safe and effective locomotion as soon as possible after space flight. We have previously confirmed that subjects participating in adaptive generalization training programs, using a variety of visuomotor distortions and different motor tasks from throwing to negotiating an obstacle course as the dependent measure, can learn to enhance their ability to adapt to a novel sensorimotor environment (Roller et al., 2001; Cohen et al. 2005). Importantly, this increased adaptability is retained even one month after completion of the training period. Our laboratory is currently developing adaptive generalization training procedures and the associated flight hardware to implement such a training program, using variations of visual flow, subject loading, and treadmill speed; during regular in-flight treadmill operations.

Mulavara, A. P.↗

Programming methodology for a general purpose automation controller

The General Purpose Automation Controller is a multi-processor architecture for automation programming. A methodology has been developed whose aim is to simplify the task of programming distributed real-time systems for users in research or manufacturing. Programs are built by configuring function blocks (low-level computations) into processes using data flow principles. These processes are activated through the verb mechanism. Verbs are divided into two classes: those which support devices, such as robot joint servos, and those which perform actions on devices, such as motion control. This programming methodology was developed in order to achieve the following goals: (1) specifications for real-time programs which are to a high degree independent of hardware considerations such as processor, bus, and interconnect technology; (2) a component approach to software, so that software required to support new devices and technologies can be integrated by reconfiguring existing building blocks; (3) resistance to error and ease of debugging; and (4) a powerful command language interface.

Sturzenbecker, M. C.↗

Associative programming language and virtual associative access manager

APL provides convenient associative data manipulation functions in a high level language. Six statements were added to PL/1 via a preprocessor: CREATE, INSERT, FIND, FOR EACH, REMOVE, and DELETE. They allow complete control of all data base operations. During execution, data base management programs perform the functions required to support the APL language. VAAM is the data base management system designed to support the APL language. APL/VAAM is used by CADANCE, an interactive graphic computer system. VAAM is designed to support heavily referenced files. Virtual memory files, which utilize the paging mechanism of the operating system, are used. VAAM supports a full network data structure. The two basic blocks in a VAAM file are entities and sets. Entities are the basic information element and correspond to PL/1 based structures defined by the user. Sets contain the relationship information and are implemented as arrays.

Carol Price↗

Data quality analysis at the National Transonic Facility

The data quality analysis program that was developed at Langley Research Center's National Transonic Facility is described. The program provides a computer driven systematic analysis of data taken during calibrations of the high speed digital data acquisition system. Five distinct checks that are performed on the calibration data are outlined. The five checks are for non-linearity, noise, short term drift, long term drift, and the proper functioning of the calibrator. The program has established a standard set of evaluation guidelines.

Stewart, Pamela N.↗

Space tug automatic docking control study. LOCDOK users manual

A users's manual for the computer programs involved in a study of the space tug docking simulation is presented. The following subjects are considered: (1) subroutine narratives, (2) program elements, (3) system subroutines, and (4) Univac 1108 cross reference listing. The functional and operational requirements for the computer programming are explained.

Source record↗

Interactive debug program for evaluation and modification of assembly-language software

An assembly-language debug program written for the Honeywell HDC-601 and DDP-516/316 computers is described. Names and relative addressing to improve operator-machine interaction are used. Features include versatile display, on-line assembly, and improved program execution and analysis. The program is discussed from both a programmer's and an operator's standpoint. Functional diagrams are included to describe the program, and each command is illustrated.

Arpasi, D. J.↗

Matrix management for aerospace 2000

The matrix management approach to program management is described, showing that it is an organized approach to attaining program objectives by defining and structuring all elements so as to form a single system whose parts are united by interaction. The objective of the systems approach is to attain an uncompromised complete coverage of the program management effort. It is demonstrated that beginning with an analysis of the functions necessary to carry out a given program, a model must be defined; a matrix of responsibility assignment must be prepared; and each operational process is examined to establish how it is to be implemented and how it relates to all other processes.

Mccarthy, J. F., Jr.↗