Engineering Papers⌕ Search

SEARCH · Engineering Papers

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 55 records · Page 3

VMPLOT: A versatile analysis tool for mission operations

VMPLOT is a versatile analysis tool designed by the Magellan Spacecraft Team to graphically display engineering data used to support mission operations. While there is nothing revolutionary or innovative about graphical data analysis tools, VMPLOT has some distinguishing features that set it apart from other custom or commercially available software packages. These features include the ability to utilize time in a Universal Time Coordinated (UTC) or Spacecraft Clock (SCLK) format as an enumerated data type, the ability to automatically scale both axes based on the data to be displayed (including time), the ability to combine data from different files, and the ability to utilize the program either interactively or in batch mode, thereby enhancing automation. Another important feature of VMPLOT not visible to the user is the software engineering philosophies utilized. A layered approach was used to isolate program functionality to different layers. This was done to increase program portability to different platforms and to ease maintenance and enhancements due to changing requirements. The functionality of the unique features of VMPLOT as well as highlighting the algorithms that make these features possible are described. The software engineering philosophies used in the creation of the software tool are also summarized.

Bucher, Allen W.↗

Reference earth orbital research and applications investigations (blue book). Volume 4: Earth observations

The earth observations capability of the space station and space shuttle program definition is discussed. The stress in the functional program element has been to update the sensor specifications and to shift some of the emphasis from sensors to experiments to be done aboard the facility. The earth observations facility will include provisions for data acquisition, sensor control and display, data analysis, and maintenance and repair. The facility is research and development in nature with a potential for operational applications.

Source record↗

Digital command system

The correct processing of the Digital Command System (DCS), which provides a limited real-time means of controlling specific flight program functions, was verified. The ability of the flight program to correctly read and process DCS commands was verified. Tests made by the flight program after reading the contents of the command decoder register to establish the validity of the received data were verified through the following: DCS mode command verification, DCS data command verification, DCS data validation, and DCS error message. The operation of the following DCS commands accepted and processed by the flight program was tested: time base update, navigation update, generalized switch selector, memory dump, terminate, execute generalized maneuver, return to nominal timeline, ECS water control valve logic inhibit, execute maneuver, execute alternate sequence, targeting load, ladder magnitude limit, S-IVB/IU de-orbit, compressed data dump, and remove inhibit on the extraction maneuver.

Source record↗

Program CALIB

The program CALIB, which was written to compute noise levels and average signal levels of aperture radiance for the helicopter version of the S-191 filter wheel spectrometer is described. The program functions, and input description are included along with a compiled program listing.

Mendlowitz, M. A.↗

TraceContract: A Scala DSL for Trace Analysis

In this paper we describe TRACECONTRACT, an API for trace analysis, implemented in the SCALA programming language. We argue that for certain forms of trace analysis the best weapon is a high level programming language augmented with constructs for temporal reasoning. A trace is a sequence of events, which may for example be generated by a running program, instrumented appropriately to generate events. The API supports writing properties in a notation that combines an advanced form of data parameterized state machines with temporal logic. The implementation utilizes SCALA's support for defining internal Domain Specific Languages (DSLs). Furthermore SCALA's combination of object oriented and functional programming features, including partial functions and pattern matching, makes it an ideal host language for such an API.

log file analysis↗

Phlex: Parallel, Hierarchical, and Layered EXecution of data-processing algorithms

Phlex is a computing framework supporting the parallel, hierarchical, and layered execution of data-processing algorithms. It is based on the functional-programming paradigm, thus guaranteeing thread-safety when invoking user-defined pure functions. Phlex allows users to specify arbitrary graph-based hierarchies of data organization, enabling more flexible processing of data as required by the constraints of the program.

Knoepfel, KyleJ. [Fermi National Accelerator Labor↗

Apollo experience report: Guidance and control systems. Mission control programmer for unmanned missions AS-202, Apollo 4, and Apollo 6

An unmanned test flight program required to evaluate the command module heat shield and the structural integrity of the command and service module/Saturn launch vehicle is described. The mission control programer was developed to provide the unmanned interface between the guidance and navigation computer and the other spacecraft systems for mission event sequencing and real-time ground control during missions AS-202, Apollo 4, and Apollo 6. The development of this unmanned programer is traced from the initial concept through the flight test phase. Detailed discussions of hardware development problems are given with the resulting solutions. The mission control programer functioned correctly without any flight anomalies for all missions. The Apollo 4 mission control programer was reused for the Apollo 6 flight, thus being one of the first subsystems to be reflown on an Apollo space flight.

Holloway, G. F.↗

Predicting the Dynamic Behavior of High-Speed Roller Bearings

Computer program developed for solving nonlinear differential equations of motion of high-speed, lightly loaded, cylindrical roller bearing. Program organized into three major parts: Main program, controls input and output; differential equation solver; and subroutines, used to evaluate vector function. Program has capability of performing either twodimensional or three-dimensional simulation.

Conry, T. F.↗

Real-Time Multiprocessor Programming Language (RTMPL) user's manual

A real-time multiprocessor programming language (RTMPL) has been developed to provide for high-order programming of real-time simulations on systems of distributed computers. RTMPL is a structured, engineering-oriented language. The RTMPL utility supports a variety of multiprocessor configurations and types by generating assembly language programs according to user-specified targeting information. Many programming functions are assumed by the utility (e.g., data transfer and scaling) to reduce the programming chore. This manual describes RTMPL from a user's viewpoint. Source generation, applications, utility operation, and utility output are detailed. An example simulation is generated to illustrate many RTMPL features.

Arpasi, D. J.↗

A method for determining the response of space shuttle to atmospheric turbulence. Volume 2: Computer program description and usage instructions

A description is given of a computer program which calculates the response of an elastic aerospace vehicle to random and discrete turbulence. The program uses vibration modes as generalized coordinates. Inputs to the program include modal information, generalized aerodynamic forces, flight data, stability augmentation system description, and description of the disturbing function. Program outputs include tabulations of the ratio of root-mean-square response to root-mean-square turbulence and response upward zero crossings per second, and SC4020 plots of transfer functions, response power spectral densities, and Nyquist stability traces.

Huntington, R.↗

The Necessity of Functional Analysis for Space Exploration Programs

As NASA moves toward expanded commercial spaceflight within its human exploration capability, there is increased emphasis on how to allocate responsibilities between government and commercial organizations to achieve coordinated program objectives. The practice of program-level functional analysis offers an opportunity for improved understanding of collaborative functions among heterogeneous partners. Functional analysis is contrasted with the physical analysis more commonly done at the program level, and is shown to provide theoretical performance, risk, and safety advantages beneficial to a government-commercial partnership. Performance advantages include faster convergence to acceptable system solutions; discovery of superior solutions with higher commonality, greater simplicity and greater parallelism by substituting functional for physical redundancy to achieve robustness and safety goals; and greater organizational cohesion around program objectives. Risk advantages include avoidance of rework by revelation of some kinds of architectural and contractual mismatches before systems are specified, designed, constructed, or integrated; avoidance of cost and schedule growth by more complete and precise specifications of cost and schedule estimates; and higher likelihood of successful integration on the first try. Safety advantages include effective delineation of must-work and must-not-work functions for integrated hazard analysis, the ability to formally demonstrate completeness of safety analyses, and provably correct logic for certification of flight readiness. The key mechanism for realizing these benefits is the development of an inter-functional architecture at the program level, which reveals relationships between top-level system requirements that would otherwise be invisible using only a physical architecture. This paper describes the advantages and pitfalls of functional analysis as a means of coordinating the actions of large heterogeneous organizations for space exploration programs.

program management↗

A new programming metaphor for image processing procedures

Most image processing systems, besides an Application Program Interface (API) which lets users write their own image processing programs, also feature a higher level of programmability. Traditionally, this is a command or macro language, which can be used to build large procedures (scripts) out of simple programs or commands. This approach, a legacy of the teletypewriter has serious drawbacks. A command language is clumsy when (and if! it attempts to utilize the capabilities of a multitasking or multiprocessor environment, it is but adequate for real-time data acquisition and processing, it has a fairly steep learning curve, and the user interface is very inefficient,. especially when compared to a graphical user interface (GUI) that systems running under Xll or Windows should otherwise be able to provide. ll these difficulties stem from one basic problem: a command language is not a natural metaphor for an image processing procedure. A more natural metaphor - an image processing factory is described in detail. A factory is a set of programs (applications) that execute separate operations on images, connected by pipes that carry data (images and parameters) between them. The programs function concurrently, processing images as they arrive along pipes, and querying the user for whatever other input they need. From the user's point of view, programming (constructing) factories is a lot like playing with LEGO blocks - much more intuitive than writing scripts. Focus is on some of the difficulties of implementing factory support, most notably the design of an appropriate API. It also shows that factories retain all the functionality of a command language (including loops and conditional branches), while suffering from none of the drawbacks outlined above. Other benefits of factory programming include self-tuning factories and the process of encapsulation, which lets a factory take the shape of a standard application both from the system and the user's point of view, and thus be used as a component of other factories. A bare-bones prototype of factory programming was implemented under the PcIPS image processing system, and a complete version (on a multitasking platform) is under development.

Smirnov, O. M.↗

SNAP: A computer program for generating symbolic network functions

The computer program SNAP (symbolic network analysis program) generates symbolic network functions for networks containing R, L, and C type elements and all four types of controlled sources. The program is efficient with respect to program storage and execution time. A discussion of the basic algorithms is presented, together with user's and programmer's guides.

Lin, P. M.↗

Analyzing Commonality In A System

Cost decreased by use of fewer types of parts. System Commonality Analysis Tool (SCAT) computer program designed to aid managers and engineers in identifying common, potentially common, and unique components of system. Incorporates three major functions: program for creation and maintenance of data base, analysis of commonality, and such system utilities as host-operating-system commands and loading and unloading of data base. Produces reports tabulating maintenance, initial configurations, and expected total costs. Written in FORTRAN 77.

Pacheco, Alfred↗

CONMIN: A FORTRAN program for constrained function minimization: User's manual

CONMIN is a FORTRAN program, in subroutine form, for the solution of linear or nonlinear constrained optimization problems. The basic optimization algorithm is the Method of Feasible Directions. The user must provide a main calling program and an external routine to evaluate the objective and constraint functions and to provide gradient information. If analytic gradients of the objective or constraint functions are not available, this information is calculated by finite difference. While the program is intended primarily for efficient solution of constrained problems, unconstrained function minimization problems may also be solved, and the conjugate direction method of Fletcher and Reeves is used for this purpose. This manual describes the use of CONMIN and defines all necessary parameters. Sufficient information is provided so that the program can be used without special knowledge of optimization techniques. Sample problems are included to help the user become familiar with CONMIN and to make the program operational.

Vanderplaats, G. N.↗

Users' guide for the tabular display report generator program (TABDIS)

The tabular display report generator (TABDIS) program is described. The program functions as a document generation tool that provides tabular displays of data stored on a data file which has been generated by a user program. The main features of the program are outlined and all necessary inputs are detailed.

Braley, D. M.↗

TraceContract

TraceContract is an API (Application Programming Interface) for trace analysis. A trace is a sequence of events, and can, for example, be generated by a running program, instrumented appropriately to generate events. An event can be any data object. An example of a trace is a log file containing events that a programmer has found important to record during a program execution. Trace - Contract takes as input such a trace together with a specification formulated using the API and reports on any violations of the specification, potentially calling code (reactions) to be executed when violations are detected. The software is developed as an internal DSL (Domain Specific Language) in the Scala programming language. Scala is a relatively new programming language that is specifically convenient for defining such internal DSLs due to a number of language characteristics. This includes Scala s elegant combination of object-oriented and functional programming, a succinct notation, and an advanced type system. The DSL offers a combination of data-parameterized state machines and temporal logic, which is novel. As an extension of Scala, it is a very expressive and convenient log file analysis framework.

Kavelund, Klaus↗