Engineering Papers⌕ Search

SEARCH · Engineering Papers

Results for “Programming Languages”

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 1,729 records · Page 96

Algorithms for Automatic Alignment of Arrays

Aggregate data objects (such as arrays) are distributed across the processor memories when compiling a data-parallel language for a distributed-memory machine. The mapping determines the amount of communication needed to bring operands of parallel operations into alignment with each other. A common approach is to break the mapping into two stages: an alignment that maps all the objects to an abstract template, followed by a distribution that maps the template to the processors. This paper describes algorithms for solving the various facets of the alignment problem: axis and stride alignment, static and mobile offset alignment, and replication labeling. We show that optimal axis and stride alignment is NP-complete for general program graphs, and give a heuristic method that can explore the space of possible solutions in a number of ways. We show that some of these strategies can give better solutions than a simple greedy approach proposed earlier. We also show how local graph contractions can reduce the size of the problem significantly without changing the best solution. This allows more complex and effective heuristics to be used. We show how to model the static offset alignment problem using linear programming, and we show that loop-dependent mobile offset alignment is sometimes necessary for optimum performance. We describe an algorithm with for determining mobile alignments for objects within do loops. We also identify situations in which replicated alignment is either required by the program itself or can be used to improve performance. We describe an algorithm based on network flow that replicates objects so as to minimize the total amount of broadcast communication in replication.

Chatterjee, Siddhartha↗

Capturing and Analyzing Requirements with FRET

FRET is an open source tool, developed at NASA Ames, for writing, understanding, formalizing, and analyzing requirements. In practice, requirements are typically written in natural language, which is ambiguous and consequently not amenable to formal analysis. Since formal, mathematical notations are unintuitive, requirements in FRET are entered in a restricted, natural language, called FRETish with precise unambiguous meaning. FRET helps users write FRETish requirements both by providing grammar information and examples during editing, but also through English and diagrammatic explanations to clarify subtle semantic issues. For each requirement, FRET automatically produces formalizations and supports interactive simulation of produced formalizations to ensure that they capture user intentions. Through its analysis portal, FRET connects to analysis tools by exporting verification code. Currently FRET connects to (1) the CoCoSim automated analysis tool for the verification of Simulink and Stateflow models, and (2) the Copilot runtime monitoring tool for the analysis of C programs. FRET also supports the consistency/realizability analysis of requirements for identifying conflicting requirements. In this tutorial, we introduce FRET and learn to speak and analyze FRETish through several examples.

FRET↗

Software unit testing in Ada environment

A validation procedure for the Ada binding of the Graphical Kernel System (GKS) is being developed. PRIOR Data Sciences is also producing a version of the GKS written in Ada. These major software engineering projects will provide an opportunity to demonstrate a sound approach for software testing in an Ada environment. The GKS/Ada validation capability will be a collection of test programs and data, and test management guidelines. These products will be used to assess the correctness, completeness, and efficiency of any GKS/Ada implementation. The GKS/Ada developers will be able to obtain the validation software for their own use. It is anticipated that this validation software will eventually be taken over by an independent standards body to provide objective assessments of GKS/Ada implementations, using an approach similar to the validation testing currently applied to Ada compilers. In the meantime, if requested, this validation software will be used to assess GKS/Ada products. The second project, implementation of GKS using the Ada language, is a conventional software engineering tasks. It represents a large body of Ada code and has some interesting testing problems associated with automatic testing of graphics routines. Here the normal test practices which include automated regression testing, independent quality assistance, test configuration management, and the application of software quality metrics will be employed. The software testing methods emphasize quality enhancement and automated procedures. Ada makes some aspects of testing easier, and introduces some concerns. These issues are addressed.

Warnock, Glenn↗

Cost effective development of a Shuttle-based astronomical instrument control system

The high level language FORTH is used for the electronic control of the Space Shuttle-based Ultraviolet Imaging Telescope, in a flight computer system which minimizes costs. The greater part of the breadboard version of the flight computer is assembled from commercially available components, reducing novel circuit design features and permitting simultaneous development of both hardware and software. The commercial boards are then refabricated on aluminum core heat conducting stock, using high reliability parts to produce the flight versions of the system. The system's ground support equipment employs a MINC-25 minicomputer which performs such functions as flight computer software development, PROM programming, test and integration support, and flight operations support. The implementation of these concepts in flight computer telescope controls is described.

Parise, R. A.↗

A direct-execution parallel architecture for the Advanced Continuous Simulation Language (ACSL)

A direct-execution parallel architecture for the Advanced Continuous Simulation Language (ACSL) is presented which overcomes the traditional disadvantages of simulations executed on a digital computer. The incorporation of parallel processing allows the mapping of simulations into a digital computer to be done in the same inherently parallel manner as they are currently mapped onto an analog computer. The direct-execution format maximizes the efficiency of the executed code since the need for a high level language compiler is eliminated. Resolution is greatly increased over that which is available with an analog computer without the sacrifice in execution speed normally expected with digitial computer simulations. Although this report covers all aspects of the new architecture, key emphasis is placed on the processing element configuration and the microprogramming of the ACLS constructs. The execution times for all ACLS constructs are computed using a model of a processing element based on the AMD 29000 CPU and the AMD 29027 FPU. The increase in execution speed provided by parallel processing is exemplified by comparing the derived execution times of two ACSL programs with the execution times for the same programs executed on a similar sequential architecture.

Carroll, Chester C.↗

Program For Workload And Performance Experiments

Multi-Attribute Task (MAT) battery of computer programs gives researcher capability of performing experiments in multitask workloads and performances. Provides benchmark set of tasks for use in wide range of laboratory studies of operator performance and workload. Incorporates tasks analogous to activities aircraft crewmembers perform in flight, while providing high degree of experiment control, performance data on each subtask, and freedom to use nonpilot test subjects. Designed to use serially linked second computer to generate voice messages for communication task. Also used independently of voice computer if no computer-synthesized voice messages desired or if some other method of presenting auditory messages devised. Written in QuickBasic and Assembly language for IBM PC(R) series.

Comstock, J. Raymond, Jr.↗

Documentation for a Structural Optimization Procedure Developed Using the Engineering Analysis Language (EAL)

This report describes a structural optimization procedure developed for use with the Engineering Analysis Language (EAL) finite element analysis system. The procedure is written primarily in the EAL command language. Three external processors which are written in FORTRAN generate equivalent stiffnesses and evaluate stress and local buckling constraints for the sections. Several built-up structural sections were coded into the design procedures. These structural sections were selected for use in aircraft design, but are suitable for other applications. Sensitivity calculations use the semi-analytic method, and an extensive effort has been made to increase the execution speed and reduce the storage requirements. There is also an approximate sensitivity update method included which can significantly reduce computational time. The optimization is performed by an implementation of the MINOS V5.4 linear programming routine in a sequential liner programming procedure.

Martin, Carl J., Jr.↗

Modeling Complex Cross-Systems Software Interfaces Using SysML

The complex flight and ground systems for NASA human space exploration are designed, built, operated and managed as separate programs and projects. However, each system relies on one or more of the other systems in order to accomplish specific mission objectives, creating a complex, tightly coupled architecture. Thus, there is a fundamental need to understand how each system interacts with the other. To determine if a model-based system engineering approach could be utilized to assist with understanding the complex system interactions, the NASA Engineering and Safety Center (NESC) sponsored a task to develop an approach for performing cross-system behavior modeling. This paper presents the results of applying Model Based Systems Engineering (MBSE) principles using the System Modeling Language (SysML) to define cross-system behaviors and how they map to crosssystem software interfaces documented in system-level Interface Control Documents (ICDs).

Earth orbit↗

Computational Workbench for Multibody Dynamics

PyCraft is a computer program that provides an interactive, workbenchlike computing environment for developing and testing algorithms for multibody dynamics. Examples of multibody dynamic systems amenable to analysis with the help of PyCraft include land vehicles, spacecraft, robots, and molecular models. PyCraft is based on the Spatial-Operator- Algebra (SOA) formulation for multibody dynamics. The SOA operators enable construction of simple and compact representations of complex multibody dynamical equations. Within the Py-Craft computational workbench, users can, essentially, use the high-level SOA operator notation to represent the variety of dynamical quantities and algorithms and to perform computations interactively. PyCraft provides a Python-language interface to underlying C++ code. Working with SOA concepts, a user can create and manipulate Python-level operator classes in order to implement and evaluate new dynamical quantities and algorithms. During use of PyCraft, virtually all SOA-based algorithms are available for computational experiments.

Edmonds, Karina↗

A user view of office automation or the integrated workstation

Central data bases are useful only if they are kept up to date and easily accessible in an interactive (query) mode rather than in monthly reports that may be out of date and must be searched by hand. The concepts of automatic data capture, data base management and query languages require good communications and readily available work stations to be useful. The minimal necessary work station is a personal computer which can be an important office tool if connected into other office machines and properly integrated into an office system. It has a great deal of flexibility and can often be tailored to suit the tastes, work habits and requirements of the user. Unlike dumb terminals, there is less tendency to saturate a central computer, since its free standing capabilities are available after down loading a selection of data. The PC also permits the sharing of many other facilities, like larger computing power, sophisticated graphics programs, laser printers and communications. It can provide rapid access to common data bases able to provide more up to date information than printed reports. Portable computers can access the same familiar office facilities from anywhere in the world where a telephone connection can be made.

Schmerling, E. R.↗

A translator writing system for microcomputer high-level languages and assemblers

In order to implement high level languages whenever possible, a translator writing system of advanced design was developed. It is intended for routine production use by many programmers working on different projects. As well as a fairly conventional parser generator, it includes a system for the rapid generation of table driven code generators. The parser generator was developed from a prototype version. The translator writing system includes various tools for the management of the source text of a compiler under construction. In addition, it supplies various default source code sections so that its output is always compilable and executable. The system thereby encourages iterative enhancement as a development methodology by ensuring an executable program from the earliest stages of a compiler development project. The translator writing system includes PASCAL/48 compiler, three assemblers, and two compilers for a subset of HAL/S.

Collins, W. R.↗

Comprehension and retrieval of failure cases in airborne observatories

This paper describes research dealing with the computational problem of analyzing and repairing failures of electronic and mechanical systems of telescopes in NASA's airborne observatories, such as KAO (Kuiper Airborne Observatory) and SOFIA (Stratospheric Observatory for Infrared Astronomy). The research has resulted in the development of an experimental system that acquires knowledge of failure analysis from input text, and answers questions regarding failure detection and correction. The system's design builds upon previous work on text comprehension and question answering, including: knowledge representation for conceptual analysis of failure descriptions, strategies for mapping natural language into conceptual representations, case-based reasoning strategies for memory organization and indexing, and strategies for memory search and retrieval. These techniques have been combined into a model that accounts for: (a) how to build a knowledge base of system failures and repair procedures from descriptions that appear in telescope-operators' logbooks and FMEA (failure modes and effects analysis) manuals; and (b) how to use that knowledge base to search and retrieve answers to questions about causes and effects of failures, as well as diagnosis and repair procedures. This model has been implemented in FANSYS (Failure ANalysis SYStem), a prototype text comprehension and question answering program for failure analysis.

Alvarado, Sergio J.↗

AVIRIS Reflectance Retrievals: UCSB Users Manual

The following write-up is designed to help students and researchers take Airborne Visible/Infrared Imaging Spectrometer (AVIRIS) radiance data and retrieve surface reflectance. In the event that the software is not available, but a user has access to a reflectance product, this document is designed to provide a better understanding of how AVIRIS reflectance was retrieved. This guide assumes that the reader has both a basic understanding of the UNIX computing environment, and that of spectroscopy. Knowledge of the Interactive Data Language (IDL) and the Environment for Visualizing Images (ENVI) is helpful. This is a working document, and many of the fine details described in the following pages have been previously undocumented. After having read this document the reader should be able to process AVIRIS to reflectance, provided access to all of the code is possible. The AVIRIS radiance data itself is pre-processed at the Jet Propulsion Laboratory (JPL) in Pasadena, California. The first section of this paper describes how to read data from tape and byte-swap the data. Section 2 describes the procedure in preparing support files before running the 'h2o' suite of programs. Section 3 describes the four programs used in the process, h2olut9.f, h2ospl9.f, vlsfit9.f and rfl9.f.

Roberts, Dar A.↗

Different Perspectives on Asthenia in Astronauts and Cosmonauts: International Research Literature

The Behavioral Health and Performance (BHP) Element is one of the six elements within the NASA Human Research Program (HRP) and is responsible for managing four risks: a) The Risk of Performance Decrements due to inadequate Cooperation, Coordination, Communication and Psychological Adaptation within a Team (Team), b) the Risk of Performance Errors due to Sleep Loss, Circadian De-synchronization, Fatigue and Work Overload (Sleep), c) Risk of Behavioral Conditions (BMed), and d) the Risk of Psychiatric Disorders (BMed). The aim of this report is to address some of the recommendations made by the recent NASA HRP Standing Review Panel for the Behavioral Medicine Risk of Psychiatric Disorders. Such recommendations included: a) the inclusion of important national and international literature in English and non-English language materials; including journals, books, magazines, conference reports and b) an extensive literature review of certain types of psychological states to predict, detect, and assess adverse mental states that may negatively affect the psychological well being of the astronauts, specifically asthenia. This report was a collaborative international work effort focused on the evaluation and determination of the importance of continuing research on asthenia as a possible psychological problem that might affect the optimal psychological functioning among crewmembers during long-duration space flight missions. Russian medical personnel (flight surgeons and psychologist) have observed symptoms of asthenia (weakness, increased fatigue, irritability, and attention and memory disorders) in cosmonauts after four months in space (Myasnikov& Zamaleddinov1996; Grigorieve, 1996 ) and believe that asthenia is one of the greater risks that will affect crews? optimal psychological functioning.

Sandoval, Luis↗

Software Engineering Support of the Third Round of Scientific Grand Challenge Investigations: An Earth Modeling System Software Framework Strawman Design that Integrates Cactus and UCLA/UCB Distributed Data Broker

One of the most significant challenges in large-scale climate modeling, as well as in high-performance computing in other scientific fields, is that of effectively integrating many software models from multiple contributors. A software framework facilitates the integration task. both in the development and runtime stages of the simulation. Effective software frameworks reduce the programming burden for the investigators, freeing them to focus more on the science and less on the parallel communication implementation, while maintaining high performance across numerous supercomputer and workstation architectures. This document proposes a strawman framework design for the climate community based on the integration of Cactus, from the relativistic physics community, and UCLA/UCB Distributed Data Broker (DDB) from the climate community. This design is the result of an extensive survey of climate models and frameworks in the climate community as well as frameworks from many other scientific communities. The design addresses fundamental development and runtime needs using Cactus, a framework with interfaces for FORTRAN and C-based languages, and high-performance model communication needs using DDB. This document also specifically explores object-oriented design issues in the context of climate modeling as well as climate modeling issues in terms of object-oriented design.

Talbot, Bryan↗

Toward an IMU-Based Space Suit Motion Capture System

Spacesuits are complex engineering systems that sustain human health and enable performance outside Earth-like environments. These systems must support human mobility and physical workload demands while minimizing injury risk during extravehicular activity (EVA). Future EVA operations on the Lunar surface are expected to be more frequent and require higher physical workloads than previously during the ISS, Shuttle, and Apollo programs. To characterize the workloads and ergonomics needs a suit must support, the kinematics of the space suit must be measured during operationally-relevant tasks in ground analog environments. Kinematics capture of the suit is challenging for traditional optical motion capture (OMC) approaches due to marker occlusion, harsh lighting or environmental conditions, and tests with suit surrogates in outdoor field environments. To this end, engineers at NASA are developing the Augmented Suit Inverse Kinematics (ASIK) system, a complete motion capture method and inverse kinematics solver which relies solely on a network of wireless inertial measurement units (IMUs) attached to the major kinematic segments of the spacesuit. The ASIK modeling language allows for the simple inclusion of probabilistic priors such as suit size and shape or IMU poses. The ASIK system was tested in a 7-subject pilot study. Each subject donned NASA’s new prototype exploration spacesuit in the Active Response Gravity Offload System (ARGOS) facility at Johnson Space Center in Houston, TX. The suits were outfitted with 12 IMUs to estimate lower body and trunk kinematics. The suits were also outfitted with a set of reflective OMC markers, and traditional OMC data was collected and processed. Characterization of the ASIK-derived suit joint angles’ accuracy against an optical motion capture datum will be presented. Discussion of these results, as well as discussion of system calibration and nuances of mathematical observability, will be included.

IMU↗

The force on the flex: Global parallelism and portability

A parallel programming methodology, called the force, supports the construction of programs to be executed in parallel by an unspecified, but potentially large, number of processes. The methodology was originally developed on a pipelined, shared memory multiprocessor, the Denelcor HEP, and embodies the primitive operations of the force in a set of macros which expand into multiprocessor Fortran code. A small set of primitives is sufficient to write large parallel programs, and the system has been used to produce 10,000 line programs in computational fluid dynamics. The level of complexity of the force primitives is intermediate. It is high enough to mask detailed architectural differences between multiprocessors but low enough to give the user control over performance. The system is being ported to a medium scale multiprocessor, the Flex/32, which is a 20 processor system with a mixture of shared and local memory. Memory organization and the type of processor synchronization supported by the hardware on the two machines lead to some differences in efficient implementations of the force primitives, but the user interface remains the same. An initial implementation was done by retargeting the macros to Flexible Computer Corporation's ConCurrent C language. Subsequently, the macros were caused to directly produce the system calls which form the basis for ConCurrent C. The implementation of the Fortran based system is in step with Flexible Computer Corporations's implementation of a Fortran system in the parallel environment.

Jordan, H. F.↗

General Rotorcraft Aeromechanical Stability Program (GRASP) version 1.03: User's manual

The Rotorcraft Dynamics Division, Aeroflightdynamics Directorate, U.S. Army Aviation Research and Technology Activity has developed the General Rotorcraft Aeromechanical Stability Program (GRASP) to perform calculations that will assess the stability of rotorcraft in hovering flight and ground contact conditions. The program is designed to be state-of-the-art, hybrid, finite-element/multibody code that can be applied to all existing and future helicopter configurations. While GRASP was specifically designed to solve rotorcraft stability problems, its innovative structure and formulation allow for application to a wide range of structures. This manual describes the preparation of the input file required by Version 1.03 of GRASP, the procedures used to invoke GRASP on the NASA Ames Research Center CRAY X-MP 48 computer, and the interpretation of the output produced by GRASP. The parameters used by the input file are defined, and summaries of the input file and the job control language are included.

Hopkins, A. Stewart↗