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 865 records · Page 48

The KALI multi-arm robot programming and control environment

The KALI distributed robot programming and control environment is described within the context of its use in the Jet Propulsion Laboratory (JPL) telerobot project. The purpose of KALI is to provide a flexible robot programming and control environment for coordinated multi-arm robots. Flexibility, both in hardware configuration and software, is desired so that it can be easily modified to test various concepts in robot programming and control, e.g., multi-arm control, force control, sensor integration, teleoperation, and shared control. In the programming environment, user programs written in the C programming language describe trajectories for multiple coordinated manipulators with the aid of KALI function libraries. A system of multiple coordinated manipulators is considered within the programming environment as one motion system. The user plans the trajectory of one controlled Cartesian frame associated with a motion system and describes the positions of the manipulators with respect to that frame. Smooth Cartesian trajectories are achieved through a blending of successive path segments. The manipulator and load dynamics are considered during trajectory generation so that given interface force limits are not exceeded.

Backes, Paul↗

Paranoia.Ada: A diagnostic program to evaluate Ada floating-point arithmetic

Many essential software functions in the mission critical computer resource application domain depend on floating point arithmetic. Numerically intensive functions associated with the Space Station project, such as emphemeris generation or the implementation of Kalman filters, are likely to employ the floating point facilities of Ada. Paranoia.Ada appears to be a valuabe program to insure that Ada environments and their underlying hardware exhibit the precision and correctness required to satisfy mission computational requirements. As a diagnostic tool, Paranoia.Ada reveals many essential characteristics of an Ada floating point implementation. Equipped with such knowledge, programmers need not tremble before the complex task of floating point computation.

Hjermstad, Chris↗

Generating Safety-Critical PLC Code From a High-Level Application Software Specification

The benefits of automatic-application code generation are widely accepted within the software engineering community. These benefits include raised abstraction level of application programming, shorter product development time, lower maintenance costs, and increased code quality and consistency. Surprisingly, code generation concepts have not yet found wide acceptance and use in the field of programmable logic controller (PLC) software development. Software engineers at Kennedy Space Center recognized the need for PLC code generation while developing the new ground checkout and launch processing system, called the Launch Control System (LCS). Engineers developed a process and a prototype software tool that automatically translates a high-level representation or specification of application software into ladder logic that executes on a PLC. All the computer hardware in the LCS is planned to be commercial off the shelf (COTS), including industrial controllers or PLCs that are connected to the sensors and end items out in the field. Most of the software in LCS is also planned to be COTS, with only small adapter software modules that must be developed in order to interface between the various COTS software products. A domain-specific language (DSL) is a programming language designed to perform tasks and to solve problems in a particular domain, such as ground processing of launch vehicles. The LCS engineers created a DSL for developing test sequences of ground checkout and launch operations of future launch vehicle and spacecraft elements, and they are developing a tabular specification format that uses the DSL keywords and functions familiar to the ground and flight system users. The tabular specification format, or tabular spec, allows most ground and flight system users to document how the application software is intended to function and requires little or no software programming knowledge or experience. A small sample from a prototype tabular spec application is shown.

Source record↗

NASA requirements and programs

Conference recommendations for NASA consideration were: (1) continued operation of ERTS-1 for DCS purposes, even after the imaging sensors have ceased to function; and (2) Interagency Coordination Committee on Earth Resources Survey Program undertake study of the potential for further development of DCS that will lead to the initiation of an operational system to meet national and international requirements.

Mathews, C. W.↗

In-flight gyro drift rate calibration on the Viking Orbiters

The drift rates of the attitude control gyros onboard the Viking Orbiters were calibrated several times during flight. The calibration was performed by engaging the gyro control of attitude for a six-hour period, recording the Viking Orbiter coordinates of the sun and the roll reference star as a function of time, and processing these data by a computer program. The computer program calculated drift rates for each data increment, and then smoothed the calculated rate versus the time function for all the data on the basis of a Gauss-Markov gyro-drift model. The effects of data noise were minimized by using a relatively long time constant in the Gauss-Markov model and by empirically determining a set of corrections for celestial inertial scale factor error differences. In this way the rms error of the data fit was lessened.

Breckenridge, W. G.↗

Halogen Occultation Experiment (HALOE) gas cell life test program

The Halogen Occultation Experiment (HALOE) will use gas filter correlation radiometry to measure the atmospheric concentration profiles of HCl, HF, NO, and CH4 from the Upper Atmosphere Research Satellite. The need to contain the gases for the gas filter measurements has resulted in the development of gas cells and the need for a life test program to demonstrate that the gas cells will perform their functions for extended periods (several years) of time. This report describes the tests in the life test program, the test apparatus used, and the analysis techniques developed. The report also presents data obtained during the first 14 months of the test program.

Sullivan, E. M.↗

The Space Station program

Cost constraints to a large degree control the functionality and form of the IOC of the Space Station. Planning of Station missions must be delayed to retain flexibility, a goal also served by modular development of the Station and by multi-use laboratory modules. Early emphasis on servicing other spacecraft is recommended, as is using available Shuttle flight time for R&D on Space Station technologies and operations.

Hinners, N. W.↗

The TDHF code Sky3D version 1.2

The Sky3D code has been widely used to describe nuclear ground states, collective vibrational excitations, and heavy-ion collisions. The approach is based on Skyrme forces or related energy density functionals. The static and dynamic equations are solved on a three-dimensional grid, and pairing is been implemented in the BCS approximation. This updated version of the code aims to facilitate the calculation of nuclear strength functions in the regime of linear response theory, while retaining all existing functionality and use cases. The strength functions are benchmarked against available RPA codes, and the user has the freedom of choice when selecting the nature of external excitation (from monopole to hexadecapole and more). Some utility programs are also provided that calculate the strength function from the time-dependent output of the dynamic calculations of the Sky3D code.

73 NUCLEAR PHYSICS AND RADIATION PHYSICS↗

The Capabilities of the Graphical Observation Scheduling System (GROSS) as Used by the Astro-2 Spacelab Mission

The Graphical Observation Scheduling System (GROSS) and its functionality and editing capabilities are reported on. The GROSS system was developed as a replacement for a suite of existing programs and associated processes with the aim of: providing a software tool that combines the functionality of several of the existing programs, and provides a Graphical User Interface (GUI) that gives greater data visibility and editing capabilities. It is considered that the improved editing capability provided by this approach enhanced the efficiency of the second astronomical Spacelab mission's (ASTRO-2) mission planning.

Phillips, Shaun↗

Coded Modulation in C and MATLAB

This software, written separately in C and MATLAB as stand-alone packages with equivalent functionality, implements encoders and decoders for a set of nine error-correcting codes and modulators and demodulators for five modulation types. The software can be used as a single program to simulate the performance of such coded modulation. The error-correcting codes implemented are the nine accumulate repeat-4 jagged accumulate (AR4JA) low-density parity-check (LDPC) codes, which have been approved for international standardization by the Consultative Committee for Space Data Systems, and which are scheduled to fly on a series of NASA missions in the Constellation Program. The software implements the encoder and decoder functions, and contains compressed versions of generator and parity-check matrices used in these operations.

Hamkins, Jon↗

Identifying Trends in Deep Space Network Monitor Data

A computer program has been developed that analyzes Deep Space Network monitor data, looking for changes of trends in critical parameters. This program represents a significant improvement over the previous practice of manually plotting data and visually inspecting the resulting graphs to identify trends. This program uses proven numerical techniques to identify trends. When a statistically significant trend is detected, then it is characterized by means of a symbol that can be used by pre-existing model-based reasoning software. The program can perform any of the following functions: Given an expectation that data in a given list should exhibit an upward, downward, constant, or unknown trend, it can determine whether the data do or do not follow such a trend. Given a list of data, it can identify which of the aforementioned trends the data follow. Given two lists of data, it can determine whether or not both follow the same trend. This program can be executed on a variety of computers. It can be distributed in either source code or binary code form. It must be run in conjunction with any one of a number of Lisp compilers that are available commercially or as shareware.

James, Mark↗

Influence matrix program for aerodynamic lifting surface theory

A users manual is described for a USA FORTRAN 4 computer program which computes an aerodynamic influence matrix and is one of several computer programs used to analyze lifting, thin wings in steady, subsonic flow according to a kernel function method lifting surface theory. The most significant features of the program are that it can treat unsymmetrical wings, control points can be placed on the leading and/or trailing edges, and a stable, efficient algorithm is used to compute the influence matrix.

Medan, R. T.↗

Program Synthesizes UML Sequence Diagrams

A computer program called "Rational Sequence" generates Universal Modeling Language (UML) sequence diagrams of a target Java program running on a Java virtual machine (JVM). Rational Sequence thereby performs a reverse engineering function that aids in the design documentation of the target Java program. Whereas previously, the construction of sequence diagrams was a tedious manual process, Rational Sequence generates UML sequence diagrams automatically from the running Java code.

Barry, Matthew R.↗

Development of a Space Vehicle Electromagnetic Interference/compatibility Specification. Volume 3 - System Specification

This specification represents a new approach to controlling electromagnetic interference. In this approach the system integration contractor will be responsible for the development of discrete specification limits to be utilized on the program to which this specification is applied. The specification limits imposed upon subsystem contractors will be developed by the use of a computer program, available from the procuring agency, which is designed to consider the total system electromagnetic environment in the computation of these limits. The integration contractor will be required to mathematically model those circuits which represent required emitters and receptors of electromagnetic energy on the space vehicle. There are contained herein, a list of available computer models into which must be inserted particular parameters of the spacecraft subsystems. These functional models, when inserted into the computer program, will develop discrete specification limits based upon the requirements of the particular system modelled.

Cooperstein, B. D.↗

Fatigue crack growth model RANDOM2 user manual, appendix 1

The FORTRAN program RANDOM2 is documented. RANDOM2 is based on fracture mechanics using a probabilistic fatigue crack growth model. It predicts the random lifetime of an engine component to reach a given crack size. Included in this user manual are details regarding the theoretical background of RANDOM2, input data, instructions and a sample problem illustrating the use of RANDOM2. Appendix A gives information on the physical quantities, their symbols, FORTRAN names, and both SI and U.S. Customary units. Appendix B includes photocopies of the actual computer printout corresponding to the sample problem. Appendices C and D detail the IMSL, Ver. 10(1), subroutines and functions called by RANDOM2 and a SAS/GRAPH(2) program that can be used to plot both the probability density function (p.d.f.) and the cumulative distribution function (c.d.f.).

Boyce, Lola↗

Apollo flight crew vestibular assessment

Vestibular function in the weightless state of space flight is examined. Due to the lack of a systematic program to assess quantitatively the effects of space flight on crew vestibular function the analysis is based on qualitative information derived from motion sickness histories and subjective reporting by individual astronauts on the type and magnitude of vestibular disturbances experienced during and following their missions. It is concluded that the increased mobility afforded by the larger volume of the Apollo CM/LM resulted in a higher incidence of vestibular disturbances in the Apollo Program and that it is difficult to predict the likelihood of inflight vestibular problems. Quantitative examination of the effects of weightlessness on the vestibular function is recommended.

J.L. Homick↗

A portable MPI-based parallel vector template library

This paper discusses the design and implementation of a polymorphic collection library for distributed address-space parallel computers. The library provides a data-parallel programming model for C++ by providing three main components: a single generic collection class, generic algorithms over collections, and generic algebraic combining functions. Collection elements are the fourth component of a program written using the library and may be either of the built-in types of C or of user-defined types. Many ideas are borrowed from the Standard Template Library (STL) of C++, although a restricted programming model is proposed because of the distributed address-space memory model assumed. Whereas the STL provides standard collections and implementations of algorithms for uniprocessors, this paper advocates standardizing interfaces that may be customized for different parallel computers. Just as the STL attempts to increase programmer productivity through code reuse, a similar standard for parallel computers could provide programmers with a standard set of algorithms portable across many different architectures. The efficacy of this approach is verified by examining performance data collected from an initial implementation of the library running on an IBM SP-2 and an Intel Paragon.

Sheffler, Thomas J.↗

A Portable MPI-Based Parallel Vector Template Library

This paper discusses the design and implementation of a polymorphic collection library for distributed address-space parallel computers. The library provides a data-parallel programming model for C + + by providing three main components: a single generic collection class, generic algorithms over collections, and generic algebraic combining functions. Collection elements are the fourth component of a program written using the library and may be either of the built-in types of c or of user-defined types. Many ideas are borrowed from the Standard Template Library (STL) of C++, although a restricted programming model is proposed because of the distributed address-space memory model assumed. Whereas the STL provides standard collections and implementations of algorithms for uniprocessors, this paper advocates standardizing interfaces that may be customized for different parallel computers. Just as the STL attempts to increase programmer productivity through code reuse, a similar standard for parallel computers could provide programmers with a standard set of algorithms portable across many different architectures. The efficacy of this approach is verified by examining performance data collected from an initial implementation of the library running on an IBM SP-2 and an Intel Paragon.

Sheffler, Thomas J.↗