Search NASASearch

Engineering topics

Bachmann, Andrew G.

Publications and source records attributed to Bachmann, Andrew G..

Ensemble Eclipse: A Process for Prefab Development Environment for the Ensemble Project

This software simplifies the process of having to set up an Eclipse IDE programming environment for the members of the cross-NASA center project, Ensemble. It achieves this by assembling all the necessary add-ons and custom tools/preferences. This software is unique in that it allows developers in the Ensemble Project (approximately 20 to 40 at any time) across multiple NASA centers to set up a development environment almost instantly and work on Ensemble software. The software automatically has the source code repositories and other vital information and settings included. The Eclipse IDE is an open-source development framework. The NASA (Ensemble-specific) version of the software includes Ensemble-specific plug-ins as well as settings for the Ensemble project. This software saves developers the time and hassle of setting up a programming environment, making sure that everything is set up in the correct manner for Ensemble development. Existing software (i.e., standard Eclipse) requires an intensive setup process that is both time-consuming and error prone. This software is built once by a single user and tested, allowing other developers to simply download and use the software

Wallick, Michael N.

Parallel Eclipse Project Checkout

Parallel Eclipse Project Checkout (PEPC) is a program written to leverage parallelism and to automate the checkout process of plug-ins created in Eclipse RCP (Rich Client Platform). Eclipse plug-ins can be aggregated in a feature project. This innovation digests a feature description (xml file) and automatically checks out all of the plug-ins listed in the feature. This resolves the issue of manually checking out each plug-in required to work on the project. To minimize the amount of time necessary to checkout the plug-ins, this program makes the plug-in checkouts parallel. After parsing the feature, a request to checkout for each plug-in in the feature has been inserted. These requests are handled by a thread pool with a configurable number of threads. By checking out the plug-ins in parallel, the checkout process is streamlined before getting started on the project. For instance, projects that took 30 minutes to checkout now take less than 5 minutes. The effect is especially clear on a Mac, which has a network monitor displaying the bandwidth use. When running the client from a developer s home, the checkout process now saturates the bandwidth in order to get all the plug-ins checked out as fast as possible. For comparison, a checkout process that ranged from 8-200 Kbps from a developer s home is now able to saturate a pipe of 1.3 Mbps, resulting in significantly faster checkouts. Eclipse IDE (integrated development environment) tries to build a project as soon as it is downloaded. As part of another optimization, this innovation programmatically tells Eclipse to stop building while checkouts are happening, which dramatically reduces lock contention and enables plug-ins to continue downloading until all of them finish. Furthermore, the software re-enables automatic building, and forces Eclipse to do a clean build once it finishes checking out all of the plug-ins. This software is fully generic and does not contain any NASA-specific code. It can be applied to any Eclipse-based repository with a similar structure. It also can apply build parameters and preferences automatically at the end of the checkout.

Crockett, Thomas M.

MSLICE Science Activity Planner for the Mars Science Laboratory Mission

MSLICE (Mars Science Laboratory InterfaCE) is the tool used by scientists and engineers on the Mars Science Laboratory rover mission to visualize the data returned by the rover and collaboratively plan its activities. It enables users to efficiently and effectively search all mission data to find applicable products (e.g., images, targets, activity plans, sequences, etc.), view and plan the traverse of the rover in HiRISE (High Resolution Imaging Science Experiment) images, visualize data acquired by the rover, and develop, model, and validate the activities the rover will perform. MSLICE enables users to securely contribute to the mission s activity planning process from their home institutions using off-the-shelf laptop computers. This software has made use of several plug-ins (software components) developed for previous missions [e.g., Mars Exploration Rover (MER), Phoenix Mars Lander (PHX)] and other technology tasks. It has a simple, intuitive, and powerful search capability. For any given mission, there is a huge amount of data and associated metadata that is generated. To help users sort through this information, MSLICE s search interface is provided in a similar fashion as major Internet search engines. With regard to the HiRISE visualization of the rover s traverse, this view is a map of the mission that allows scientists to easily gauge where the rover has been and where it is likely to go. The map also provides the ability to correct or adjust the known position of the rover through the overlaying of images acquired from the rover on top of the HiRISE image. A user can then correct the rover s position by collocating the visible features in the overlays with the same features in the underlying HiRISE image. MSLICE users can also rapidly search all mission data for images that contain a point specified by the user in another image or panoramic mosaic. MSLICE allows the creation of targets, which provides a way for scientists to collaboratively name features on the surface of Mars. These targets can also be used to convey instrument-pointing information to the activity plan. The software allows users to develop a plan of what they would like the rover to accomplish for a given time period. When developing the plan, the user can input constraints between activities or groups of activities. MSLICE will enforce said constraints and ensure that all mission flight rules are satisfied.

Powell, Mark W.