NASA Uses Eclipse for Interplanetary Operations

n software development, as JPL expected that in just about any occupation, Ithere are certain types of jobs the very fi rst mission that just sound more impressive to its Eclipse-based outsiders than others. To anyone software would be interested in science, having a hand used on would be in telling a exploration rover Mars. It will be the fi rst time JPL what it needs to do sounds very the Phoenix mission has used Eclipse-based software to impressive. Programmers, however, in 2007. To the help operate vehicles, and they’ve would probably be more interested group’s surprise, made it happen in only a year. in the types of tools that are used some of the new to get the job done. In the case of The Benefi ts of Open Source the software development done at software is ready JPL’s Maestro Team has a history NASA’s Jet Propulsion Laboratory to be used in the of being open-minded about (www.jpl..gov) in Pasadena current exploration considering open source tools. The version of its software used CA, open-source software— rover mission that’s including Eclipse—is used in the for the application programming efforts. on Mars. Mission was not based on Eclipse but used open-source software The work done by JPL’s Maestro Team encompasses in many areas, including Castor, a data-binding the high-level operations tools for NASA’s Mars framework; Java Expression Parser, a system for surface missions. and lander missions parsing and evaluating mathematical expressions; use JPL’s tools here on Earth to produce the plans Xerces-J, a validating XML parser; MySQL; and that the spacecraft will execute. These tools tell the other components. Using Eclipse as a framework spacecraft things like where they need to go and how was a matter of moving further along a path that many pictures they need to take. the group had been traveling for some time. In fact, many of the mission operations workstations for the The JPL Maestro Team develops applications for Mars Exploration Rover Mission use Linux as their projects that include the Mars Exploration Rovers operating system. currently on the red planet, the Phoenix Mars Lander that NASA plans to launch in 2007, and the Mars Among the reasons for using open source software is Science Laboratory Rover that launches in 2009. the philosophical idea that spending taxpayer money Until very recently, the JPL Maestro Team was to do things that have already been done is just not primarily using proprietary software written in Java. justifi able. Many development groups within NASA However, in early 2004, the decision was made to believe that they are being paid by the taxpayers to make use of Eclipse, including the Eclipse Rich do space exploration and that that’s really where the Client Platform (RCP). The transition has been very money should be spent. Developing software that successful. JPL expected that the very fi rst mission could be purchased from a commercial company or its Eclipse-based software would be used on would found in the open-source community is something be the Phoenix mission in 2007. However, to the that is now being avoided, whenever possible, group’s surprise, some of the new software is ready by many NASA software development groups. to be used in the current rover mission that’s on However, when evaluating open source applications or components, In addition to having to work on the “rocket the past. Part of criteria such as this decision, as the maturity of science,” that operates the space craft, in any software the projects, the JPL’s Planning Software Systems Group development amount of time had to build an application that users could effort, was to the development understand. Eclipse provided solutions. reduce cost. community has Another key invested, the issue was that number of releases the development community they felt that there were certain aspects of application has made, and the results of an in-house evaluation development that could be done better by others. The process are taken into consideration. Open source realization they came to was that, while they were is not preferable to software developed in-house good at building software to drive spacecraft, a lot of or commercial products if it is not comparable in other things were simply not within the realm of their both quality and stability. Saving taxpayer money expertise. Relying on an outside source to shoulder initially, then having to scrap a project or begin the burden of certain tasks helped the group to make the development process using different tools isn’t the next version of its application better and cheaper a benefit to anyone. All software used in mission- while giving it the freedom to work on what it really critical applications is carefully scrutinized and the needed to. In addition to having to work on the decision of whether or not to use it is based on a “rocket science,” that operates the space craft, JPL’s number of considerations to be sure that the right tool Maestro Team had to build an application that users is being used for the right job. could understand. Eclipse provided solutions.

Eclipse for Developers RCP: Users See Interfaces, Not In 2004, several members of the Maestro Team Technologies transferred off of active operations of the Mars A lot of the functionality in previous versions of the Exploration Rovers and back into development. Maestro Team’s applications was similar to what At that time, they went through a detailed analysis they found in Eclipse. The key difference between of how they wanted to write their software in the using in-house software and the Eclipse RCP was future. The group had always written software that, along with the functionality, the features were entirely in Java but didn’t use an IDE of any kind. more polished. In addition, the group no longer They also didn’t had to build use any kind and support of application the parts of framework, the application but wrote the that didn’t user interface deal directly themselves with their on top of the programming Java runtime strengths. environment. Keeping the While doing application up its assessment, to date is also an the group was important issue looking for for JPL, and the any way they Eclipse RCP’s could safely The Maestro rover operations application displaying images received Update Manager from the and Mars Rovers. The Eclipse Rich Client goes a long way retire some of Platform is the core foundation for Maestro and provides features such the code they as a help system, automatic update, and organization of its many data toward helping had written in views. the developers 2 keep users on The key to JPL’s use of Eclipse companies the right track. get together Update Manager is all about focusing on their strengths to develop allows them to and taking advantage of a community functionality publish changes of collaboration. A lot of thought has that benefits to their clients been put into how RCP applications look their entire in a way that community, doesn’t require and behave, and the Maestro Team’s leaving the field the end user customers reap the benefits of of competition to manually that effort. to the unique download features anything. In the past, the group’s experience was that of the applications themselves. At NASA, the it was sometimes necessary to force updates because, groups participating in the Ensemble framework as well-intentioned as the users might be, they often are encouraged to distinguish themselves from didn’t update their software when they were asked other participants based on their stated strengths to. Sometimes they would forget, sometimes they in different fields, thereby avoiding competition. wouldn’t have time, and other times they were just However, everything that is not considered reluctant to change, so making it easier for them was application-specific is shared between Ensemble’s a welcome capability. participants to help the various groups avoid reinventing the wheel within NASA as a whole. An Ensemble that Plays in Harmony Eclipse is also beginning to take hold in other Backing Science with Logic development groups within NASA and one of The key to JPL’s use of Eclipse is all about focusing the benefits that it’s starting to provide mirrors on their strengths and taking advantage of a the Eclipse community itself. Eclipse is serving community of collaboration. A lot of thought has as a framework for a project called Ensemble, been put into how RCP applications look and behave, which is something of a consortium for multiple and the Maestro Team’s customers reap the benefits operations tools that are being developed within of that effort. Eclipse perspectives and the fact that the organization. The Maestro Team has presented the Eclipse RCP provides an attractive user interface the Eclipse RCP and the Eclipse development are benefits to the system’s users. Applications that environment to the community of operations tools use the Eclipse RCP also tend to look a lot more like developers within NASA with the idea that they will the shrink-wrapped programs that users might buy. make it easier to transfer code between teams and It lets the JPL Maestro Team concern themselves connect programs developed in different groups. with thinking about how to make a Mars rover move rather than with developing a user interface. The different teams that are now working within the Eclipse framework still have their areas of expertise. In addition to the benefits of saving development However, while each group previously operated as time by using software that already exists and does more of an independent entity, there are now certain what they need, JPL has also created a community application functions the groups are no longer keeping within NASA that seeks to achieve goals similar to to themselves. These components are offered in an those involved in open source efforts. The idea that effort to take advantage of the huge body of code that’s taking advantage of collective intelligence is a better developed within NASA and tend to be what would approach to software development than building commonly be termed “middleware,” built as plug-ins programs in isolation benefits NASA in the same way to the Eclipse framework, that the participating groups it does the Eclipse community. As it is, both the open are now open-sourcing within NASA. source development model and Eclipse have proven very beneficial within NASA. The idea is very similar to that of open source in general (and Eclipse in particular) where competing

3