comp.lang.ada
 help / color / mirror / Atom feed
From: Colin Paul Gloster <Colin_Paul_Gloster@ACM.org>
Subject: Re: computer language used to program Mars Lander
Date: Fri, 18 Jul 2008 19:02:58 +0100
Date: 2008-07-18T19:02:58+01:00	[thread overview]
Message-ID: <Pine.WNT.4.64.0807181902001.964@teor2> (raw)
In-Reply-To: <13a2f4f0-6ec1-4570-b6bf-1621cfb32db2@a2g2000prm.googlegroups.com>

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: TEXT/PLAIN; charset=UTF-8, Size: 8734 bytes --]

On Thu, 17 Jul 2008, Paul Hsieh wrote:

|-------------------------------------------------------------------------|
|"On Jul 14, 4:49 am, Nick Keighley <nick_keighley_nos...@hotmail.com>    |
|wrote:                                                                   |
|> On 14 Jul, 12:18, "jhc0...@gmail.com" <jhc0...@gmail.com> wrote:       |
|>                                                                        |
|> > Interesting article I came across on Slashdot:                       |
|>                                                                        |
|> >http://developers.slashdot.org/developers/08/07/10/213211.shtml       |
|>                                                                        |
|> > They are using C at JPL to program Mars Lander and just about        |
|> > everything now! Not Ada. Anyone got an explanation? I wonder also, do|
|> > they really mean C++ when they say C. In my experience, this is a    |
|> > frequent, although disagreeable usage.                               |
|>                                                                        |
|> contrary to popular expectations space probes are very                 |
|> conservative in their use of technology. Processors are old            |
|> (and hence proven) [..]                                                |
|                                                                         |
|Indeed."                                                                 |
|-------------------------------------------------------------------------|

Agreed.

|-------------------------------------------------------------------------|
|" memories are small"                                                    |
|-------------------------------------------------------------------------|

Agreed (in the sense that they do not have many binary digits).

|-------------------------------------------------------------------------|
|" (less vulnerable to radiation)."                                       |
|-------------------------------------------------------------------------|

Memories used in space probes are less vulnerable to radiation than
normal memories, but this is not because of the centimeters cubed
used. 

On Page 12 of
HTTP://AMS.Aeroflex.com/ProductFiles/DataSheets/4MSRAM/ut8r512x8.pdf
, dimensions of 0.575 inches by 0.910 inches by (0.117-0.013) inches
(approximately 14.6 millimeters by 23.1 mm by 2.6 mm approximately
equal to 877 mm cubed) are shown for an astronautical four megabit
SRAM excluding the legs, whereas we can see from
WWW.IDT.com/?genID=71V416L&source=products_genericPart_71V416L
and
WWW.IDT.com/?app=packaging&packageID=BE48&mktseg=IDT
that dimensions closer to 9 mm by 9 mm by 1.2 mm (97.2 mm cubed) are
available for four megabits of Terran SRAM.

Of course, a problem with radiation is more likely to happen to (2 x
877) mm cubed of 2 x 4 Mbits of SRAM than to 1 x 877 mm cubed of 1 x 4
Mbits of SRAM.

|-------------------------------------------------------------------------|
|"  Ada [..]                                                              |
|[..]                                                                     |
|[..]  I would expect that                                                |
|perhaps NASA also uses it for the space shuttle."                        |
|-------------------------------------------------------------------------|

I have heard that a language which is used only for the Space Shuttles
was used instead.

|-------------------------------------------------------------------------|
|> Remember if there's a bug they can't just upgrade the software.        |
|                                                                         |
|They both can and *DO* do this."                                         |
|-------------------------------------------------------------------------|

They can upgrade the software. They can not do this easily, so Nick
Keighley's assertion "they can't just upgrade the software" is
correct. Were the probe on the Moon, there would be a latency 

|-------------------------------------------------------------------------|
|"  They typically use VxWorks as the                                     |
|main operating system,"                                                  |
|-------------------------------------------------------------------------|

Actually before the rovers launched in circa 2003, NASA used to not
use VxWorks. A port of VxWorks to a processor which had not been
supported before was specifically written for that mission. This is in
contrast to the often conservative nature of responsible astronautical
engineers, but NASA has shown itself to be reckless on a number of
occasions.

|-------------------------------------------------------------------------|
|" which comes with a fairly powerful command                             |
|console that makes it practical to actually debug, upload bug fixes      |
|and reboot the systems all remotely.                                     |
|                                                                         |
|> Well they can but it has to be mostly working for the download         |
|> to work.                                                               |
|                                                                         |
|Its in the OS they use (and didn't make themselves.)"                    |
|-------------------------------------------------------------------------|

Were the probe on the Moon, the latency would be a few seconds
long. Latencies for other destinations would be much worse. If Mars
was at its closest to the Sun (i.e. at 1.381 Astronomical Units (A.U.s)) and
were Earth between the Sun and Mars, then there would be a distance of
approximately 0.381 A.U.s equal to circa 500 light seconds multiplied
by 0.381 equals 190.5 light seconds equals over three light minutes
between the Earthling operators and the probe. Between the time an
operator typed ps to list the processes and the time the telecommand
was received over three minutes later, plenty of terminal problems
could have ended the mission.

If you have software on the probe which is sorting ten numbers while
you are uploading a patch to the sorting algorithhm, and pausing or
terminating the current sorting is unacceptable (it might not actually
be buggy, perhaps it merely needs an adjustment), then does VxWorks
know that the only safe times to install the patch are between one
run's final iteration and the next run's next iteration. VxWorks can
not possibly know that without being told. This is independent of
operating system and language.

Are you aware that well-maintained unmanned spacecraft are not
rebooted even when software is being patched while most of the rest of
the software is still being run?

|-------------------------------------------------------------------------|
|"[..]                                                                    |
|                                                                         |
|The small memory footprint and VxWorks environment probably makes C a    |
|very attractive language for the NASA guys.  If they used Ada, they      |
|would be slower, have much larger memory requirements and have a very    |
|hard time debugging problems remotely.                                   |
|                                                                         |
|[..]"                                                                    |
|-------------------------------------------------------------------------|

How is C on VxWorks faster than Ada? It is not clear to me whether you
believe that C on VxWorks makes the speed of light faster or whether
it teleports Mars to be situated closer to Earth.

Please explain the speeds of less than two microseconds without
VxWorks and over eight seconds with VxWorks in Table 1 of
"The Ravenscar Tasking Profile - Experience Report"
by Brian Dobbing and George Romanski in the PDF file hyperlinked to
from
HTTP://Portal.ACM.org/citation.cfm?id=329607.334733&coll=Portal&dl=GUIDE&CFID=37194600&CFTOKEN=70659176

VxWorks consumes "36KB" according to
WWW.Windriver.com/products/product-notes/Platform-for-Network-Equipment-ve-Note.pdf
whereas the Ada runtime overhead for Aonix ObjectRaven was claimed to
be less than five kilobytes in Table 2. Please explain how Ada using
less than five kilobytes is a "much larger memory" requirement than C
using 36KB.

Please show me something in your post about Ada which is not nonsense.

Sincerely,
Colin Paul Gloster

  parent reply	other threads:[~2008-07-18 18:02 UTC|newest]

Thread overview: 61+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-07-14 11:18 computer language used to program Mars Lander jhc0033
2008-07-14 11:21 ` jacob navia
2008-07-14 21:27   ` Maciej Sobczak
2008-07-14 11:49 ` Nick Keighley
2008-07-15  7:27   ` Maciej Sobczak
2008-07-16  6:02   ` jhc0033
2008-07-16 21:57     ` Brian
2008-07-23 14:43     ` Michael Oswald
2008-07-23 22:53       ` Larry Elmore
2008-07-24  6:59       ` jhc0033
2008-07-24  7:18         ` Stefan Scholl
2008-07-24 12:14           ` Grant Rettke
2008-07-24  7:39         ` John Thingstad
2008-07-24  7:51           ` jhc0033
2008-07-24  9:40             ` John Thingstad
2008-07-24 20:39             ` Brian
2008-07-25  6:10               ` jhc0033
2008-07-25 20:29                 ` Brian
2008-07-26  3:03                   ` jhc0033
2008-07-26  6:09                     ` Brian
2008-07-24  8:40         ` pls.mrjm
2008-07-24  9:04         ` Pascal J. Bourguignon
2008-07-24 11:35           ` Michael Oswald
2008-07-24 12:15             ` Stefan Scholl
2008-07-24 12:36               ` Michael Oswald
2008-07-25 21:19         ` j.oke
2008-07-25 22:34           ` Adam Beneschan
2008-07-25 23:30             ` Joost Kremers
2008-07-26 12:41             ` j.oke
2008-07-26 12:51             ` j.oke
2008-07-17 21:56   ` Paul Hsieh
2008-07-17 22:30     ` Chris Thomasson
2008-07-17 23:03       ` Default User
2008-07-18  0:03         ` Chris Thomasson
2008-07-18  0:02       ` Gary Scott
2008-07-18  0:08         ` Chris Thomasson
2008-07-18 18:02     ` Colin Paul Gloster [this message]
2008-07-18 18:51       ` Dmitry A. Kazakov
2008-07-18 18:37     ` Pascal Obry
2008-07-18 19:45     ` Gautier
2008-07-18 20:26       ` jacob navia
2008-07-18 21:01         ` Georg Bauhaus
2008-07-18 21:14         ` Gary Scott
2008-07-18 20:45       ` Richard Tobin
2008-07-22  8:39       ` Jean-Pierre Rosen
2008-07-22 10:45         ` Nick Keighley
2008-07-22 10:50           ` Richard
2008-07-22 11:20           ` Jean-Pierre Rosen
2008-07-22 21:11             ` CBFalconer
2008-07-23  8:40               ` Jean-Pierre Rosen
2008-07-23 13:00                 ` CBFalconer
2008-07-26 11:13               ` Antoninus Twink
2008-07-22 12:05           ` Chris Dollin
2008-07-22 13:39           ` Walter Banks
2008-07-14 15:31 ` george.priv
2008-07-14 15:38 ` Keith Thompson
2008-07-14 21:29   ` CBFalconer
2008-07-15 12:04 ` Stephen Leake
2008-07-15 13:55   ` Georg Bauhaus
2008-07-15 23:35   ` Phaedrus
2008-07-16  5:21     ` christoph.grein
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox