Engineering Papers⌕ Search

SEARCH · Engineering Papers

Results for “Libraries”

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

An overview of very high level software design methods

Very High Level design methods emphasize automatic transfer of requirements to formal design specifications, and/or may concentrate on automatic transformation of formal design specifications that include some semantic information of the system into machine executable form. Very high level design methods range from general domain independent methods to approaches implementable for specific applications or domains. Applying AI techniques, abstract programming methods, domain heuristics, software engineering tools, library-based programming and other methods different approaches for higher level software design are being developed. Though one finds that a given approach does not always fall exactly in any specific class, this paper provides a classification for very high level design methods including examples for each class. These methods are analyzed and compared based on their basic approaches, strengths and feasibility for future expansion toward automatic development of software systems.

Asdjodi, Maryam↗

Procedures and tools for building large Ada systems

Some of the problems unique to building a very large Ada system are addressed. This is done through examples from experience. In the winter of 1985 and 1986, Intermetrics bootstrapped the Ada compiler, which was being built over the last few years. This system consists of about one million lines of full Ada. Over the last few years a number of procedures and tools were adopted for managing the life cycle of each of the many parts of an Ada system. Many of these procedures are well known to most system builders: release management, quality assurance testing; and source file revision control. Others are unique to working in an Ada language environment; i.e., recompilation management, Ada program library management, and managing multiple implementations. First a look is taken at how a large Ada system is broken down into pieces. The Ada definition leaves unspecified a number of issues that the system builder must address: versions, subsystems, multiple implementations, and synchronization of branched development paths. Having introduced how the Ada systems are decomposed, a look is taken, via a series of examples, at how the life cylces of those parts is managed. The procedures and tools used to manage the evolution of the system are examined. It is hoped that other Ada system builders can build upon the experience of the last few years.

Hyde, Ben↗

DEC Ada interface to Screen Management Guidelines (SMG)

DEC's Screen Management Guidelines are the Run-Time Library procedures that perform terminal-independent screen management functions on a VT100-class terminal. These procedures assist users in designing, composing, and keeping track of complex images on a video screen. There are three fundamental elements in the screen management model: the pasteboard, the virtual display, and the virtual keyboard. The pasteboard is like a two-dimensional area on which a user places and manipulates screen displays. The virtual display is a rectangular part of the terminal screen to which a program writes data with procedure calls. The virtual keyboard is a logical structure for input operation associated with a physical keyboard. SMG can be called by all major VAX languages. Through Ada, predefined language Pragmas are used to interface with SMG. These features and elements of SMG are briefly discussed.

Laomanachareon, Somsak↗

Automated FORTRAN conversion

The most pratical solution to the conversion of FORTRAN to other programming languages which STO and a few others have adopted, uses an intermediate language that is easy to translate FORTRAN into, and allows for source codes in other languages to be generated automatically. The intermediate language is the union of all other programming languages (and the trick is to create a useful union) with some extensions that reflect the nature of the algorithms. The benefits of this approach are many. First the original FORTRAN program has to be rewritten only once, and then only parts of the program: most FORTRAN code passes through without and change (i.e., assignment and simple IF statements). Software tools are provided to ease this initial translation. Once in the intermediate language, the algorithm can then be obtained in any other language automatically. An example of a subroutine from the Rispack library in ten different languages is given.

Aharonian, Gregory↗

Rehosting and retargeting an Ada compiler: A design study

The goal of this study was to develop a plan for rehosting and retargeting the Air Force Armaments Lab. Ada cross compiler. This compiler was validated in Sept. 1985 using ACVC 1.6, is written in Pascal, is hosted on a CDC Cyber 170, and is targeted to an embedded Zilog Z8002. The study was performed to determine the feasibility, cost, time, and tasks required to retarget the compiler to a DEC VAX 11/78x and rehost it to an embedded U.S. Navy AN/UYK-44 computer. Major tasks identified were rehosting the compiler front end, rewriting the back end (code generator), translating the run time environment from Z8002 assembly language to AN/UYK-44 assembly language, and developing a library manager.

Robinson, Ray↗

The preliminary SOL (Sizing and Optimization Language) reference manual

The Sizing and Optimization Language, SOL, a high-level special-purpose computer language has been developed to expedite application of numerical optimization to design problems and to make the process less error-prone. This document is a reference manual for those wishing to write SOL programs. SOL is presently available for DEC VAX/VMS systems. A SOL package is available which includes the SOL compiler and runtime library routines. An overview of SOL appears in NASA TM 100565.

Lucas, Stephen H.↗

Experimental verification of the thermodynamic properties for a jet-A fuel

Thermodynamic properties for a Jet-A fuel were determined by Shell Development Company in 1970 under a contract for NASA Lewis Research Center. The polynomial fit necessary to include Jet-A fuel (liquid and gaseous phases) in the library of thermodynamic properties of the NASA Lewis Chemical Equilibrium Program is calculated. To verify the thermodynamic data, the temperatures of mixtures of liquid Jet-A injected into a hot nitrogen stream were experimentally measured and compared to those calculated by the program. Iso-octane, a fuel for which the thermodynamic properties are well known, was used as a standard to calibrate the apparatus. The measured temperatures for the iso-octane/nitrogen mixtures reproduced the calculated temperatures except for a small loss due to the non-adiabatic behavior of the apparatus. The measurements for Jet-A were corrected for this heat loss and showed excellent agreement with the calculated temperatures. These experiments show that this process can be adequately described by the thermodynamic properties fitted for the Chemical Equilibrium Program.

Graciasalcedo, Carmen M.↗

Design of automation tools for management of descent traffic

The design of an automated air traffic control system based on a hierarchy of advisory tools for controllers is described. Compatibility of the tools with the human controller, a key objective of the design, is achieved by a judicious selection of tasks to be automated and careful attention to the design of the controller system interface. The design comprises three interconnected subsystems referred to as the Traffic Management Advisor, the Descent Advisor, and the Final Approach Spacing Tool. Each of these subsystems provides a collection of tools for specific controller positions and tasks. This paper focuses primarily on the Descent Advisor which provides automation tools for managing descent traffic. The algorithms, automation modes, and graphical interfaces incorporated in the design are described. Information generated by the Descent Advisor tools is integrated into a plan view traffic display consisting of a high-resolution color monitor. Estimated arrival times of aircraft are presented graphically on a time line, which is also used interactively in combination with a mouse input device to select and schedule arrival times. Other graphical markers indicate the location of the fuel-optimum top-of-descent point and the predicted separation distances of aircraft at a designated time-control point. Computer generated advisories provide speed and descent clearances which the controller can issue to aircraft to help them arrive at the feeder gate at the scheduled times or with specified separation distances. Two types of horizontal guidance modes, selectable by the controller, provide markers for managing the horizontal flightpaths of aircraft under various conditions. The entire system consisting of descent advisor algorithm, a library of aircraft performance models, national airspace system data bases, and interactive display software has been implemented on a workstation made by Sun Microsystems, Inc. It is planned to use this configuration in operational evaluations at an en route center.

Erzberger, Heinz↗

Parallel processors and nonlinear structural dynamics algorithms and software

A nonlinear structural dynamics finite element program was developed to run on a shared memory multiprocessor with pipeline processors. The program, WHAMS, was used as a framework for this work. The program employs explicit time integration and has the capability to handle both the nonlinear material behavior and large displacement response of 3-D structures. The elasto-plastic material model uses an isotropic strain hardening law which is input as a piecewise linear function. Geometric nonlinearities are handled by a corotational formulation in which a coordinate system is embedded at the integration point of each element. Currently, the program has an element library consisting of a beam element based on Euler-Bernoulli theory and trianglar and quadrilateral plate element based on Mindlin theory.

Belytschko, Ted↗

A review of some problems in global-local stress analysis

The various types of local-global finite-element problems point out the need to develop a new generation of software. First, this new software needs to have a complete analysis capability, encompassing linear and nonlinear analysis of 1-, 2-, and 3-dimensional finite-element models, as well as mixed dimensional models. The software must be capable of treating static and dynamic (vibration and transient response) problems, including the stability effects of initial stress, and the software should be able to treat both elastic and elasto-plastic materials. The software should carry a set of optional diagnostics to assist the program user during model generation in order to help avoid obvious structural modeling errors. In addition, the program software should be well documented so the user has a complete technical reference for each type of element contained in the program library, including information on such topics as the type of numerical integration, use of underintegration, and inclusion of incompatible modes, etc. Some packaged information should also be available to assist the user in building mixed-dimensional models. An important advancement in finite-element software should be in the development of program modularity, so that the user can select from a menu various basic operations in matrix structural analysis.

Nelson, Richard B.↗

An approach to distributed execution of Ada programs

Intelligent control of the Space Station will require the coordinated execution of computer programs across a substantial number of computing elements. It will be important to develop large subsets of these programs in the form of a single program which executes in a distributed fashion across a number of processors. A translation strategy for distributed execution of Ada programs in which library packages and subprograms may be distributed is described. A preliminary version of the translator is operational. Simple data objects (no records or arrays as yet), subprograms, and static tasks may be referenced remotely.

Volz, R. A.↗

Parallel language constructs for tensor product computations on loosely coupled architectures

Distributed memory architectures offer high levels of performance and flexibility, but have proven awkard to program. Current languages for nonshared memory architectures provide a relatively low level programming environment, and are poorly suited to modular programming, and to the construction of libraries. A set of language primitives designed to allow the specification of parallel numerical algorithms at a higher level is described. Tensor product array computations are focused on along with a simple but important class of numerical algorithms. The problem of programming 1-D kernal routines is focused on first, such as parallel tridiagonal solvers, and then how such parallel kernels can be combined to form parallel tensor product algorithms is examined.

Mehrotra, Piyush↗

Transputer parallel processing at NASA Lewis Research Center

The transputer parallel processing lab at NASA Lewis Research Center (LeRC) consists of 69 processors (transputers) that can be connected into various networks for use in general purpose concurrent processing applications. The main goal of the lab is to develop concurrent scientific and engineering application programs that will take advantage of the computational speed increases available on a parallel processor over the traditional sequential processor. Current research involves the development of basic programming tools. These tools will help standardize program interfaces to specific hardware by providing a set of common libraries for applications programmers. The thrust of the current effort is in developing a set of tools for graphics rendering/animation. The applications programmer currently has two options for on-screen plotting. One option can be used for static graphics displays and the other can be used for animated motion. The option for static display involves the use of 2-D graphics primitives that can be called from within an application program. These routines perform the standard 2-D geometric graphics operations in real-coordinate space as well as allowing multiple windows on a single screen.

Ellis, Graham K.↗

Assessment of SPAR elements and formulation of some basic 2-D and 3-D elements for use with testbed generic element processor

The initial Computational Structural Mechanics (CSM) Testbed was based on Level 13 of the SPAR finite element computer program. Until recently, the element library of the Testbed has been limited to those elements in Level 13 of SPAR. The development of a generic element processor has enabled element researchers to develop, implement and assess element formulations with relative ease. An assessment of new elements as well as the existing SPAR Level 13 elements has revealed some definite shortcomings with the SPAR Level 13 2-D and 3-D elements. The SPAR S81 solid element does not pass the patch test problem proposed by MacNeal-Harder. These deficiencies are identified here. The 2-D elements, however, seem to perform well taking into account the limitations imposed by the theory used to formulate them, (i.e., thin plates only). Common deficiencies of the 2-D and 3-D elements in SPAR have to do with their adaptability to the nonlinear analysis utilities developed by Lockheed Palo Alto Research Lab. Also, the EFIL format of the SPAR element data does not conform to the standard format of the Testbed.

Aminpour, Mohammad A.↗

Applicability of mathematical modeling to problems of environmental physiology

The paper traces the evolution of mathematical modeling and systems analysis from terrestrial research to research related to space biomedicine and back again to terrestrial research. Topics covered include: power spectral analysis of physiological signals; pattern recognition models for detection of disease processes; and, computer-aided diagnosis programs used in conjunction with a special on-line biomedical computer library.

White, Ronald J.↗

A high-performance FFT algorithm for vector supercomputers

Many traditional algorithms for computing the fast Fourier transform (FFT) on conventional computers are unacceptable for advanced vector and parallel computers because they involve nonunit, power-of-two memory strides. A practical technique for computing the FFT that avoids all such strides and appears to be near-optimal for a variety of current vector and parallel computers is presented. Performance results of a program based on this technique are given. Notable among these results is that a FORTRAN implementation of this algorithm on the CRAY-2 runs up to 77-percent faster than Cray's assembly-coded library routine.

Bailey, David H.↗

Gravitational effects on planetary neutron flux spectra

The effects of gravity on the planetary neutron flux spectra for planet Mars, and the lifetime of the neutron, were investigated using a modified one-dimensional diffusion accelerated neutral-particle transport code, coupled with a multigroup cross-section library tailored specifically for Mars. The results showed the presence of a qualitatively new feature in planetary neutron leakage spectra in the form of a component of returning neutrons with kinetic energies less than the gravitational binding energy (0.132 eV for Mars). The net effect is an enhancement in flux at the lowest energies that is largest at and above the outermost layer of planetary matter.

Feldman, W. C.↗

Storage and computationally efficient permutations of factorized covariance and square-root information matrices

A unified method to permute vector-stored upper-triangular diagonal factorized covariance (UD) and vector stored upper-triangular square-root information filter (SRIF) arrays is presented. The method involves cyclical permutation of the rows and columns of the arrays and retriangularization with appropriate square-root-free fast Givens rotations or elementary slow Givens reflections. A minimal amount of computation is performed and only one scratch vector of size N is required, where N is the column dimension of the arrays. To make the method efficient for large SRIF arrays on a virtual memory machine, three additional scratch vectors each of size N are used to avoid expensive paging faults. The method discussed is compared with the methods and routines of Bierman's Estimation Subroutine Library (ESL).

Muellerschoen, R. J.↗