I have read that Java was used extensively for the MER project (i.e. Spirit and Opportunity – those little robots scurrying around Mars).
I have read some contradicting information. One article I read (offline) said Java was used for image viewing. Wikipedia said something similar.
However this article says Java was used in (quote):
controlling the Rovers’ operating system.
If anyone knows how extesnively Java was used in the Mars rovers I would very much like to know.
Secondly, why was Java chosen for its role? I would have guessed the first choice for the controls would be Ada (please don’t take that as an insult to Java).
There was a project to evaluate Java for flight in general, but it wasn’t flown on those MER rovers, and as far as I can see it’s not planned to be used in flight for future rovers either.
The definitive refererence appears to be MER Flight Software Baseline Architecture and Design Document by Joseph F. Snyder, Edwin P. Kan, the MER FSW Team. But I can’t locate a viewable copy. Nevertheless there’s plenty of information about the design in review documents, for example, An Overview of the Mars Exploration Rovers Flight Software by Glenn E. Reeves:
The operating system is Wind River’s VxWorks.