Engineering PapersSearch

Engineering topics

Shu, I-Hsiang

Publications and source records attributed to Shu, I-Hsiang.

Extreme Programming: Maestro Style

"Extreme Programming: Maestro Style" is the name of a computer programming methodology that has evolved as a custom version of a methodology, called extreme programming that has been practiced in the software industry since the late 1990s. The name of this version reflects its origin in the work of the Maestro team at NASA's Jet Propulsion Laboratory that develops software for Mars exploration missions. Extreme programming is oriented toward agile development of software resting on values of simplicity, communication, testing, and aggressiveness. Extreme programming involves use of methods of rapidly building and disseminating institutional knowledge among members of a computer-programming team to give all the members a shared view that matches the view of the customers for whom the software system is to be developed. Extreme programming includes frequent planning by programmers in collaboration with customers, continually examining and rewriting code in striving for the simplest workable software designs, a system metaphor (basically, an abstraction of the system that provides easy-to-remember software-naming conventions and insight into the architecture of the system), programmers working in pairs, adherence to a set of coding standards, collaboration of customers and programmers, frequent verbal communication, frequent releases of software in small increments of development, repeated testing of the developmental software by both programmers and customers, and continuous interaction between the team and the customers. The environment in which the Maestro team works requires the team to quickly adapt to changing needs of its customers. In addition, the team cannot afford to accept unnecessary development risk. Extreme programming enables the Maestro team to remain agile and provide high-quality software and service to its customers. However, several factors in the Maestro environment have made it necessary to modify some of the conventional extreme-programming practices. The single most influential of these factors is that continuous interaction between customers and programmers is not feasible.

Norris, Jeffrey

Improved CLARAty Functional-Layer/Decision-Layer Interface

Improved interface software for communication between the CLARAty Decision and Functional layers has been developed. [The Coupled Layer Architecture for Robotics Autonomy (CLARAty) was described in Coupled-Layer Robotics Architecture for Autonomy (NPO-21218), NASA Tech Briefs, Vol. 26, No. 12 (December 2002), page 48. To recapitulate: the CLARAty architecture was developed to improve the modularity of robotic software while tightening coupling between planning/execution and basic control subsystems. Whereas prior robotic software architectures typically contained three layers, the CLARAty contains two layers: a decision layer (DL) and a functional layer (FL).] Types of communication supported by the present software include sending commands from DL modules to FL modules and sending data updates from FL modules to DL modules. The present software supplants prior interface software that had little error-checking capability, supported data parameters in string form only, supported commanding at only one level of the FL, and supported only limited updates of the state of the robot. The present software offers strong error checking, and supports complex data structures and commanding at multiple levels of the FL, and relative to the prior software, offers a much wider spectrum of state-update capabilities.

Estlin, Tara

GIS Methodology for Planning Planetary-Rover Operations

A document describes a methodology for utilizing image data downlinked from cameras aboard a robotic ground vehicle (rover) on a remote planet for analyzing and planning operations of the vehicle and of any associated spacecraft. Traditionally, the cataloging and presentation of large numbers of downlinked planetary-exploration images have been done by use of two organizational methods: temporal organization and correlation between activity plans and images. In contrast, the present methodology involves spatial indexing of image data by use of the computational discipline of geographic information systems (GIS), which has been maturing in terrestrial applications for decades, but, until now, has not been widely used in support of exploration of remote planets. The use of GIS to catalog data products for analysis is intended to increase efficiency and effectiveness in planning rover operations, just as GIS has proven to be a source of powerful computational tools in such terrestrial endeavors as law enforcement, military strategic planning, surveying, political science, and epidemiology. The use of GIS also satisfies the need for a map-based user interface that is intuitive to rover-activity planners, many of whom are deeply familiar with maps and know how to use them effectively in field geology.

Powell, Mark

The PICWidget

The Plug-in Image Component Widget (PICWidget) is a software component for building digital imaging applications. The component is part of a methodology described in GIS Methodology for Planning Planetary-Rover Operations (NPO-41812), which appears elsewhere in this issue of NASA Tech Briefs. Planetary rover missions return a large number and wide variety of image data products that vary in complexity in many ways. Supported by a powerful, flexible image-data-processing pipeline, the PICWidget can process and render many types of imagery, including (but not limited to) thumbnail, subframed, downsampled, stereoscopic, and mosaic images; images coregistred with orbital data; and synthetic red/green/blue images. The PICWidget is capable of efficiently rendering images from data representing many more pixels than are available at a computer workstation where the images are to be displayed. The PICWidget is implemented as an Eclipse plug-in using the Standard Widget Toolkit, which provides a straightforward interface for re-use of the PICWidget in any number of application programs built upon the Eclipse application framework. Because the PICWidget is tile-based and performs aggressive tile caching, it has flexibility to perform faster or slower, depending whether more or less memory is available.

Norris, Jeffrey

Science operations interfaces for Mars surface exploration

The Science Activity Planner (SAP) is the science planning tool used for the Mars Exploration Rover (MER) mission. This paper begins with an overview of the software developed for MER and how it was used for science downlink analysis and activity planning.

distributed operations