From: Ken Garlington <garlingtonke@lmtas.lmco.com>
Subject: Re: Ariane 5 failure
Date: 1996/10/16
Date: 1996-10-16T00:00:00+00:00 [thread overview]
Message-ID: <326506D2.1E40@lmtas.lmco.com> (raw)
In-Reply-To: mheaney-ya023180001410962319550001@news.ni.net
Matthew Heaney wrote:
>
> As you stated, exceptions are only a tool. They don't replace the need for
> (mental) reasoning about the correctness of my program, nor should they be
> used to guard against sloppy programming. Exceptions don't correct the
> problem for you, but at least they let you know that a problem exists.
>
> And in spite of all the efforts of the Ariane 5 developers, a problem did
> exist, significant enough to cause mission failure. Don't you think an
> exception was justified in this case?
Not necessarily. Keep in mind that an exception _was_ raised -- a predefined
exception (Operand_Error according to the report). There was sufficient telemetry
to determine where the error occured (obviously, otherwise we wouldn't know what
happened!). If the real Ariane 5 trajectory had been tested in an integrated
laboratory enviroment, then (assuming the environment was realistic enough to
trigger the problem), the fault would have been seen (and presumably analyzed and
fixed) prior to launch. So, the issue is not the addition of a user-defined
exception to find the error -- the issue is the addition of a new exception
_handler_ to _recover_ from the error in flight.
Assuming that a new exception _handler_ had been added, then it _might_ have made
a difference. If it did nothing more than the system exception handler (shutting
down the channel), then the only potential advantage of the exception _handler_
might have been to allow fault isolation to happen faster (e.g. if the exception
were logged in some manner). This assumes that either the exception message was
sent out with the telemetry, or else the on-board fault logging survived the
crash. On the other hand, if it had shut down just the alignment function, then
it might have saved the system. Without more knowledge about the IRS
architecture, there's no way to say.
> Yes, I agree that there may be times when you don't need any sophisticated
> exception handling, and you could safely turn checks off. But surely there
> are important sections of code, say for a critical algorithm, that justify
> the use of checks.
>
> Believe me, I would love to write a software system that I knew were
> (formally) correct and didn't require run-time checks. But I am not able
> to build that system today. So what should I do?
>
> Though I may be the most practiced walker of tightropes, I still like
> having that safety net underneath me.
Just make sure that your safety net isn't lying directly on the ground. Without
the use of a frame (exception handlers that actually do the right thing to
recover the system), you'll find the landing is just as hard with or without the
net!
You might also want to make sure that the net isn't suspended so high that you're
walking _below_ it, or even worse that you hit your head on the net and it knocks
you off the rope (just to stretch this analogy a bit further). In other words, a
complex exception handling structure might actually _detract_ from the
reliability of your system. There is some merit to the Keep It Simple, Stupid
principle.
>
> -matt
>
> --------------------------------------------------------------------
> Matthew Heaney
> Software Development Consultant
> mheaney@ni.net
> (818) 985-1271
--
LMTAS - "Our Brand Means Quality"
For more info, see http://www.lmtas.com or http://www.lmco.com
next prev parent reply other threads:[~1996-10-16 0:00 UTC|newest]
Thread overview: 105+ messages / expand[flat|nested] mbox.gz Atom feed top
1996-10-01 0:00 Ariane 5 failure Marin David Condic, 407.796.8997, M/S 731-93
1996-10-02 0:00 ` Matthew Heaney
1996-10-04 0:00 ` Ken Garlington
1996-10-05 0:00 ` Robert Dewar
1996-10-06 0:00 ` Keith Thompson
1996-10-08 0:00 ` Bullet-Proof or Bullet-Resistant (Was Ariane 5 failure) Alan Brain
1996-10-10 0:00 ` Ariane 5 failure Ken Garlington
1996-10-14 0:00 ` Matthew Heaney
1996-10-15 0:00 ` Robert Dewar
1996-10-16 0:00 ` Ken Garlington [this message]
1996-10-18 0:00 ` Keith Thompson
1996-10-18 0:00 ` Samuel T. Harris
1996-10-21 0:00 ` Ken Garlington
1996-10-18 0:00 ` Ken Garlington
1996-10-23 0:00 ` robin
1996-10-02 0:00 ` Robert I. Eachus
1996-10-02 0:00 ` Ken Garlington
-- strict thread matches above, loose matches on Subject: below --
1996-10-31 0:00 Marin David Condic, 561.796.8997, M/S 731-93
1996-10-28 0:00 Marin David Condic, 561.796.8997, M/S 731-93
1996-10-28 0:00 Marin David Condic, 561.796.8997, M/S 731-93
1996-10-29 0:00 ` Ken Garlington
1996-11-08 0:00 ` robin
1996-10-21 0:00 Marin David Condic, 407.796.8997, M/S 731-93
1996-10-22 0:00 ` Adam Beneschan
1996-10-16 0:00 Marin David Condic, 407.796.8997, M/S 731-93
1996-10-18 0:00 ` Ken Garlington
1996-10-19 0:00 ` Frank Manning
1996-10-21 0:00 ` Norman H. Cohen
1996-10-14 0:00 Marin David Condic, 407.796.8997, M/S 731-93
1996-10-15 0:00 ` Robert I. Eachus
1996-10-15 0:00 ` Robert Dewar
1996-10-16 0:00 ` Michael F Brenner
1996-10-16 0:00 ` Robert Dewar
1996-10-23 0:00 ` robin
1996-10-03 0:00 Marin David Condic, 407.796.8997, M/S 731-93
1996-10-03 0:00 Marin David Condic, 407.796.8997, M/S 731-93
1996-10-03 0:00 Marin David Condic, 407.796.8997, M/S 731-93
1996-10-01 0:00 Marin David Condic, 407.796.8997, M/S 731-93
1996-10-02 0:00 ` Ken Garlington
1996-10-01 0:00 Marin David Condic, 407.796.8997, M/S 731-93
1996-10-02 0:00 ` Alan Brain
1996-10-02 0:00 ` Ken Garlington
1996-10-02 0:00 ` Matthew Heaney
1996-10-04 0:00 ` Robert S. White
1996-10-05 0:00 ` Robert Dewar
1996-10-05 0:00 ` Alan Brain
1996-10-06 0:00 ` Robert S. White
1996-10-03 0:00 ` Alan Brain
1996-10-04 0:00 ` Ken Garlington
[not found] <agrapsDy4oJH.29G@netcom.com>
1996-09-25 0:00 ` @@ robin
1996-09-25 0:00 ` Michel OLAGNON
1996-09-25 0:00 ` Byron Kauffman
1996-09-25 0:00 ` A. Grant
1996-09-25 0:00 ` Ken Garlington
1996-09-26 0:00 ` Sandy McPherson
1996-09-26 0:00 ` Byron Kauffman
1996-09-27 0:00 ` A. Grant
1996-09-25 0:00 ` Chris Morgan
1996-09-25 0:00 ` Bob Kitzberger
1996-09-26 0:00 ` Ronald Kunne
1996-09-26 0:00 ` Matthew Heaney
1996-09-27 0:00 ` Ronald Kunne
1996-09-27 0:00 ` Lawrence Foard
1996-10-04 0:00 ` @@ robin
1996-09-28 0:00 ` Ken Garlington
1996-09-28 0:00 ` Ken Garlington
1996-09-29 0:00 ` Alan Brain
1996-09-29 0:00 ` Robert A Duff
1996-09-30 0:00 ` Wayne L. Beavers
1996-10-01 0:00 ` Ken Garlington
1996-10-01 0:00 ` Wayne L. Beavers
1996-10-01 0:00 ` Ken Garlington
1996-10-02 0:00 ` Sandy McPherson
1996-10-03 0:00 ` Richard A. O'Keefe
1996-10-01 0:00 ` Ken Garlington
1996-09-27 0:00 ` Wayne Hayes
1996-09-27 0:00 ` Richard Pattis
1996-09-29 0:00 ` Alan Brain
1996-09-29 0:00 ` Dann Corbit
1996-09-29 0:00 ` Chris McKnight
1996-10-01 0:00 ` Ken Garlington
1996-09-28 0:00 ` Ken Garlington
1996-09-27 0:00 ` Ken Garlington
1996-09-27 0:00 ` Alan Brain
1996-09-28 0:00 ` Ken Garlington
1996-09-29 0:00 ` Louis K. Scheffer
1996-09-27 0:00 ` John McCabe
1996-10-01 0:00 ` Michael Dworetsky
1996-10-04 0:00 ` Steve Bell
1996-10-07 0:00 ` Ken Garlington
1996-10-09 0:00 ` @@ robin
1996-10-09 0:00 ` Steve O'Neill
1996-10-12 0:00 ` Alan Brain
1996-10-04 0:00 ` @@ robin
1996-10-04 0:00 ` Joseph C Williams
1996-10-06 0:00 ` Wayne Hayes
1996-10-04 0:00 ` Michel OLAGNON
1996-10-09 0:00 ` @@ robin
1996-10-17 0:00 ` Ralf Tilch
1996-10-17 0:00 ` Ravi Sundaram
1996-10-22 0:00 ` shmuel
1996-10-22 0:00 ` Jim Carr
1996-10-24 0:00 ` hayim
1996-10-25 0:00 ` Ken Garlington
1996-10-25 0:00 ` Michel OLAGNON
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox