[Date Prev][Date Next][Thread Prev][Thread Next] - [Date Index][Thread Index][Author Index]

Forth in Space



Those of you interested in satellite technologies may
enjoy a list of spacecraft-related uses of the Forth
language maintained by NASA:

	http://forth.gsfc.nasa.gov/

Recall that the IHU and IHU-2 processors on AO-40
are programmed in IPS, a Forth-like programming
language.  See:

	http://www.amsat.org/amsat/sats/ao40/ips.html
	http://www.amsat.org/amsat/sats/phase3d/ihu.html
	http://www.amsat-dl.org/yahue.html
	http://www.jrmiller.demon.co.uk/IPS/

For the record, I don't believe that Forth, IPS or similar
languages are the most appropriate choice for spacecraft
software in this day and age.  Rather, I believe that
modern programming languages such as Java offer the prospect
of much more reliable spacecraft software.  Those interested
in the choice of programming languages for spacecraft may
enjoy the following paragraph from James Gosling's home page.

	"If you ever wonder why being really careful about software
	design is important, read the Ariane 5 Failure Report
	<http://java.sun.com/people/jag/Ariane5.html> and the
	description of the Mars Pathfinder "reset" problem
	<http://java.sun.com/people/jag/pathfinder.html>.
	Another good study to read covers the loss of the
	Mars Polar Lander <but, I can't make this URL work>."

Note that the Mars Pathfinder experienced "priority inversion".
This experience was used by at least one advocate to support
the use of IPS, rather than modern programming languages.
I think the argument was roughly, "IPS is so simple that
complex phenomenon such as priority inversion are impossible".
Of course, my interpretation is: hire electrical engineers
to develop electronics and hire software engineers to 
develop software.  I can't find a URL for this IPS argument
at the moment, but if anyone is really interested, I can
hunt for it.

Also note that the AO-40 command team may be happy to point
out (although perhaps only in private) that they have never
experienced a software error in the AO-40 IPS code. They assert
that this affirms that IPS is an appropriate language for
spacecraft.  Always ready with an alternative explanation,
I suggest that this success demonstrates a superhuman effort
on the part of the highly talented AO-40 team (of which they
deserve to be proud), rather than the most appropriate choice
of programming language.  In defense of the AO-40 team,
however, it should mentioned that the AO-40 design decisions
were made quite some time ago, and the IHU and its software are
even older.

And finally, while I am defending apparent confusion on the
part of others, I should mention that the NASA official 
who is maintaining the Forth in Space Web page is also
responsible for NASA's IP in Space project.  I highly
recommend (again) their Web pages:

	http://ipinspace.gsfc.nasa.gov/

I think that NASA Goddard also ran Java in space,
probably as part of the FlightLinux project.  I
think they had to run this on UoSAT-12 (aka UO-36),
rather than on a NASA satellite.  Again, I don't
have a URL handy at the moment, but I have probably
already provided more URLs than anyone will use.
("Dad, that's too much information -- my head will
explode!")

I suppose that advocating IP and Java in space might
almost make up for apparently advocating the use of
Forth in space...

I just thought you would want to know...

-tjs
----
Sent via amsat-bb@amsat.org. Opinions expressed are those of the author.
Not an AMSAT member? Join now to support the amateur satellite program!
To unsubscribe, send "unsubscribe amsat-bb" to Majordomo@amsat.org



AMSAT Top AMSAT Home