Article View: comp.lang.modula2
Article #2612Re: Report on defect in M2 vs C (Was Modula-2, Modula-3, C or C++)
From: Robert I. Eachus
Date: Thu, 12 Oct 1995 20:55
Date: Thu, 12 Oct 1995 20:55
44 lines
2746 bytes
2746 bytes
In comp.lang.ada, pbgraham@umich.edu (Graham) wrote:
>> If you are in a space shuttle, it is not much help to see
>> "Constraint Error at line 34, program Reentry_Guidance aborted"
>
>It doesn't do the astronauts much good,
In article <45gso4$205@fg70.rz.uni-karlsruhe.de> ig25@fg70.rz.uni-karlsruhe.de (Thomas Koenig) writes:
> Depends on what happens next. If the system's reaction is to reboot
> into the next program, written independently from scratch, and capable
> of bringing the shuttle to the ground safely, they'll probably like
> this a bit better than what would happen otherwise :-)
In point of fact the shuttle uses three computers, programmed
independently and constantly checks them against one another. If two
of the three agree fine, if no pair agrees, ask the FOURTH computer,
and don't compare it to anything.
In this environment, when detecting an internal error, the best
thing to do is to restart and sync up as soon as possible. (There are
many occasions where "two out of three" votes result from slightly
different sensor data. (The sampling is not synchronous, this lowers
risk from sensor data corrupted by noise being used by all computers.)
Even if two computers are recovering, the shuttle is fine. But if two
computers continue running with corrupted data, things may be very
unfine.
Of course since the shuttle won't launch unless all of the
computers agree, there were some early launches scrubbed due to lack
of computer synchronization. (Someone thought that since the shuttle
"wasn't moving" on the pad, the match should be exact. But the
earth's rotation does affect the inertial guidance system, so the
computer clocks had to be nearly synchronized for the results to
match.) Later versions of the software allow just enough "slop" for
this situation.
--
Robert I. Eachus
with Standard_Disclaimer;
use Standard_Disclaimer;
function Message (Text: in Clever_Ideas) return Better_Ideas is...
Technical Details
Message-ID:
<EACHUS.95Oct12165542@spectre.mitre.org>Path:
arc1-ca.pugleaf.net!linus.mitre.org!spectre!eachusReferences:
<44hcri$rsm@theopolis.orl.mmc.com> <45cj8d$red@ixnews3.ix.netcom.com> <dewar.813336138@schonberg> <45gghq$7m4@lastactionhero.rs.itd.umich.edu> <45gso4$205@fg70.rz.uni-karlsruhe.de>Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!linus.mitre.org!spectre!eachus From: eachus@spectre.mitre.org (Robert I. Eachus) Newsgroups: comp.lang.modula2,comp.lang.modula3,comp.lang.c,comp.lang.c++,comp.lang.ada Subject: Re: Report on defect in M2 vs C (Was Modula-2, Modula-3, C or C++) Date: 12 Oct 1995 20:55:42 GMT Organization: The Mitre Corp., Bedford, MA. Message-ID: <EACHUS.95Oct12165542@spectre.mitre.org> References: <44hcri$rsm@theopolis.orl.mmc.com> <45cj8d$red@ixnews3.ix.netcom.com> <dewar.813336138@schonberg> <45gghq$7m4@lastactionhero.rs.itd.umich.edu> <45gso4$205@fg70.rz.uni-karlsruhe.de> NNTP-Posting-Host: spectre.mitre.org In-reply-to: ig25@fg70.rz.uni-karlsruhe.de's message of 11 Oct 1995 17:52:20 +0100