Eclipse in Space: Talking RCP and Robotics with Tamar Cohen
Diana Kupfer talks to Tamar Cohen, who works with NASA Ames’ Intelligent Robotics group.
From the latest issue of Eclipse
Magazin, Diana Kupfer discusses the use of Eclipse within NASA
Ames’ Intelligent Robotics group, with Tamar Cohen.
Your proposal is among the
five early selections for
EclipseCon NA 2013. Congratulations!
What makes the Eclipse RCP
suitable for experiments on the ISS?
We primarily chose Eclipse RCP for
our ISS experiment infrastructure because we have been using it
here for many years for other projects, and we have a large
infrastructure already developed based on Eclipse. Some of the
Eclipse RCP features that are very important to us include:
- The ability to run on multiple
- OSGi bundle (plugin) based
architecture lets us build various applications that share
- Relative ease of development —
many infrastructure things are already in place, with SWT and
JFace, EMF among others
- The ability to customize the
applications we build to our needs.
What do you appreciate about
the Eclipse RCP?
I personally have been developing
Eclipse RCP applications for at least seven years, and really
appreciate the system. For me, much of the benefit is in the
community; knowing the brilliant software engineers who have been
developing and contributing to mainstream Eclipse projects and
receiving prompt feedback on newsgroups as I have questions is
Of course the general Eclipse
software development and debugging tools (for Java but for other
languages too) are fantastic and I use them always; specifically
refactoring support, hot keys and short cuts, and while debugging I
especially like conditional breakpoints.
Can you briefly describe the
projects/experiments in which Eclipse technologies are
I wish I could! NASA is a very large
organization and Eclipse is used in many experiments, projects and
products. I can say that within our group, the Intelligent
Robotics Group, we use Eclipse extensively for situational
awareness of remote rovers and robots.
We have a 3D virtual environment
built on top of Ardor3D that we render within Eclipse, and we show
telemetry from rovers in that view as well as in standard SWT
views. We sometimes use Eclipse for commanding our rovers. Some
members of my group are supporting science operations of Curiosity
by using Eclipse to display the position & shadows at any given
time. Per my upcoming talk, we are using Eclipse to create
workbenches that crew on the ISS will use during two experiments,
one to control SPHERES and the other to control our K10 Rover here
at NASA Ames.
What Eclipse technologies are
used in particular?
We use the Eclipse Modeling
Framework; leveraging that has saved us a lot of effort. We have
also built a system on the Eclipse Databinding Framework to make
generation of databound SWT widgets. We use Mylyn WikiText to
generate documentation. We have used Buckminster for our build
systems. We use SWT and JFace for UI. The IRG is committed to
Yet some say that
open-source software tends to be inferior to proprietary
applications in terms of quality. What’s been your
We both utilize and create open
source software projects at IRG. We have found that when we use
open source software we are able to do our own diagnostics and
debugging of issues that we find. Additionally we tend to
have very good experiences with responsiveness of support people,
either through newsgroups or through direct conversation with the
authors of the open source software. Conversely, we have
found that when we license commercial software for use, often the
responsiveness of those companies is not as good as open source
software, and since we don’t have the source code for licensed
software we can hit roadblocks that we cannot solve.
From your POV, what’s the future of Eclipse-based
applications in space?
Well, as a software developer with a
strong belief that Eclipse is an excellent platform for developing
RCP applications, it would be excellent if it were used for some
This interview appeared in the
recent issue of Eclipse Magazin. Image courtesy of shehal.