473,883 Members | 1,683 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Mars Rover Controlled By Java

Java, the software developed by Sun Microsystems in the mid-1990s as a
universal operating system for Internet applications, gave NASA a low-cost
and easy-to-use option for running Spirit, the robotic rover that rolled
onto the planet's surface on Thursday in search of signs of water and life.

http://news.com.com/2100-1007_3-5142...l?tag=nefd_top

l8r, Mike N. Christoff

Jul 17 '05
198 18454
Ashlie Benjamin Hocking wrote:
Richard Maine <no****@see.sig nature> writes:
If you are sufficiently clueless, you can manage to express that
cluelessnes s in any language.
I think this is a quote worthy of a .sig file. (I'm assuming this is a
Richard Maine original?)


It bears a relation to "Real Programmers can write Fortran in any
language", but I hesitate to call it a "corollary" .

[ dodges ]

--
Toon Moene - mailto:to**@moe ne.indiv.nluug. nl - phoneto: +31 346 214290
Saturnushof 14, 3738 XG Maartensdijk, The Netherlands
Maintainer, GNU Fortran 77: http://gcc.gnu.org/onlinedocs/g77_news.html
GNU Fortran 95: http://gcc.gnu.org/fortran/ (under construction)

Jul 17 '05 #51
"Michael N. Christoff" <mc********@sym patico.caREMOVE THIS> wrote in message news:<ZC******* ************@ne ws20.bellglobal .com>...
Java, the software developed by Sun Microsystems in the mid-1990s as a
universal operating system for Internet applications, gave NASA a low-cost
and easy-to-use option for running Spirit, the robotic rover that rolled
onto the planet's surface on Thursday in search of signs of water and life.

http://news.com.com/2100-1007_3-5142...l?tag=nefd_top

Mike, I have no facts to support this, but my guess is that that the
PR blurb you post is little more than a bit of marketing spin whose
quotes are being read out of context by a few Java enthusiasts.

First of all, obviously Java is not an operating system. It's an
application programming language or tool targeted to the production of
Internet (particularly browser applications). You also cannot
implement a true operating system using Java as your programming
language. If you doubt this, I'll hand you an 80586 chip with 128-Megs
of online memory and chuckle as you try!)

Java is absolutely useless except when running on a platform already
equipped with an operating system, and many layers of data
communications and application programs, where the top levels include
an operating TCP/IP stack and browser software.

Almost certainly the OS within the rover is a highly optimized
real-time kernel likely programmed in assembler, C, C++ or some other
system implementation langage. (Perhaps even Ada, although that would
be a long-shot.) Java is certainly not a member of this tight-knit
club of system implementation languages, and I simply cannot picture
anyone even attempting to implement a real-time OS using it. Java is
not running the Rover, its real-time operating system is.

My guess is that when you get details of the facts supporting this PR
release, you'll learn that certain Java apps form a portion of the
man-machine interface design employed for the entry of command
sequences here on earth, since Java is capable of simpllifying the
design of this type of software over what could otherwise be
programmed using xlib, C, C++ or even (gasp) assembly language, since
the programming of a control entry MMI is today not exactly rocket
science (no pun intended). (Heck, you could probably even use Visual
Basic for the purpose, if really desperate! Back in the early days of
surveilance satellites, we even programmed the ground based command
interpreters for the K-series birds using Fortran, and they were both
trivial to program and functioned perfectly.)

Also, at last count the foundations of the Internet rested heavily on
C/C++/Assembler implementations running on Unix platforms, however
this may or may not have changed over the years. (At last count, the
thousands of different routines supporting operation of the Internet
involved the use of nearly as many different programming tools...since
so long as they all result in the production of really tight, robust,
executable machine code, the choice of programming language really
doesn't matter.)

When a firm intentionally confuses application programming tools such
as Java with real-time OS implementation methodoloy, in my mind they
both risk and deserve justifiable ridicule. I don't believe that Sun
intended to create such confusion in their publicity release, however
a few Java enthusiasts do seem bent on misrepresentati on of Java's
capabilities, potentially at Sun's credibility expense.

Harry C.
Jul 17 '05 #52
"Michael N. Christoff" <mc********@sym patico.caREMOVE THIS> wrote in message news:<ZC******* ************@ne ws20.bellglobal .com>...
Java, the software developed by Sun Microsystems in the mid-1990s as a
universal operating system for Internet applications, gave NASA a low-cost
and easy-to-use option for running Spirit, the robotic rover that rolled
onto the planet's surface on Thursday in search of signs of water and life.

http://news.com.com/2100-1007_3-5142...l?tag=nefd_top

Mike, I have no facts to support this, but my guess is that that the
PR blurb you post is little more than a bit of marketing spin whose
quotes are being read out of context by a few Java enthusiasts.

First of all, obviously Java is not an operating system. It's an
application programming language or tool targeted to the production of
Internet (particularly browser applications). You also cannot
implement a true operating system using Java as your programming
language. If you doubt this, I'll hand you an 80586 chip with 128-Megs
of online memory and chuckle as you try!)

Java is absolutely useless except when running on a platform already
equipped with an operating system, and many layers of data
communications and application programs, where the top levels include
an operating TCP/IP stack and browser software.

Almost certainly the OS within the rover is a highly optimized
real-time kernel likely programmed in assembler, C, C++ or some other
system implementation langage. (Perhaps even Ada, although that would
be a long-shot.) Java is certainly not a member of this tight-knit
club of system implementation languages, and I simply cannot picture
anyone even attempting to implement a real-time OS using it. Java is
not running the Rover, its real-time operating system is.

My guess is that when you get details of the facts supporting this PR
release, you'll learn that certain Java apps form a portion of the
man-machine interface design employed for the entry of command
sequences here on earth, since Java is capable of simpllifying the
design of this type of software over what could otherwise be
programmed using xlib, C, C++ or even (gasp) assembly language, since
the programming of a control entry MMI is today not exactly rocket
science (no pun intended). (Heck, you could probably even use Visual
Basic for the purpose, if really desperate! Back in the early days of
surveilance satellites, we even programmed the ground based command
interpreters for the K-series birds using Fortran, and they were both
trivial to program and functioned perfectly.)

Also, at last count the foundations of the Internet rested heavily on
C/C++/Assembler implementations running on Unix platforms, however
this may or may not have changed over the years. (At last count, the
thousands of different routines supporting operation of the Internet
involved the use of nearly as many different programming tools...since
so long as they all result in the production of really tight, robust,
executable machine code, the choice of programming language really
doesn't matter.)

When a firm intentionally confuses application programming tools such
as Java with real-time OS implementation methodoloy, in my mind they
both risk and deserve justifiable ridicule. I don't believe that Sun
intended to create such confusion in their publicity release, however
a few Java enthusiasts do seem bent on misrepresentati on of Java's
capabilities, potentially at Sun's credibility expense.

Harry C.
Jul 17 '05 #53
mitch <realtime@-no-spam-acm.org> wrote in message news:<10******* ******@corp.sup ernews.com>...
Read the article carefully. Java is being used to create 3D views of
terrain, and for command and control functions, ON EARTH. The last
paragraph correctly states that Wind River Systems made the embedded
software in the Spirit and Opportunity rovers. They run applications
created by JPL which execute on the VxWorks real-time operating system
(RTOS). I know this because a little of my work is in that RTOS - I
worked for Wind River until recently.

If you want more info on VxWorks, see the web site: www.windriver.com

The VxWorks RTOS also ran the Mars Lander and is in many other active
NASA probes like Stardust.

--mitch


Now that I can believe! :-)

I'm still supporting embedded 8051 packages running on the original
Franklin RTOS, nearly all embedded control systems using the Intel
80X86 family now run VxWorks, with the exception of the 80186. Wind
River is certainly doing something right.

Their VxWorks RTOS package is really slick...I know this because I was
once comissioned to write a RTOS OS for the 80186 similar to VxWorks
(which doesn't support the 80186 in order to provide support for a
legacy PLC controller design. Sadly, the firm quickly lost interest
and cancelled the funding 3-months into the project, just when I was
begining to become really good at rewriting VxWorks 80386 OS code into
80186 code! :-)

I never found out if the mission was scrubbed because of an internal
marketing decision, or because Wind River and its attorneys got wind
(no pun inteded) of the project.

What do/did you think of "Tornado"? Seemed to me that it was equally
as bad as "Starteam", and the neither of these two CM systems came
close to equaling the features provided by the old Unix PWB (for you
newbies, PWB "Programmer s Workbench", arguably the original software
configuration management tool).

Harry C.
Jul 17 '05 #54
mitch <realtime@-no-spam-acm.org> wrote in message news:<10******* ******@corp.sup ernews.com>...
Read the article carefully. Java is being used to create 3D views of
terrain, and for command and control functions, ON EARTH. The last
paragraph correctly states that Wind River Systems made the embedded
software in the Spirit and Opportunity rovers. They run applications
created by JPL which execute on the VxWorks real-time operating system
(RTOS). I know this because a little of my work is in that RTOS - I
worked for Wind River until recently.

If you want more info on VxWorks, see the web site: www.windriver.com

The VxWorks RTOS also ran the Mars Lander and is in many other active
NASA probes like Stardust.

--mitch


Now that I can believe! :-)

I'm still supporting embedded 8051 packages running on the original
Franklin RTOS, nearly all embedded control systems using the Intel
80X86 family now run VxWorks, with the exception of the 80186. Wind
River is certainly doing something right.

Their VxWorks RTOS package is really slick...I know this because I was
once comissioned to write a RTOS OS for the 80186 similar to VxWorks
(which doesn't support the 80186 in order to provide support for a
legacy PLC controller design. Sadly, the firm quickly lost interest
and cancelled the funding 3-months into the project, just when I was
begining to become really good at rewriting VxWorks 80386 OS code into
80186 code! :-)

I never found out if the mission was scrubbed because of an internal
marketing decision, or because Wind River and its attorneys got wind
(no pun inteded) of the project.

What do/did you think of "Tornado"? Seemed to me that it was equally
as bad as "Starteam", and the neither of these two CM systems came
close to equaling the features provided by the old Unix PWB (for you
newbies, PWB "Programmer s Workbench", arguably the original software
configuration management tool).

Harry C.
Jul 17 '05 #55
Richard Maine <no****@see.sig nature> wrote in message news:<m3******* *****@altair.df rc.nasa.gov>...
Jan C. Vorbrüggen <jv**********@m ediasec.de> writes:
For any modern compiler of a 3GL language, not compiling with (the equivalent
of) -fast is grossly negligent.
A few years ago, I was asked to help with improving the performance of
a major production code here. The author of the code didn't even
know how to turn on the optimizer. I mean turning on the optimizer
at all, even with a simple -O, much less experimenting with the other
settings. I was a bit shocked that they felt the need to call for
help and hadn't even tried that. This was from a supposedly
professional full-time programmer and was in a code that had gone
through all the formal development process (for what little that
was actually worth :-() and was in production use.


If he was dealing with embedded software, the original designer may
have had good reason not to turn on the optimizer.

In embedded software, we frequently write to memory addresses that are
in turn mapped to hardware control registers. Early optimizer design
was frequently done by software folk not familiar with this practices,
often optimizing out writes to address that they didn't see being
later read.

IIRC, Microsoft's "MASM" was an assembler whose optimization exhibited
this defect. Today, no many people use MASM, so I don't know if the
flaw was ever corrected. As a result, many embedded software/firmware
designers today still operate with the optimizer turned off for
"safety", and prefer to optimize their own code.

Franklin's 8051 development suite initially exhibied the same problem,
but given that their target market was entired embedded software
designers, the problem was corrected by the 2nd release of the
product.
It was a Fortran code, but the major problems didn't have much to
do with the language. If you are sufficiently clueless, you can
manage to express that cluelessness in any language.


Amen to that statement, and suggest that it be etched it in stone.

A skilled programmer can even write in GWBASIC and produce fantastic
results through the clever use of (IIRC) PUT and POKE commands, which
allow the insertion of machine language instructions in the GWBASIC or
the Atari BASIC command stream. (I wonder how many of today's
programmers would be resouceful enough to use of such extreme
techniques to achieve their goals? Heck, for that matter how many have
ever even directly used machine code?)

Harry C.
Jul 17 '05 #56
Richard Maine <no****@see.sig nature> wrote in message news:<m3******* *****@altair.df rc.nasa.gov>...
Jan C. Vorbrüggen <jv**********@m ediasec.de> writes:
For any modern compiler of a 3GL language, not compiling with (the equivalent
of) -fast is grossly negligent.
A few years ago, I was asked to help with improving the performance of
a major production code here. The author of the code didn't even
know how to turn on the optimizer. I mean turning on the optimizer
at all, even with a simple -O, much less experimenting with the other
settings. I was a bit shocked that they felt the need to call for
help and hadn't even tried that. This was from a supposedly
professional full-time programmer and was in a code that had gone
through all the formal development process (for what little that
was actually worth :-() and was in production use.


If he was dealing with embedded software, the original designer may
have had good reason not to turn on the optimizer.

In embedded software, we frequently write to memory addresses that are
in turn mapped to hardware control registers. Early optimizer design
was frequently done by software folk not familiar with this practices,
often optimizing out writes to address that they didn't see being
later read.

IIRC, Microsoft's "MASM" was an assembler whose optimization exhibited
this defect. Today, no many people use MASM, so I don't know if the
flaw was ever corrected. As a result, many embedded software/firmware
designers today still operate with the optimizer turned off for
"safety", and prefer to optimize their own code.

Franklin's 8051 development suite initially exhibied the same problem,
but given that their target market was entired embedded software
designers, the problem was corrected by the 2nd release of the
product.
It was a Fortran code, but the major problems didn't have much to
do with the language. If you are sufficiently clueless, you can
manage to express that cluelessness in any language.


Amen to that statement, and suggest that it be etched it in stone.

A skilled programmer can even write in GWBASIC and produce fantastic
results through the clever use of (IIRC) PUT and POKE commands, which
allow the insertion of machine language instructions in the GWBASIC or
the Atari BASIC command stream. (I wonder how many of today's
programmers would be resouceful enough to use of such extreme
techniques to achieve their goals? Heck, for that matter how many have
ever even directly used machine code?)

Harry C.
Jul 17 '05 #57
On 21 Jan 2004 14:06:56 -0800, hh****@yahoo.co m (Harry Conover) wrote:
"Michael N. Christoff" <mc********@sym patico.caREMOVE THIS> wrote in message news:<ZC******* ************@ne ws20.bellglobal .com>...
Java, the software developed by Sun Microsystems in the mid-1990s as a
universal operating system for Internet applications, gave NASA a low-cost
and easy-to-use option for running Spirit, the robotic rover that rolled
onto the planet's surface on Thursday in search of signs of water and life.

http://news.com.com/2100-1007_3-5142...l?tag=nefd_top

Mike, I have no facts to support this, but my guess is that that the
PR blurb you post is little more than a bit of marketing spin whose
quotes are being read out of context by a few Java enthusiasts.

You're about four days late with this observation ;-) Folks who
actually read the referenced article, "Java runs remote-controlled
Mars rover", learned that while a Java program "runs" a simulated
rover, here on earth, and is a very useful tool for mission planning,
it does not run *on* the rover, or directly control it. Read the
article.

You can get the software at http://mars.telascience.org/

--
Al Balmer
Balmer Consulting
re************* ***********@att .net
Jul 17 '05 #58
On 21 Jan 2004 14:06:56 -0800, hh****@yahoo.co m (Harry Conover) wrote:
"Michael N. Christoff" <mc********@sym patico.caREMOVE THIS> wrote in message news:<ZC******* ************@ne ws20.bellglobal .com>...
Java, the software developed by Sun Microsystems in the mid-1990s as a
universal operating system for Internet applications, gave NASA a low-cost
and easy-to-use option for running Spirit, the robotic rover that rolled
onto the planet's surface on Thursday in search of signs of water and life.

http://news.com.com/2100-1007_3-5142...l?tag=nefd_top

Mike, I have no facts to support this, but my guess is that that the
PR blurb you post is little more than a bit of marketing spin whose
quotes are being read out of context by a few Java enthusiasts.

You're about four days late with this observation ;-) Folks who
actually read the referenced article, "Java runs remote-controlled
Mars rover", learned that while a Java program "runs" a simulated
rover, here on earth, and is a very useful tool for mission planning,
it does not run *on* the rover, or directly control it. Read the
article.

You can get the software at http://mars.telascience.org/

--
Al Balmer
Balmer Consulting
re************* ***********@att .net
Jul 17 '05 #59
On 21 Jan 2004 14:59:32 -0800, hh****@yahoo.co m (Harry Conover) wrote:
A skilled programmer can even write in GWBASIC and produce fantastic
results through the clever use of (IIRC) PUT and POKE commands, which
allow the insertion of machine language instructions in the GWBASIC or
the Atari BASIC command stream. (I wonder how many of today's
programmers would be resouceful enough to use of such extreme
techniques to achieve their goals?
Programmers tend to be as resourceful as necessary, to the detriment
of the remainder of the code's life cycle.. Fortunately, such
techniques are usually not necessary on today's programming platforms.
Unfortunately, some programmers use them anyway.
Heck, for that matter how many have
ever even directly used machine code?)


Rarely needed, even in my day. Assembler language is much preferable,
and lots of people still use it. Direct use of machine code is (was)
sometimes useful for debugging and patching.

--
Al Balmer
Balmer Consulting
re************* ***********@att .net
Jul 17 '05 #60

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

33
3103
by: jacob navia | last post by:
Mankind has now two robots wandering about in the planet Mars. No, it wasn't Mars that invaded Earth, but Earth that landed in Mars more than two years ago. After some initial OS glitches (Chris Torek can comment on those probably) in the Spirit robot, software has done smoothly ever since. All the software is written in C, what is a good decision but also a bad one, C with its warts and all...
0
9935
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look ! Part I. Meaning of...
0
9791
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
0
11137
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
0
10410
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
0
9571
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
0
5797
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
1
4609
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
2
4215
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.
3
3231
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.