Engineering Papers⌕ Search

SEARCH · Engineering Papers

Results for “Programming Practices”

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

Criteria for software modularization

A central issue in programming practice involves determining the appropriate size and information content of a software module. This study attempted to determine the effectiveness of two widely used criteria for software modularization, strength and size, in reducing fault rate and development cost. Data from 453 FORTRAN modules developed by professional programmers were analyzed. The results indicated that module strength is a good criterion with respect to fault rate, whereas arbitrary module size limitations inhibit programmer productivity. This analysis is a first step toward defining empirically based standards for software modularization.

Card, David N.↗

A design methodology for portable software on parallel computers

This final report for research that was supported by grant number NAG-1-995 documents our progress in addressing two difficulties in parallel programming. The first difficulty is developing software that will execute quickly on a parallel computer. The second difficulty is transporting software between dissimilar parallel computers. In general, we expect that more hardware-specific information will be included in software designs for parallel computers than in designs for sequential computers. This inclusion is an instance of portability being sacrificed for high performance. New parallel computers are being introduced frequently. Trying to keep one's software on the current high performance hardware, a software developer almost continually faces yet another expensive software transportation. The problem of the proposed research is to create a design methodology that helps designers to more precisely control both portability and hardware-specific programming details. The proposed research emphasizes programming for scientific applications. We completed our study of the parallelizability of a subsystem of the NASA Earth Radiation Budget Experiment (ERBE) data processing system. This work is summarized in section two. A more detailed description is provided in Appendix A ('Programming Practices to Support Eventual Parallelism'). Mr. Chrisman, a graduate student, wrote and successfully defended a Ph.D. dissertation proposal which describes our research associated with the issues of software portability and high performance. The list of research tasks are specified in the proposal. The proposal 'A Design Methodology for Portable Software on Parallel Computers' is summarized in section three and is provided in its entirety in Appendix B. We are currently studying a proposed subsystem of the NASA Clouds and the Earth's Radiant Energy System (CERES) data processing system. This software is the proof-of-concept for the Ph.D. dissertation. We have implemented and measured the performance of a portion of this subsystem on the Intel iPSC/2 parallel computer. These results are provided in section four. Our future work is summarized in section five, our acknowledgements are stated in section six, and references for published papers associated with NAG-1-995 are provided in section seven.

Nicol, David M.↗

Characterizing and Modeling the Cost of Rework in a Library of Reusable Software Components

In this paper we characterize and model the cost of rework in a Component Factory (CF) organization. A CF is responsible for developing and packaging reusable software components. Data was collected on corrective maintenance activities for the Generalized Support Software reuse asset library located at the Flight Dynamics Division of NASA's GSFC. We then constructed a predictive model of the cost of rework using the C4.5 system for generating a logical classification model. The predictor variables for the model are measures of internal software product attributes. The model demonstrates good prediction accuracy, and can be used by managers to allocate resources for corrective maintenance activities. Furthermore, we used the model to generate proscriptive coding guidelines to improve programming, practices so that the cost of rework can be reduced in the future. The general approach we have used is applicable to other environments.

Basili, Victor R.↗

Program Instrumentation and Trace Analysis

Several attempts have been made recently to apply techniques such as model checking and theorem proving to the analysis of programs. This shall be seen as a current trend to analyze real software systems instead of just their designs. This includes our own effort to develop a model checker for Java, the Java PathFinder 1, one of the very first of its kind in 1998. However, model checking cannot handle very large programs without some kind of abstraction of the program. This paper describes a complementary scalable technique to handle such large programs. Our interest is turned on the observation part of the equation: How much information can be extracted about a program from observing a single execution trace? It is our intention to develop a technology that can be applied automatically and to large full-size applications, with minimal modification to the code. We present a tool, Java PathExplorer (JPaX), for exploring execution traces of Java programs. The tool prioritizes scalability for completeness, and is directed towards detecting errors in programs, not to prove correctness. One core element in JPaX is an instrumentation package that allows to instrument Java byte code files to log various events when executed. The instrumentation is driven by a user provided script that specifies what information to log. Examples of instructions that such a script can contain are: 'report name and arguments of all called methods defined in class C, together with a timestamp'; 'report all updates to all variables'; and 'report all acquisitions and releases of locks'. In more complex instructions one can specify that certain expressions should be evaluated and even that certain code should be executed under various conditions. The instrumentation package can hence be seen as implementing Aspect Oriented Programming for Java in the sense that one can add functionality to a Java program without explicitly changing the code of the original program, but one rather writes an aspect and compiles it into the original program using the instrumentation. Another core element of JPaX is an observation package that supports the analysis of the generated event stream. Two kinds of analysis are currently supported. In temporal analysis the execution trace is evaluated against formulae written in temporal logic. We have implemented a temporal logic evaluator on finite traces using the Maude rewriting system from SRI International, USA. Temporal logic is defined in Maude by giving its syntax as a signature and its semantics as rewrite equations. The resulting semantics is extremely efficient and can handle event streams of hundreds of millions events in few minutes. Furthermore, the implementation is very succinct. The second form of even stream analysis supported is error pattern analysis where an execution trace is analyzed using various error detection algorithms that can identify error-prone programming practices that may potentially lead to errors in some different executions. Two such algorithms focusing on concurrency errors have been implemented in JPaX, one for deadlocks and the other for data races. It is important to note, that a deadlock or data race potential does not need to occur in order for its potential to be detected with these algorithms. This is what makes them very scalable in practice. The data race algorithm implemented is the Eraser algorithm from Compaq, however adopted to Java. The tool is currently being applied to a code base for controlling a spacecraft by the developers of that software in order to evaluate its applicability.

Havelund, Klaus↗

An Open Source Simulation System

An investigation into the current state of the art of open source real time programming practices. This document includes what technologies are available, how easy is it to obtain, configure, and use them, and some performance measures done on the different systems. A matrix of vendors and their products is included as part of this investigation, but this is not an exhaustive list, and represents only a snapshot of time in a field that is changing rapidly. Specifically, there are three approaches investigated: 1. Completely open source on generic hardware, downloaded from the net. 2. Open source packaged by a vender and provided as free evaluation copy. 3. Proprietary hardware with pre-loaded proprietary source available software provided by the vender as for our evaluation.

Slack, Thomas↗

Issues and Methods Concerning the Evaluation of Hypersingular and Near-Hypersingular Integrals in BEM Formulations

It is known that higher order modeling of the sources and the geometry in Boundary Element Modeling (BEM) formulations is essential to highly efficient computational electromagnetics. However, in order to achieve the benefits of hIgher order basis and geometry modeling, the singular and near-singular terms arising in BEM formulations must be integrated accurately. In particular, the accurate integration of near-singular terms, which occur when observation points are near but not on source regions of the scattering object, has been considered one of the remaining limitations on the computational efficiency of integral equation methods. The method of singularity subtraction has been used extensively for the evaluation of singular and near-singular terms. Piecewise integration of the source terms in this manner, while manageable for bases of constant and linear orders, becomes unwieldy and prone to error for bases of higher order. Furthermore, we find that the singularity subtraction method is not conducive to object-oriented programming practices, particularly in the context of multiple operators. To extend the capabilities, accuracy, and maintainability of general-purpose codes, the subtraction method is being replaced in favor of the purely numerical quadrature schemes. These schemes employ singularity cancellation methods in which a change of variables is chosen such that the Jacobian of the transformation cancels the singularity. An example of the sin,oularity cancellation approach is the Duffy method, which has two major drawbacks: 1) In the resulting integrand, it produces an angular variation about the singular point that becomes nearly-singular for observation points close to an edge of the parent element, and 2) it appears not to work well when applied to nearly-singular integrals. Recently, the authors have introduced the transformation u(x(prime))= sinh (exp -1) x(prime)/Square root of ((y prime (exp 2))+ z(exp 2) for integrating functions of the form I = Integral of (lambda(r(prime))((e(exp -jkR))/(4 pi R) d D where A (r (prime)) is a vector or scalar basis function and R = Square root of( (x(prime)(exp2) + (y(prime)(exp2) + z(exp 2)) is the distance between source and observation points. This scheme has all of the advantages of the Duffy method while avoiding the disadvantages listed above. In this presentation we will survey similar approaches for handling singular and near-singular terms for kernels with 1/R(exp 2) type behavior, addressing potential pitfalls and offering techniques to efficiently handle special cases.

Fink, P. W.↗

Novel approaches and application of contemporary sensory evaluation practices in iron fortification programs

Iron deficiency is the leading nutritional deficiency in the U.S. and the rest of the world, with its highest prevalences in the developing world. Iron fortification of food has been proposed as a strategy to reduce the high prevalence of iron deficiency. Poor consumer acceptance, unacceptable taste, and discoloration of the iron-fortified foods have been frequently listed as causes of unsuccessful iron fortification programs. An excellent prospect for improving consumer acceptance of iron-fortified foods is the incorporation of a thorough, organized, and unified approach to sensory evaluation practices into iron fortification programs for product optimization. The information gained from systematic sensory evaluation allows for the manipulation of the sensory attributes, and thus improvement of the sensory properties of the fortified food. However, iron fortification programs have not systematically measured the effect of fortification on the sensory quality of the food. Because sensory evaluation is an important criterion in successful iron fortification, an integrated approach is necessary. Therefore, nutritionists and sensory scientists should work closely with each other to select the most suitable sensory tests and methods. The objectives of this article are to: (1) critically review and discuss some traditional and contemporary approaches and applications of sensory evaluation practices in iron fortification programs, and (2) demonstrate the importance of incorporating a multidisciplinary, systematic sensory evaluation approach in iron fortification programs.

Review, Tutorial↗

Social Network and Content Analysis of the North American Carbon Program as a Scientific Community of Practice

The North American Carbon Program (NACP) was formed to further the scientific understanding of sources, sinks, and stocks of carbon in Earth's environment. Carbon cycle science integrates multidisciplinary research, providing decision-support information for managing climate and carbon-related change across multiple sectors of society. This investigation uses the conceptual framework of com-munities of practice (CoP) to explore the role that the NACP has played in connecting researchers into a carbon cycle knowledge network, and in enabling them to conduct physical science that includes ideas from social science. A CoP describes the communities formed when people consistently engage in shared communication and activities toward a common passion or learning goal. We apply the CoP model by using keyword analysis of abstracts from scientific publications to analyze the research outputs of the NACP in terms of its knowledge domain. We also construct a co-authorship network from the publications of core NACP members, describe the structure and social pathways within the community. Results of the content analysis indicate that the NACP community of practice has substantially expanded its research on human and social impacts on the carbon cycle, contributing to a better understanding of how human and physical processes interact with one another. Results of the co-authorship social network analysis demonstrate that the NACP has formed a tightly connected community with many social pathways through which knowledge may flow, and that it has also expanded its network of institutions involved in carbon cycle research over the past seven years.

Knowledge domain↗

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↗

Computational fluid dynamics at NASA Ames and the numerical aerodynamic simulation program

Computers are playing an increasingly important role in the field of aerodynamics such as that they now serve as a major complement to wind tunnels in aerospace research and development. Factors pacing advances in computational aerodynamics are identified, including the amount of computational power required to take the next major step in the discipline. The four main areas of computational aerodynamics research at NASA Ames Research Center which are directed toward extending the state of the art are identified and discussed. Example results obtained from approximate forms of the governing equations are presented and discussed, both in the context of levels of computer power required and the degree to which they either further the frontiers of research or apply to programs of practical importance. Finally, the Numerical Aerodynamic Simulation Program--with its 1988 target of achieving a sustained computational rate of 1 billion floating-point operations per second--is discussed in terms of its goals, status, and its projected effect on the future of computational aerodynamics.

Peterson, V. L.↗

Design for reliability: NASA reliability preferred practices for design and test

This tutorial summarizes reliability experience from both NASA and industry and reflects engineering practices that support current and future civil space programs. These practices were collected from various NASA field centers and were reviewed by a committee of senior technical representatives from the participating centers (members are listed at the end). The material for this tutorial was taken from the publication issued by the NASA Reliability and Maintainability Steering Committee (NASA Reliability Preferred Practices for Design and Test. NASA TM-4322, 1991). Reliability must be an integral part of the systems engineering process. Although both disciplines must be weighed equally with other technical and programmatic demands, the application of sound reliability principles will be the key to the effectiveness and affordability of America's space program. Our space programs have shown that reliability efforts must focus on the design characteristics that affect the frequency of failure. Herein, we emphasize that these identified design characteristics must be controlled by applying conservative engineering principles.

Lalli, Vincent R.↗

Practical application of computer programs for supersonic combustion

Experimental data were interpreted using two supersonic combustion computer programs. The P1 program is based on a conventional boundary layer treatment of the mixing of concentric gas streams and complete combustion chemistry. The H1 program is based on a modified boundary layer approach which accounts for radial pressure gradients in the flow and also incorporates a finite rate chemistry calculation. The objective of the investigation was to compare the experimental data with theoretical predictions of the two programs with special emphasis on the prediction of radial pressure gradients by the H1 program. A test of the H1 program was also desired through comparison with the experimental data and with the P1 program.

Groves, F. R., Jr.↗

NASA preferred reliability-practices for design and test

NASA HQ established the NASA R&M Steering Committee (R&MSC) comprised of membership from each NASA field center. The primary charter of the R&MSC is to obtain, record, and share the best design practices that NASA has applied to successful space flight programs and current design considerations (guidelines) that should enhance flight reliability on emerging programs. The practices and guidelines are being assembled in a living document for distribution to NASA centers and the aerospace community. The document will be updated annually with additional practices and guidelines as contributions from the centers are reviewed and approved by the R&MSC. Practices and guidelines are not requirements, but rather a means of sharing procedures and techniques that a given center and the R&MSC together feel have strong technical merit and application to the design of space-related equipment.

Lisk, Ronald C.↗

Environmental projects. Volume 16: Waste minimization assessment

The Goldstone Deep Space Communications Complex (GDSCC), located in the MoJave Desert, is part of the National Aeronautics and Space Administration's (NASA's) Deep Space Network (DSN), the world's largest and most sensitive scientific telecommunications and radio navigation network. The Goldstone Complex is operated for NASA by the Jet Propulsion Laboratory. At present, activities at the GDSCC support the operation of nine parabolic dish antennas situated at five separate locations known as 'sites.' Each of the five sites at the GDSCC has one or more antennas, called 'Deep Space Stations' (DSS's). In the course of operation of these DSS's, various hazardous and non-hazardous wastes are generated. In 1992, JPL retained Kleinfelder, Inc., San Diego, California, to quantify the various streams of hazardous and non-hazardous wastes generated at the GDSCC. In June 1992, Kleinfelder, Inc., submitted a report to JPL entitled 'Waste Minimization Assessment.' This present volume is a JPL-expanded version of the Kleinfelder, Inc. report. The 'Waste Minimization Assessment' report did not find any deficiencies in the various waste-management programs now practiced at the GDSCC, and it found that these programs are being carried out in accordance with environmental rules and regulations.

Source record↗

Solar Heating and Cooling Development Program

Heating is practical now, but cooling needs more development. Report describes program for design and development of solar heating and cooling systems having high performance, low cost and modular application. Describes main technical features of each of systems. Presents summary of performance and costs.

Aaen, R.↗

Dummy Cup Helps Robot-Welder Programmers

Dummy gas cup used on torch of robotic welder during programming and practice runs. Made of metal or plastic, dummy cup inexpensive and durable. Withstands bumps caused by programming errors, and is sized for special welding jobs within limited clearances. After robot satisfactorily programmed, replaced by ceramic cup of same dimensions for actual welding.

Gordon, Stephen S.↗

Seven Key Principles of Program and Project Success: A Best Practices Survey

The National Aeronautics and Space Administration (NASA) Organization Design Team (ODT), consisting of 20 seasoned program and project managers and systems engineers from a broad spectrum of the aerospace industry, academia, and government, was formed to support the Next Generation Launch Technology (NGLT) Program and the Constellation Systems Program. The purpose of the ODT was to investigate organizational factors that can lead to success or failure of complex government programs, and to identify tools and methods for the design, modeling, and analysis of new and more-efficient program and project organizations. The ODT conducted a series of workshops featuring invited lectures from seasoned program and project managers representing 25 significant technical programs spanning 50 years of experience. The result was the identification of seven key principles of program success that can be used to help design and operate future program organizations. This paper presents the success principles and examples of best practices that can significantly improve the design of program, project, and performing technical line organizations, the assessment of workforce needs and organization performance, and the execution of programs and projects.

Bilardo, Vincent J.↗