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,603 records · Page 89

Programming methodology for a general purpose automation controller

The General Purpose Automation Controller is a multi-processor architecture for automation programming. A methodology has been developed whose aim is to simplify the task of programming distributed real-time systems for users in research or manufacturing. Programs are built by configuring function blocks (low-level computations) into processes using data flow principles. These processes are activated through the verb mechanism. Verbs are divided into two classes: those which support devices, such as robot joint servos, and those which perform actions on devices, such as motion control. This programming methodology was developed in order to achieve the following goals: (1) specifications for real-time programs which are to a high degree independent of hardware considerations such as processor, bus, and interconnect technology; (2) a component approach to software, so that software required to support new devices and technologies can be integrated by reconfiguring existing building blocks; (3) resistance to error and ease of debugging; and (4) a powerful command language interface.

Sturzenbecker, M. C.↗

Panel Resource Management (PRM) Implementation and Effects within Safety Review Panel Settings and Dynamics

While technical training and advanced degree's assure proficiency at specific tasks within engineering disciplines, they fail to address the potential for communication breakdown and decision making errors familiar to multicultural environments where language barriers, intimidating personalities and interdisciplinary misconceptions exist. In an effort to minimize these pitfalls to effective panel review, NASA's lead safety engineers to the ISS Safety Review Panel (SRP), and Payload Safety Review Panel (PSRP) initiated training with their engineers, in conjunction with the panel chairs, and began a Panel Resource Management (PRM) program. The intent of this program focuses on the ability to reduce the barriers inhibiting effective participation from all panel attendees by bolstering participants confidence levels through increased communication skills, situational awareness, debriefing, and a better technical understanding of requirements and systems.

Taylor, Robert W.↗

LEGION: Lightweight Expandable Group of Independently Operating Nodes

LEGION is a lightweight C-language software library that enables distributed asynchronous data processing with a loosely coupled set of compute nodes. Loosely coupled means that a node can offer itself in service to a larger task at any time and can withdraw itself from service at any time, provided it is not actively engaged in an assignment. The main program, i.e., the one attempting to solve the larger task, does not need to know up front which nodes will be available, how many nodes will be available, or at what times the nodes will be available, which is normally the case in a "volunteer computing" framework. The LEGION software accomplishes its goals by providing message-based, inter-process communication similar to MPI (message passing interface), but without the tight coupling requirements. The software is lightweight and easy to install as it is written in standard C with no exotic library dependencies. LEGION has been demonstrated in a challenging planetary science application in which a machine learning system is used in closed-loop fashion to efficiently explore the input parameter space of a complex numerical simulation. The machine learning system decides which jobs to run through the simulator; then, through LEGION calls, the system farms those jobs out to a collection of compute nodes, retrieves the job results as they become available, and updates a predictive model of how the simulator maps inputs to outputs. The machine learning system decides which new set of jobs would be most informative to run given the results so far; this basic loop is repeated until sufficient insight into the physical system modeled by the simulator is obtained.

Burl, Michael C.↗

Data Management Working Group report

The current flight qualification program lags technology insertion by 6 to 10 years. The objective is to develop an integrated software engineering and development environment assisted by an expert system technology. An operating system needs to be developed which is portable to the on-board computers of the year 2000. The use of ADA verses a High-Order Language; fault tolerance; fiber optics networks; communication protocols; and security are also examined and outlined.

Filardo, Edward J.↗

Window-Based Graphics For Scheduling

XOPPS computer program generates window-based graphics for scheduling and planning projects. Provides easy and fast on-screen "what-you-see-is-what-you-get" editing capabilities. Object-oriented, but unique in its capability for creating objects that have date attributes. Can be used in conjunction with project-management software. Written in C language for Sunseries workstations running SunOS. XOPPS was developed in 1992, based on the Sunview version of OPPS (NPO-18439) developed in 1990. It is copyrighted work with all copyright vested in NASA.

Mulnix, Cassie↗

The alignment-distribution graph

Implementing a data-parallel language such as Fortran 90 on a distributed-memory parallel computer requires distributing aggregate data objects (such as arrays) among the memory modules attached to the processors. The mapping of objects to the machine determines the amount of residual communication needed to bring operands of parallel operations into alignment with each other. We present a program representation called the alignment distribution graph that makes these communication requirements explicit. We describe the details of the representation, show how to model communication cost in this framework, and outline several algorithms for determining object mappings that approximately minimize residual communication.

Chatterjee, Siddhartha↗

The alignment-distribution graph

Implementing a data-parallel language such as Fortran 90 on a distributed-memory parallel computer requires distributing aggregate data objects (such as arrays) among the memory modules attached to the processors. The mapping of objects to the machine determines the amount of residual communication needed to bring operands of parallel operations into alignment with each other. We present a program representation called the alignment-distribution graph that makes these communication requirements explicit. We describe the details of the representation, show how to model communication cost in this framework, and outline several algorithms for determining object mappings that approximately minimize residual communication.

Chatterjee, Siddhartha↗

Using CLIPS in the domain of knowledge-based massively parallel programming

The Program Development Environment (PDE) is a tool for massively parallel programming of distributed-memory architectures. Adopting a knowledge-based approach, the PDE eliminates the complexity introduced by parallel hardware with distributed memory and offers complete transparency in respect of parallelism exploitation. The knowledge-based part of the PDE is realized in CLIPS. Its principal task is to find an efficient parallel realization of the application specified by the user in a comfortable, abstract, domain-oriented formalism. A large collection of fine-grain parallel algorithmic skeletons, represented as COOL objects in a tree hierarchy, contains the algorithmic knowledge. A hybrid knowledge base with rule modules and procedural parts, encoding expertise about application domain, parallel programming, software engineering, and parallel hardware, enables a high degree of automation in the software development process. In this paper, important aspects of the implementation of the PDE using CLIPS and COOL are shown, including the embedding of CLIPS with C++-based parts of the PDE. The appropriateness of the chosen approach and of the CLIPS language for knowledge-based software engineering are discussed.

Dvorak, Jiri J.↗

Algorithm and program for information processing with the filin apparatus

The reduction of spectral radiation data from space sources is described. The algorithm and program for identifying segments of information obtained from the Film telescope-spectrometer on the Salyut-4 are presented. The information segments represent suspected X-ray sources. The proposed algorithm is an algorithm of the lowest level. Following evaluation, information free of uninformative segments is subject to further processing with algorithms of a higher level. The language used is FORTRAN 4.

Gurin, L. S.↗

ISyCL technical report

The Air Force Integrated Information Systems Evolution Environment (IISEE) is a program focused on the development of technology for enabling the planning definition development and maintenance of evolutionary integrated information systems. This program has studied the representational needs of this knowledge base from the point of view of the needs of engineering, manufacturing, and logistics Evolutionary Information Systems (EIS). The definition of the concepts for a suite of automated tools and environments to support the pursuit of such engineering, manufacturing, and logistics EIS's has also required examination of languages and representation schemes for the knowledge base of these integrated systems. To accomplish this purpose, the language must be very rich, and must support object orientation, relational orientation, persistent storage, process transaction specification, and first order logic. The task of designing a unified language which supports these paradigms is a challenge. The Information Systems Constraint Language (ISyCL) is described. It was designed to meet the definitional and knowledge representation needs of three perspectives. It supports users from the area expert to the data base designer.

Decker, Louis P.↗

Development of a State Machine Sequencer for the Keck Interferometer: Evolution, Development and Lessons Learned using a CASE Tool Approach

This paper presents a discussion of the evolution of a sequencer from a simple EPICS (Experimental Physics and Industrial Control System) based sequencer into a complex implementation designed utilizing UML (Unified Modeling Language) methodologies and a CASE (Computer Aided Software Engineering) tool approach. The main purpose of the sequencer (called the IF Sequencer) is to provide overall control of the Keck Interferometer to enable science operations be carried out by a single operator (and/or observer). The interferometer links the two 10m telescopes of the W. M. Keck Observatory at Mauna Kea, Hawaii. The IF Sequencer is a high-level, multi-threaded, Hare1 finite state machine, software program designed to orchestrate several lower-level hardware and software hard real time subsystems that must perform their work in a specific and sequential order. The sequencing need not be done in hard real-time. Each state machine thread commands either a high-speed real-time multiple mode embedded controller via CORB A, or slower controllers via EPICS Channel Access interfaces. The overall operation of the system is simplified by the automation. The UML is discussed and our use of it to implement the sequencer is presented. The decision to use the Rhapsody product as our CASE tool is explained and reflected upon. Most importantly, a section on lessons learned is presented and the difficulty of integrating CASE tool automatically generated C++ code into a large control system consisting of multiple infrastructures is presented.

interferometer↗

Ground Operations Aerospace Language (GOAL). Volume 2: Compiler

The principal elements and functions of the Ground Operations Aerospace Language (GOAL) compiler are presented. The technique used to transcribe the syntax diagrams into machine processable format for use by the parsing routines is described. An explanation of the parsing technique used to process GOAL source statements is included. The compiler diagnostics and the output reports generated during a GOAL compilation are explained. A description of the GOAL program package is provided.

Source record↗

Project Explorer

PROJECT EXPLORER is a program that will fly student-developed experiments onboard the Space Shuttle in NASA's Get-Away Special (GAS) containers. The program is co-sponsored by the Alabama Space and Rocket Center, the Alabama-Mississippi Section of the American Institute of Aeronautics and Astronautics, Alabama A&M University and requires extensive support by the University of Alabama in Huntsville. A unique feature of this project will demonstrate transmissions to ground stations on amateur radio frequencies in English language. Experiments Nos. 1, 2, and 3 use the microgravity of space flight to study the solidification of lead-antimony and aluminum-copper alloys, the growth of potassium-tetracyanoplatinate hydrate crystals in an aqueous solution, and the germination of radish seeds. Flight results will be compared with Earth-based data. Experiment No. 4 features radio transmission and will also provide timing for the start of all other experiments. A microprocessor will obtain real-time data from all experiments as well as temperature and pressure measurements taken inside the canister. These data will be transmitted on previously announced amateur radio frequencies after they have been converted into the English language by a digitalker for general reception.

Dannenberg, K. K.↗

On instruction sets and their formats

Central to instruction set design is the issue of the instruction format. Some common format encoding techniques are discussed, and a method of representing high-level language parse trees by means of formats that cover successively larger portions of a tree is introduced. Variations are introduced on the method that represent directed acyclic graphs as well as simple parse trees, and that encode constants in a special fashion. For a particular representation, the number of times each format is executed to run a sample program to completion is measured.

Flynn, M. J.↗

A structured data transfer protocol

The transfer of data between different computers and programs can be a major obstacle during data analysis. We present a new data transfer protocol which is based on a simple structure containing a value, an error, and a unit. Each of these members can be arrays or another structure. The ability to nest structures allows for the concept of objects. When using an object-oriented language such as C++, reference can be made to the object name instead of each element explicitly. Prototype code has been written which implements the basic design with enhancements planned for the future.

Barrett, P.↗

NESSUS/expert and NESSUS/FPI in the Probabilistic Structural Analysis Methods (PSAM) program

The Numerical Evaluation of Stochastic Structures under Stress (NESSUS) is the primary computer code being developed in the NASA Probabilistic Structural Analysis Methods (PSAM) project. It consists of four modules NESSUS/EXPERT, NESSUS/FPI, NESSUS/PRE and NESSUS/FEM. This presentation concentrates on EXPERT and FPI. To provide an effective interface between NESSUS and the user, an expert system module called NESSUS/EXPERT is being developed. That system uses the CLIPS artificial intelligence code developed to NASA-JSC. The code is compatible with FORTRAN, the standard language for codes in PSAM. The user interacts with the CLIPS inference engine, which is linked to the knowledge database. The perturbation database generated by NESSUS/FEM and managed in EXPERT is used to develop the so-called response or performance model in the random variables. Two independent probabilistic methods are available in PSAM for the computation of the probabilistic structural response. These are the Fast Probability Integration (FPI) method and Monte Carlo simulation. FPI is classified as an advanced reliability method and has been developed over the past ten years by researchers addressing the reliability of civil engineering structures. Monte Carlo is a well-established technique for computing probabilities by conducting a number of deterministic analyses with specified input distributional information.

Burnside, O. H.↗

Scientific Programming Using Java and C: A Remote Sensing Example

This paper presents results of a project to port code for processing remotely sensed data from the UNIX environment to Windows. Factors considered during this process include time schedule, cost, resource availability, reuse of existing code, rapid interface development, ease of integration, and platform independence. The approach selected for this project used both Java and C. By using Java for the graphical user interface and C for the domain model, the strengths of both languages were utilized and the resulting code can easily be ported to other platforms. The advantages of this approach are discussed in this paper.

Prados, Donald↗

The impact of common APSE interface set specifications on space station information systems

Certain types of software facilities are needed in a Space Station Information Systems Environment; the Common APSE (Ada Program Support Environment) Interface Set (CAIS) was proposed as a means of satisfying them. The reasonableness of this is discussed by examining the current CAIS, considering the changes due to the latest Requirements and Criteria (RAC) document, and postulating the effects on the CAIS 2.0. Finally, a few additional comments are made on the problems inherent in the Ada language itself, especially on its deficiencies when used for implementing large distributed processing and data base applications.

Diaz-Herrera, Jorge L.↗