Search NASASearch

SEARCH · Search NASA

Results for “object orientation algorithms”

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 19 records

Object-Oriented Algorithm For Evaluation Of Fault Trees

Algorithm for direct evaluation of fault trees incorporates techniques of object-oriented programming. Reduces number of calls needed to solve trees with repeated events. Provides significantly improved software environment for such computations as quantitative analyses of safety and reliability of complicated systems of equipment (e.g., spacecraft or factories).

Patterson-Hine, F. A.

Integrated Approach To Design And Analysis Of Systems

Object-oriented fault-tree representation unifies evaluation of reliability and diagnosis of faults. Programming/fault tree described more fully in "Object-Oriented Algorithm For Evaluation Of Fault Trees" (ARC-12731). Augmented fault tree object contains more information than fault tree object used in quantitative analysis of reliability. Additional information needed to diagnose faults in system represented by fault tree.

Patterson-Hine, F. A.

Algorithms and Object-Oriented Software for Distributed Physics-Based Modeling

The project seeks to develop methods to more efficiently simulate aerospace vehicles. The goals are to reduce model development time, increase accuracy (e.g.,by allowing the integration of multidisciplinary models), facilitate collaboration by geographically- distributed groups of engineers, support uncertainty analysis and optimization, reduce hardware costs, and increase execution speeds. These problems are the subject of considerable contemporary research (e.g., Biedron et al. 1999; Heath and Dick, 2000).

Kenton, Marc A.

An Object-Oriented Collection of Minimum Degree Algorithms: Design, Implementation, and Experiences

The multiple minimum degree (MMD) algorithm and its variants have enjoyed 20+ years of research and progress in generating fill-reducing orderings for sparse, symmetric positive definite matrices. Although conceptually simple, efficient implementations of these algorithms are deceptively complex and highly specialized. In this case study, we present an object-oriented library that implements several recent minimum degree-like algorithms. We discuss how object-oriented design forces us to decompose these algorithms in a different manner than earlier codes and demonstrate how this impacts the flexibility and efficiency of our C++ implementation. We compare the performance of our code against other implementations in C or Fortran.

Kumfert, Gary

Garbage Collection in a Distributed Object-Oriented System

An algorithm is described in this paper for garbage collection in distributed systems with object sharing across processor boundaries. The algorithm allows local garbage collection at each node in the system to proceed independently of local collection at the other nodes. It requires no global synchronization or knowledge of the global state of the system and exhibits the capability of graceful degradation. The concept of a specialized dump node is proposed to facilitate the collection of inaccessible circular structures. An experimental evaluation of the algorithm is also described. The algorithm is compared with a corresponding scheme that requires global synchronization. The results show that the algorithm works well in distributed processing environments even when the locality of object references is low.

Gupta, Aloke

Object-oriented feature-tracking algorithms for SAR images of the marginal ice zone

An unsupervised method that chooses and applies the most appropriate tracking algorithm from among different sea-ice tracking algorithms is reported. In contrast to current unsupervised methods, this method chooses and applies an algorithm by partially examining a sequential image pair to draw inferences about what was examined. Based on these inferences the reported method subsequently chooses which algorithm to apply to specific areas of the image pair where that algorithm should work best.

Daida, Jason

Correlation filters for orientation estimation

An important task in many vision applications is that of rapidly estimating the orientation of an object with respect to some frame of reference. Because of their speed and parallel processing capabilities, optical correlators should prove valuable in this application. This paper considers two algorithms for object orientation estimation based on optical correlations and presents some initial simulation results.

Kumar, B. V. K. Vijaya

ProperCAD: A portable object-oriented parallel environment for VLSI CAD

Most parallel algorithms for VLSI CAD proposed to date have one important drawback: they work efficiently only on machines that they were designed for. As a result, algorithms designed to date are dependent on the architecture for which they are developed and do not port easily to other parallel architectures. A new project under way to address this problem is described. A Portable object-oriented parallel environment for CAD algorithms (ProperCAD) is being developed. The objectives of this research are (1) to develop new parallel algorithms that run in a portable object-oriented environment (CAD algorithms using a general purpose platform for portable parallel programming called CARM is being developed and a C++ environment that is truly object-oriented and specialized for CAD applications is also being developed); and (2) to design the parallel algorithms around a good sequential algorithm with a well-defined parallel-sequential interface (permitting the parallel algorithm to benefit from future developments in sequential algorithms). One CAD application that has been implemented as part of the ProperCAD project, flat VLSI circuit extraction, is described. The algorithm, its implementation, and its performance on a range of parallel machines are discussed in detail. It currently runs on an Encore Multimax, a Sequent Symmetry, Intel iPSC/2 and i860 hypercubes, a NCUBE 2 hypercube, and a network of Sun Sparc workstations. Performance data for other applications that were developed are provided: namely test pattern generation for sequential circuits, parallel logic synthesis, and standard cell placement.

Ramkumar, Balkrishna

Object-Oriented/Data-Oriented Design of a Direct Simulation Monte Carlo Algorithm

Over the past decade, there has been much progress towards improved phenomenological modeling and algorithmic updates for the direct simulation Monte Carlo (DSMC) method, which provides a probabilistic physical simulation of gas Rows. These improvements have largely been based on the work of the originator of the DSMC method, Graeme Bird. Of primary importance are improved chemistry, internal energy, and physics modeling and a reduction in time to solution. These allow for an expanded range of possible solutions In altitude and velocity space. NASA's current production code, the DSMC Analysis Code (DAC), is well-established and based on Bird's 1994 algorithms written in Fortran 77 and has proven difficult to upgrade. A new DSMC code is being developed in the C++ programming language using object-oriented and data-oriented design paradigms to facilitate the inclusion of the recent improvements and future development activities. The development efforts on the new code, the Multiphysics Algorithm with Particles (MAP), are described, and performance comparisons are made with DAC.

Liechty, Derek S.

Reducing the complexity of software systems - A strategic software perspective

The results of a combined management and technical initiative aimed at reducing the size and complexity associated with developing operations planning, scheduling, and resource management software systems are presented. The initiative has produced operations concepts, functional requirements, system architectures, a comprehensive lexicon, and software tools to revolutionize the traditional software technology and development practices for planning, scheduling, and resource management systems used in space operations control centers. Examples of technology and practices to reduce complexity include a method for projecting design consequences from an operations concept, a universal architecture for heuristic algorithms, an object-oriented framework for describing large classes of problems that parametrically adapt to all domain peculiarities, the identification of general approaches which respond to changes with minimum impact on systems implementations, and a management structure for prototyping to minimize the risks of ill-conceived designs.

Hornstein, Rhoda S.

The Hitchhiker's Guide to the Outer Solar System

We propose a novel deep space propulsion method called the Comet Hitchhiker. The concept is to perform momentum exchange with small bodies (i.e., asteroid and comet) using an extendable/retrievable tether and a harpoon. Unlike previously proposed tethered fly-by, the use of extendable tether enables to change the relative speed with a target. Hence Hitchhiker would be a prospective means of providing orbit insertion deltaV, particularly for rendezvous missions to small bodies in the outer Solar System such as Kuiper belt objects and Centaurs, which are not easily manageable with chemical propulsion or solar electric propulsion. Furthermore, by applying regenerative brake during a hitchhike maneuver, a Hitchhiker can harvest energy. The stored energy can be used to make a departure from the target by quickly retrieving the tether, which we call a inverse hitchhike maneuver. By repeating hitchhike and inverse Hitchhike maneuvers, a Hitchhiker could perform a mission to rendezvous with multiple targets efficiently, which we call a multi-hitchhike mission. We derive the basic equation of Hitchhiker, namely the Space Hitchhike Equation, which relates the specific strength and mass fraction of tether to achievable ∆V. We then perform detailed feasibility analysis through finite element simulations of tether as well as hypervelocity impact simulations of the harpoon using the Adaptive Mesh Refinement Objected-oriented C++ (AMROC) algorithm. The analysis results suggest that a hitchhike maneuver with deltaV = approximately 1.5km/s is feasible with flight proven materials such as Kevlar/Zylon tether and tungsten harpoon. A carbon nanotube tether, combined with diamond harpoon, would enable approximately 10 km/s hitchhike maneuver. Finally, we present two particular mission scenarios for Hitchhiker: Pluto rendezvous and a multi-hitchhike mission to the Themis family asteroids in the main belt.

Ono, Masahiro

The Hitchhiker's Guide to the Outer Solar System

We propose a novel deep space propulsion method called the Comet Hitchhiker. The concept is to perform momentum exchange with small bodies (i.e., asteroid and comet) using an extendable/retrievable tether and a harpoon. Unlike previously proposed tethered fly-by, the use of extendable tether enables to change the relative speed with a target. Hence Hitchhiker would be a prospective means of providing orbit insertion deltaV, particularly for rendezvous missions to small bodies in the outer Solar System such as Kuiper belt objects and Centaurs, which are not easily manageable with chemical propulsion or solar electric propulsion. Furthermore, by applying regenerative brake during a hitchhike maneuver, a Hitchhiker can harvest energy. The stored energy can be used to make a departure from the target by quickly retrieving the tether, which we call a inverse hitchhike maneuver. By repeating hitchhike and inverse Hitchhike maneuvers, a Hitchhiker could perform a mission to rendezvous with multiple targets efficiently, which we call a multi-hitchhike mission. We derive the basic equation of Hitchhiker, namely the Space Hitchhike Equation, which relates the specific strength and mass fraction of tether to achievable ∆V. We then perform detailed feasibility analysis through finite element simulations of tether as well as hypervelocity impact simulations of the harpoon using the Adaptive Mesh Refinement Objected-oriented C++ (AMROC) algorithm. The analysis results suggest that a hitchhike maneuver with deltaV = approximately 1.5km/s is feasible with flight proven materials such as Kevlar/Zylon tether and tungsten harpoon. A carbon nanotube tether, combined with diamond harpoon, would enable approximately 10 km/s hitchhike maneuver. Finally, we present two particular mission scenarios for Hitchhiker: Pluto rendezvous and a multi-hitchhike mission to the Themis family asteroids in the main belt.

Ono, Masahiro

Direct evaluation of fault trees using object-oriented programming techniques

Object-oriented programming techniques are used in an algorithm for the direct evaluation of fault trees. The algorithm combines a simple bottom-up procedure for trees without repeated events with a top-down recursive procedure for trees with repeated events. The object-oriented approach results in a dynamic modularization of the tree at each step in the reduction process. The algorithm reduces the number of recursive calls required to solve trees with repeated events and calculates intermediate results as well as the solution of the top event. The intermediate results can be reused if part of the tree is modified. An example is presented in which the results of the algorithm implemented with conventional techniques are compared to those of the object-oriented approach.

Patterson-Hine, F. A.

High-Performance Java Codes for Computational Fluid Dynamics

The computational science community is reluctant to write large-scale computationally -intensive applications in Java due to concerns over Java's poor performance, despite the claimed software engineering advantages of its object-oriented features. Naive Java implementations of numerical algorithms can perform poorly compared to corresponding Fortran or C implementations. To achieve high performance, Java applications must be designed with good performance as a primary goal. This paper presents the object-oriented design and implementation of two real-world applications from the field of Computational Fluid Dynamics (CFD): a finite-volume fluid flow solver (LAURA, from NASA Langley Research Center), and an unstructured mesh adaptation algorithm (2D_TAG, from NASA Ames Research Center). This work builds on our previous experience with the design of high-performance numerical libraries in Java. We examine the performance of the applications using the currently available Java infrastructure and show that the Java version of the flow solver LAURA performs almost within a factor of 2 of the original procedural version. Our Java version of the mesh adaptation algorithm 2D_TAG performs within a factor of 1.5 of its original procedural version on certain platforms. Our results demonstrate that object-oriented software design principles are not necessarily inimical to high performance.

Riley, Christopher

Local sensory control of a dexterous end effector

A numerical scheme was developed to solve the inverse kinematics for a user-defined manipulator. The scheme was based on a nonlinear least-squares technique which determines the joint variables by minimizing the difference between the target end effector pose and the actual end effector pose. The scheme was adapted to a dexterous hand in which the joints are either prismatic or revolute and the fingers are considered open kinematic chains. Feasible solutions were obtained using a three-fingered dexterous hand. An algorithm to estimate the position and orientation of a pre-grasped object was also developed. The algorithm was based on triangulation using an ideal sensor and a spherical object model. By choosing the object to be a sphere, only the position of the object frame was important. Based on these simplifications, a minimum of three sensors are needed to find the position of a sphere. A two dimensional example to determine the position of a circle coordinate frame using a two-fingered dexterous hand was presented.

Pinto, Victor H.

Static actuator-sharing algorithm for concurrent control of multiple plasma properties

Simultaneous regulation of multiple properties in next-generation tokamaks like ITER and fusion pilot plant may require the integration of different plasma control algorithms. Such integration requires the conversion of individual controller commands into physical actuator requests while accounting for the coupling between different plasma properties. This work proposes a tokamak and scenario-agnostic actuator-sharing algorithm (ASA) to perform the above-mentioned command-request conversion and, hence, integrate multiple plasma controllers. The proposed algorithm implicitly solves a quadratic programming (QP) problem formulated to account for the saturation limits and the relation between the controller commands and physical actuator requests. Since the constraints arising in the QP program are linear, the proposed ASA is highly computationally efficient and can be implemented in the tokamak plasma control system in real time. Furthermore, the proposed algorithm is designed to handle real-time changes in the control objectives and actuators’ availability. Nonlinear simulations carried out using the Control Oriented Transport SIMulator illustrate the effectiveness of the proposed algorithm in achieving multiple control objectives simultaneously.

70 PLASMA PHYSICS AND FUSION TECHNOLOGY

Object-oriented fault tree models applied to system diagnosis

When a diagnosis system is used in a dynamic environment, such as the distributed computer system planned for use on Space Station Freedom, it must execute quickly and its knowledge base must be easily updated. Representing system knowledge as object-oriented augmented fault trees provides both features. The diagnosis system described here is based on the failure cause identification process of the diagnostic system described by Narayanan and Viswanadham. Their system has been enhanced in this implementation by replacing the knowledge base of if-then rules with an object-oriented fault tree representation. This allows the system to perform its task much faster and facilitates dynamic updating of the knowledge base in a changing diagnosis environment. Accessing the information contained in the objects is more efficient than performing a lookup operation on an indexed rule base. Additionally, the object-oriented fault trees can be easily updated to represent current system status. This paper describes the fault tree representation, the diagnosis algorithm extensions, and an example application of this system. Comparisons are made between the object-oriented fault tree knowledge structure solution and one implementation of a rule-based solution. Plans for future work on this system are also discussed.

Iverson, David L.