Ensemble for Mission Operations
NASA's current approach used to develop mission operations software has produced a set of powerful tools that have enabled stunning successes. But one serious limitation of these tools is that they were developed separately rather than in an integrated fashion. To use a combination of them on a mission requires interfaces between systems, and the export or translation of data.
The aptly named Ensemble, a joint Ames/Jet Propulsion Laboratory (JPL) project, is a platform for the development, integration, and deployment of mission operations software that can be reconfigured or upgraded as required during the course of a mission. Based on the popular open source Eclipse application framework and Java-based IDE, an Ensemble product is built from a selection of shared plug-ins, plus a set of mission-specific and tool-specific plug-ins.
Ames plug-ins for planning and scheduling, JPL plug-ins for data browsing and visualization, and Ames plug-ins for manipulating data in a 3D environment can be combined together or with other Ensemble plug-ins and new or legacy services to meet a mission's needs.
The Ensemble platform methodology is based on five basic tenets:
- Divide large applications into interoperable and reusable components.
- Deliver to a mission only those components it needs.
- Allow reconfiguration so the work process can evolve as experience is gained.
- Make use of existing software as services that can be called by Ensemble plug-ins.
- Use continuous automated build and test systems.
Data Perspectives and Representations
Ensemble's task-oriented user interface is based heavily upon Eclipse perspectives, which define the components that are visible to a user at a particular time. Scientists can downlink data, manipulate it, and create targets from Ensemble's data browsing perspective. The planning perspective allows activities to be arranged into plans, edited, and linked together with mission or hardware constraints. Custom perspectives that combine new and existing plug-ins are easily defined.
All components use the same data representation, and Ensemble draws upon capabilities provided by Eclipse to document and enforce interfaces between components. The result is an application that feels like a single tool to the user, but draws upon the resources of many development teams. This allows science planning, modeling, activity planning, plan representation, and command sequencing to work together seamlessly. A mission can then easily reuse any component at multiple stages of the operations process. As a multi-mission architecture, Ensemble also supports extensive reuse of components between missions.
Ensemble plug-ins are used on a range of applications including science data browsing and visualization, planning and scheduling of Mars surface missions, scheduling medical facilities, and control stations for new robotic platforms.
A typical Ensemble application for planning robotics Mars surface operations might perform one or more of the following functions, each with direct user involvement:
- Search for and display images needed for planning
- Enable the user to define a target (for an imaging activity or a traverse activity) by clicking on an image
- Define an instance of an activity by selecting from an Activity Dictionary and specifying values of parameters for the instance
- Specify temporal relationships among activity instances
- Display a timeline of activities and of groups of activities; enable a user to change the scheduled time of activities by dragging items on the timeline
- Call upon external models to simulate the plan and display results textually and graphically
- Call upon automated planners to schedule activities into legal positions
Ensemble for the Phoenix Lander and MSL
NASA's 2007 Phoenix Lander will continue the pursuit of water on Mars on the icy northern pole of the planet. During the course of its 90-sol (Martian day) mission, Phoenix will deploy its robotic arm and dig trenches up to half a meter (1.6 feet) into the layers of ice. These layers, thought to be affected by seasonal climate changes, could contain organic compounds that are necessary for life. To analyze soil samples collected by the robotic arm, Phoenix will carry an "oven" and a "portable laboratory." Selected samples will be heated to release volatiles that can be examined for their chemical composition and other characteristics.
Phoenix will be the first surface mission to return data from either polar region, providing an important contribution to the overall Mars science strategy "Follow the Water." The Phoenix Science Interface tool is based on the Ensemble platform, using components from Ames and the Jet Propulsion Laboratory.
The Mars Science Laboratory (MSL), scheduled to launch in the fall of 2009, is a rover designed to collect Martian soil samples and rock cores and analyze them for organic compounds and environmental conditions that could have supported microbial instruments for acquiring information about the geology, atmosphere, environmental conditions, and potential biosignatures on Mars. The Ames/JPL Ensemble platform has been baselined for the mission's activity planning function during the surface operations phase of at least one Martian year (687 Earth days).
POC: James Kurien