Thread: Rover brains?
View Single Post
  #20  
Old February 1st 04, 05:36 AM
Kevin Willoughby
external usenet poster
 
Posts: n/a
Default Rover brains?

In article ,
says...
"Kevin Willoughby" escribió en
el mensaje ...
In article ,

says...
Uhh...i heard something about extensive use of JAVA.

I'm not quite sure of the extent of "extensive", but yes, Java (not all
upper-case, please) was one of the many, many tools used on MER.

I would be very surprised to know that the rover itself runs Java code.


I hate to admit a mistake, but: I've tried to find my original source
for this and have to admit that I may have confused some of the Java-
based Earth-based support software (e.g., Collaborative Information
Portal -- CIP), with the software on the rover itself.

Sorry about that!


I
don't think Java meets the hard real time requirements of the rover
software. For instance, you absolutely need to know how much time each task
will need to complete, but in Java you can't predict when the garbage
collection will run, making the whole system unpredictable.


Even without garbage collection, most modern computers are
unpredictable. Modern computers are quite dependent on a cache for good
performance. Many systems have multiple levels of cache. How long it
takes to perform a task is a non-trivial statistical computation.

A lot of research has been done on garbage collection. It is possible to
limit the CPU time consumed in garbage collection, allowing a real time
system (at the expense of perhaps requiring a bit more memory).

This kind of software can get complex. "Simpler is better" is a valid
philosophy. Yet I wouldn't assume that Java can't be used in real time
systems. Note that the very first Java Specification Request
(
http://www.jcp.org/aboutJava/communi.../first/jsr001/,
http://www.rtj.org/) is for real-time Java.
--
Kevin Willoughby lid

Imagine that, a FROG ON-OFF switch, hardly the work
for test pilots. -- Mike Collins