Search NASA⌕ Search

SEARCH · Search NASA

Results for “Object Oriented 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 181 records · Page 10

MUST - An integrated system of support tools for research flight software engineering

The objectives of NASA's MUST (Multipurpose User-oriented Software Technology) program at Langley Research Center are to cut the cost of producing software which effectively utilizes digital systems for flight research. These objectives will be accomplished by providing an integrated system of support software tools for use throughout the research flight software development process. A description of the overall MUST program and its progress toward the release of a first MUST system will be presented. This release includes: a special interactive user interface, a library of subroutines, assemblers, a compiler, automatic documentation tools, and a test and simulation system.

Straeter, T. A.↗

Program for User-Friendly Management of Input and Output Data Sets

A computer program manages large, hierarchical sets of input and output (I/O) parameters (typically, sequences of alphanumeric data) involved in computational simulations in a variety of technological disciplines. This program represents sets of parameters as structures coded in object-oriented but otherwise standard American National Standards Institute C language. Each structure contains a group of I/O parameters that make sense as a unit in the simulation program with which this program is used. The addition of options and/or elements to sets of parameters amounts to the addition of new elements to data structures. By association of child data generated in response to a particular user input, a hierarchical ordering of input parameters can be achieved. Associated with child data structures are the creation and description mechanisms within the parent data structures. Child data structures can spawn further child data structures. In this program, the creation and representation of a sequence of data structures is effected by one line of code that looks for children of a sequence of structures until there are no more children to be found. A linked list of structures is created dynamically and is completely represented in the data structures themselves. Such hierarchical data presentation can guide users through otherwise complex setup procedures and it can be integrated within a variety of graphical representations.

Klimeck, Gerhard↗

Optical monitoring of GRO phase 1 objects

A brief overview is given of the three phases of our Gamma Ray Observatory (GRO) optical monitoring program. The acquisition of simultaneous GRO/optical data on targeted Oriented Scintillation Spectrometer Experiment (OSSE) objects, the collection of noncoincident observations of suspected GRO gamma ray emitters to determine their level of activity, and the optical imaging of burst fields in an attempt to identify the burst source are discussed. Finally, a table of future simultaneous optical observations of Phase 1 GRO targets is presented along with plans for the rapid optical imaging of gamma ray burst fields.

Mcnamara, Bernard↗

Error Analysis System for Spacecraft Navigation Using the Global Positioning System (GPS)

The Flight Dynamics Division (FDD) at the National Aeronautics and Space Administration (NASA) Goddard Space Flight Center (GSFC) is currently developing improved space-navigation filtering algorithms to use the Global Positioning System (GPS) for autonomous real-time onboard orbit determination. In connection with a GPS technology demonstration on the Small Satellite Technology Initiative (SSTI)/Lewis spacecraft, FDD analysts and programmers have teamed with the GSFC Guidance, Navigation, and Control Branch to develop the GPS Enhanced Orbit Determination Experiment (GEODE) system. The GEODE system consists of a Kalman filter operating as a navigation tool for estimating the position, velocity, and additional states required to accurately navigate the orbiting Lewis spacecraft by using astrodynamic modeling and GPS measurements from the receiver. A parallel effort at the FDD is the development of a GPS Error Analysis System (GEAS) that will be used to analyze and improve navigation filtering algorithms during development phases and during in-flight calibration. For GEAS, the Kalman filter theory is extended to estimate the errors in position, velocity, and other error states of interest. The estimation of errors in physical variables at regular intervals will allow the time, cause, and effect of navigation system weaknesses to be identified. In addition, by modeling a sufficient set of navigation system errors, a system failure that causes an observed error anomaly can be traced and accounted for. The GEAS software is formulated using Object Oriented Design (OOD) techniques implemented in the C++ programming language on a Sun SPARC workstation. The Phase 1 of this effort is the development of a basic system to be used to evaluate navigation algorithms implemented in the GEODE system. This paper presents the GEAS mathematical methodology, systems and operations concepts, and software design and implementation. Results from the use of the basic system to evaluate navigation algorithms implemented on GEODE are also discussed. In addition, recommendations for generalization of GEAS functions and for new techniques to optimize the accuracy and control of the GPS autonomous onboard navigation are presented.

Truong, S. H.↗

An NAFP Project: Use of Object Oriented Methodologies and Design Patterns to Refactor Software Design

In the early problem-solution era of software programming, functional decompositions were mainly used to design and implement software solutions. In functional decompositions, functions and data are introduced as two separate entities during the design phase, and are followed as such in the implementation phase. Functional decompositions make use of refactoring through optimizing the algorithms, grouping similar functionalities into common reusable functions, and using abstract representations of data where possible; all these are done during the implementation phase. This paper advocates the usage of object-oriented methodologies and design patterns as the centerpieces of refactoring software solutions. Refactoring software is a method of changing software design while explicitly preserving its external functionalities. The combined usage of object-oriented methodologies and design patterns to refactor should also benefit the overall software life cycle cost with improved software.

Shaykhian, Gholam Ali↗

Failure Investigation of WB-57 Aircraft Engine Cowling

The NASA Johnson Space Center (JSC) in Houston, Texas is the home of the NASA WB-57 High Altitude Research Program. Three fully operational WB-57 aircraft are based near JSC at Ellington Field. The aircraft have been flying research missions since the early 1960's, and continue to be an asset to the scientific community with professional, reliable, customer-oriented service designed to meet all scientific objectives. The NASA WB-57 Program provides unique, high-altitude airborne platforms to US Government agencies, academic institutions, and commercial customers in order to support scientific research and advanced technology development and testing at locations around the world. Mission examples include atmospheric and earth science, ground mapping, cosmic dust collection, rocket launch support, and test bed operations for future airborne or spaceborne systems. During the return from a 6 hour flight, at 30,000 feet, in the clean configuration, traveling at 175 knots indicated airspeed, in un-accelerated flight with the auto pilot engaged, in calm air, the 2-man crew heard a mechanical bang and felt a slight shudder followed by a few seconds of high frequency vibration. The crew did not notice any other abnormalities leading up to, or for the remaining 1 hour of flight and made an uneventful landing. Upon taxi into the chocks, the recovery ground crew noticed the high frequency long wire antenna had become disconnected from the vertical stabilizer and was trailing over the left inboard wing, and that the left engine upper center removable cowling panel was missing, with noticeable damage to the left engine inboard cowling fixed structure. The missing cowling panel was never recovered. Each engine cowling panel is attached to the engine nacelle using six bushings made of 17-4 PH steel. The cylinder portions of four of the six bushings were found still attached to the aircraft (Fig 1). The other two bushings were lost with the panel. The other four bushings exhibited ratchet marks (multiple fatigue origins) which initiated in the sharp radius of the flange/cylinder fillet and were observed 300 degrees around the flange perimeter (Fig 2-3). Low stress, high cycle fatigue (HCF) was observed on the fracture surfaces of all four bushings (Fig 4). To improve the cowling panel joint design and enable return to flight, new cowling bushings with thicker flanges and a larger machined flange/cylinder fillet radius were installed on all cowling panels. In addition, a spacer was added to the joint to achieve the proper stack tolerance. Finally, a time change requirement for all cowling bushings was instituted.

Martinez, J. E.↗

Design and implementation of a pilot orientation program for new NASA engineering employees

This paper describes the design and field testing of an orientation program for new employees of NASA Lewis Research Center's Engineering Directorate. A group of new employees designed the program using a series of TQM analysis techniques. The program objectives were: provide consistent treatment for new employees; assist management and clerical staff with their responsibility for orientation; introduce the employee to as many facets of the organization as possible; allow the employee to feel like a member of the organization as early as possible; maximize the use of existing services; and use up-to-date information. The major aspects of the program included: training of management and clerical staff; lab tours and briefings describing the organization; shepherding, using senior employees as shepherds; a handbook of information about the center and the directorate; a package of information about northeast Ohio; and social activities involving the new employees and shepherds. The program was tested on a pilot group of six new employees over a four month period and was considered to be highly successful by both the employees and management. Aspects of the program have subsequently been adopted for center-wide use.

Graham, Ronald E.↗

Space shuttle status

Technology problems relating to the shuttle thermal protection system and the auxiliary power units for flight control of engine gimbaling and aero surfaces are examined as well as yet unresolved difficulties associated with the main engine, external tank doors, and the payload bay doors. Concepts for launch crew escape and for flight inspection are discussed, and the orbital flight test drivers are identified. The majority of OFT objectives can be accomplished in a success oriented four flight program. Carry over will be accommodated in the operational phase with a mini-DFI package. Primary shuttle systems requiring additional testings are (1) aerodynamics (forward CG); (2) thermal control system (high beta); (3) payload deployment and retrieval system (retrieval, a maximum weight, and proximity operations); (4) SSME throttling to 109%; and (5) SSME nozzle entry aerodynamic heating (up elevon/body flap position at hypersonic velocities).

Slayton, D. K.↗

On AIPS++, a new astronomical information processing system

The AIPS system that has served the needs of the radio astronomical community remarkably well during the last 15 years is showing signs of age and is being replaced by a more modern system, AIPS++. As the name implies, AIPS++ will be developed in a object oriented fashion and will use C++ as its main programming language. The work is being done by a consortium of seven organizations, with coordinated activities worldwide. After a review of the history of the project to this date from management, astronomical and technical viewpoints, and the current state of the project, the paper concentrates on the tradeoffs implied by the choice of implementation style and the lessons we have learned, good and bad.

Croes, G. A.↗

Object-oriented Technology for Compressor Simulation

An object-oriented basis for interdisciplinary compressor simulation can, in principle, overcome several barriers associated with the traditional structured (procedural) development approach. This paper presents the results of a research effort with the objective to explore the repercussions on design, analysis, and implementation of a compressor model in an object oriented (OO) language, and to examine the ability of the OO system design to accommodate computational fluid dynamics (CFD) code for compressor performance prediction. Three fundamental results are that: (1) the selection of the object oriented language is not the central issue; enhanced (interdisciplinary) analysis capability derives from a broader focus on object-oriented technology; (2) object-oriented designs will produce more effective and reusable computer programs when the technology is applied to issues involving complex system inter-relationships (more so than when addressing the complex physics of an isolated discipline); and (3) the concept of disposable prototypes is effective for exploratory research programs, but this requires organizations to have a commensurate long-term perspective. This work also suggests that interdisciplinary simulation can be effectively accomplished (over several levels of fidelity) with a mixed language treatment (i.e., FORTRAN-C++), reinforcing the notion the OO technology implementation into simulations is a 'journey' in which the syntax can, by design, continuously evolve.

Drummond, C. K.↗

Making intelligent systems team players. A guide to developing intelligent monitoring systems

This reference guide for developers of intelligent monitoring systems is based on lessons learned by developers of the DEcision Support SYstem (DESSY), an expert system that monitors Space Shuttle telemetry data in real time. DESSY makes inferences about commands, state transitions, and simple failures. It performs failure detection rather than in-depth failure diagnostics. A listing of rules from DESSY and cue cards from DESSY subsystems are included to give the development community a better understanding of the selected model system. The G-2 programming tool used in developing DESSY provides an object-oriented, rule-based environment, but many of the principles in use here can be applied to any type of monitoring intelligent system. The step-by-step instructions and examples given for each stage of development are in G-2, but can be used with other development tools. This guide first defines the authors' concept of real-time monitoring systems, then tells prospective developers how to determine system requirements, how to build the system through a combined design/development process, and how to solve problems involved in working with real-time data. It explains the relationships among operational prototyping, software evolution, and the user interface. It also explains methods of testing, verification, and validation. It includes suggestions for preparing reference documentation and training users.

Land, Sherry A.↗

Application Reuse Library for Software, Requirements, and Guidelines

Better designs are needed for expert systems and other operations automation software, for more reliable, usable and effective human support. A prototype computer-aided Application Reuse Library shows feasibility of supporting concurrent development and improvement of advanced software by users, analysts, software developers, and human-computer interaction experts. Such a library expedites development of quality software, by providing working, documented examples, which support understanding, modification and reuse of requirements as well as code. It explicitly documents and implicitly embodies design guidelines, standards and conventions. The Application Reuse Library provides application modules with Demo-and-Tester elements. Developers and users can evaluate applicability of a library module and test modifications, by running it interactively. Sub-modules provide application code and displays and controls. The library supports software modification and reuse, by providing alternative versions of application and display functionality. Information about human support and display requirements is provided, so that modifications will conform to guidelines. The library supports entry of new application modules from developers throughout an organization. Example library modules include a timer, some buttons and special fonts, and a real-time data interface program. The library prototype is implemented in the object-oriented G2 environment for developing real-time expert systems.

Malin, Jane T.↗

The AI Bus architecture for distributed knowledge-based systems

The AI Bus architecture is layered, distributed object oriented framework developed to support the requirements of advanced technology programs for an order of magnitude improvement in software costs. The consequent need for highly autonomous computer systems, adaptable to new technology advances over a long lifespan, led to the design of an open architecture and toolbox for building large scale, robust, production quality systems. The AI Bus accommodates a mix of knowledge based and conventional components, running on heterogeneous, distributed real world and testbed environment. The concepts and design is described of the AI Bus architecture and its current implementation status as a Unix C++ library or reusable objects. Each high level semiautonomous agent process consists of a number of knowledge sources together with interagent communication mechanisms based on shared blackboards and message passing acquaintances. Standard interfaces and protocols are followed for combining and validating subsystems. Dynamic probes or demons provide an event driven means for providing active objects with shared access to resources, and each other, while not violating their security.

Schultz, Roger D.↗

The use of continuing adult education

The objectives of the National Space Grant and Fellowship Program include the expansion of space-oriented educational programs beyond the traditional boundaries of university campuses to reach 'non-traditional' students whose personal and professional lives would be enhanced by access to such programs. These objectives coincide with those of the continuing education programs that exist on most university campuses. By utilizing continuing educations resources and facilities, members of the National Space Grant Program can greatly enhance the achievement of program objectives.

Redd, Frank J.↗

An engineering approach to automatic programming

An exploratory study of the automatic generation and optimization of symbolic programs using DECOM - a prototypical requirement specification model implemented in pure LISP was undertaken. It was concluded, on the basis of this study, that symbolic processing languages such as LISP can support a style of programming based upon formal transformation and dependent upon the expression of constraints in an object-oriented environment. Such languages can represent all aspects of the software generation process (including heuristic algorithms for effecting parallel search) as dynamic processes since data and program are represented in a uniform format.

Rubin, Stuart H.↗

ControlShell - A real-time software framework

ControlShell is designed to enable modular design and impplementation of real-time software. It is an object-oriented tool-set for real-time software system programming. It provides a series of execution and data interchange mechansims that form a framework for building real-time applications. These mechanisms allow a component-based approach to real-time software generation and mangement. By defining a set of interface specifications for intermodule interaction, ControlShell provides a common platform that is the basis for real-time code development and exchange.

Schneider, Stanley A.↗

Towards a general object-oriented software development methodology

An object is an abstract software model of a problem domain entity. Objects are packages of both data and operations of that data (Goldberg 83, Booch 83). The Ada (tm) package construct is representative of this general notion of an object. Object-oriented design is the technique of using objects as the basic unit of modularity in systems design. The Software Engineering Laboratory at the Goddard Space Flight Center is currently involved in a pilot program to develop a flight dynamics simulator in Ada (approximately 40,000 statements) using object-oriented methods. Several authors have applied object-oriented concepts to Ada (e.g., Booch 83, Cherry 85). It was found that these methodologies are limited. As a result a more general approach was synthesized with allows a designer to apply powerful object-oriented principles to a wide range of applications and at all stages of design. An overview is provided of this approach. Further, how object-oriented design fits into the overall software life-cycle is considered.

Seidewitz, ED↗

CODAC (Cockpit Oriented Display of Aircraft Configurations) version 1.4 user's guide

The Cockpit Oriented Display of Aircraft Configurations (CODAC) package is an interactive FORTRAN 77 graphics program which produces high quality publication grade hidden line images of three dimensional wireframe objects. The term, Cockpit Oriented, is used because CODAC rotates objects relative to the changing aircraft axis system (rather than about a fixed global axis system) and uses the more familiar directions of yaw, roll, and pitch. In addition, CODAC accepts geometry data in a variety of formats (LaWGS, Craidon, Hess, and FVS data check), and automatically selects the appropriate panel driver. Finally, CODAC makes full use of the Precision Visuals' DI-3000 metafile option, allowing users to save, edit, and print images for group presentations or research publications.

Bingel, Bradford D.↗