comp.lang.ada
 help / color / mirror / Atom feed
From: Ken Garlington <kennieg@flash.net>
Subject: Re: Safety-critical development in Ada and Eiffel
Date: 1997/07/21
Date: 1997-07-21T00:00:00+00:00	[thread overview]
Message-ID: <33D3FA82.6EA6@flash.net> (raw)
In-Reply-To: 97072111025086@psavax.pwfl.com


Marin David Condic, 561.796.8997, M/S 731-96 wrote:
> 
> Ken Garlington <kennieg@FLASH.NET> writes:
> >> Depends on the application.  Generally they print an error report, dump
> >> stack information to a file, and ask the user to phone the vendor.  Note
> >> that I am not proposing this for real-time embedded applications.  However
> >> there are safety-critical applications which are not real-time.
> >
> >True. Furthermore, there are safety-critical real-time applications that
> >are not required to be fail-operational. In both cases, I can at least
> >see
> >the glimmer of hope that assertions might have some value. (However,
> >even
> >a non-real-time system monitoring a nuclear power plant, for example,
> >might
> >not want to print out a message saying "phone the vendor, and I hope the
> >reactor doesn't go supercritical while you're on hold :)
> >
> >However, for _at least_ certain classes of safety-critical systems, this
> >behavior is completely unacceptable. Unfortunately, most people who
> >advocate
> >liberal use of exceptions are working on systems where it is quite
> >acceptable.
> >
>     Well, here's one way of dealing with exceptions in a real-time
>     safety critical application:
> 
>     If you have a control loop executing code, say, every 5mSec,
>     sensing some inputs and doing some loop closure, you know by the
>     rules of Ada that there are some exception possibilities you can't
>     disable.

Realisitically, you can disable all of them (and we have in the past).

>     Hence they could be raised by code beyond your control.
>     You insert an exception handler in the loop to catch any of these,
>     possibly logging them for telemetry (or at least ticking off a
>     counter somewhere so you know it happened in lab testing!) then
>     allow the loop to restart.

Yes, we do this with interrupt handlers (although we resume where we
left off,
rather than restart). The problem with restart is blowing off a frame of
data.
For high-gain data, you might see a significant transient, which could
have very bad effects structurally, operationally, etc.

The bottom line is, there is no intrinsically "safe" general-purpose
approach
to handling exceptions. For the ones you can't suppress (or figure out
how to
handle otherwise), you end up basically making the best of a bad
situation.

> 
>     What you're saying is this: "On pass N everything was fine. On
>     pass N+1, something went haywire and interrupted normal execution.
>     Because quitting operation is not an acceptable alternative, what
>     I'm betting on is that on pass N+2, the problem will clear
>     itself."

OK for transient input problems (we use input filtering to handle those,
however),
or for transient hardware problems (and you should read the beating
Ariane
took for assuming that!), but there's absolutely no reason to assume a
software
design fault will act this way.

That's not to say that your approach is wrong, but if it fails... what
will your
inquiry board's report look like?

> 
>     This would potentially give you a viable use for raising
>     exceptions on the fly. Granted, you wouldn't do this for any sort
>     of expected conditions with planned for accommodations, but
>     strictly for those sorts of errors that should never occur, but
>     might just do so anyway. Your accommodation at that point might be
>     something like resetting all of memory to its initial state and
>     hoping that the next batch of inputs gets you back to where you
>     should be.

We actually have a top-level handler on some programs that does a warm
start
if a really serious event happens, that's similar to what you describe.
However, it's more of wishful thinking than anything else that says this
will save the system. It's the last line of defense, not the first, and
certainly
not something you want to depend on to say your system is safe!

> 
>     MDC
> 
> Marin David Condic, Senior Computer Engineer     ATT:        561.796.8997
> Pratt & Whitney GESP, M/S 731-96, P.O.B. 109600  Fax:        561.796.4669
> West Palm Beach, FL, 33410-9600                  Internet:   CONDICMA@PWFL.COM
> ===============================================================================
>     "You spend a billion here and a billion there. Sooner or later it
>     adds up to real money."
>         --  Everett Dirksen
> ===============================================================================




  reply	other threads:[~1997-07-21  0:00 UTC|newest]

Thread overview: 255+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1997-07-21  0:00 Safety-critical development in Ada and Eiffel Marin David Condic, 561.796.8997, M/S 731-96
1997-07-21  0:00 ` Ken Garlington [this message]
  -- strict thread matches above, loose matches on Subject: below --
1997-08-24  0:00 Robert Dewar
1997-07-24  0:00 Marin David Condic, 561.796.8997, M/S 731-96
1997-07-21  0:00 Marin David Condic, 561.796.8997, M/S 731-96
1997-07-21  0:00 ` Ken Garlington
1997-07-18  0:00 Marin David Condic, 561.796.8997, M/S 731-96
1997-07-18  0:00 Marin David Condic, 561.796.8997, M/S 731-96
1997-07-18  0:00 Marin David Condic, 561.796.8997, M/S 731-96
1997-07-22  0:00 ` Karel Th�nissen
1997-07-18  0:00 Marin David Condic, 561.796.8997, M/S 731-96
1997-07-17  0:00 Marin David Condic, 561.796.8997, M/S 731-96
1997-07-17  0:00 ` Samuel Mize
1997-07-17  0:00   ` Ken Garlington
1997-07-09  0:00 Is ADA as good for graphics programming as C? (WAS: Re: Avoiding the second historic mistake) Tucker Taft
1997-07-10  0:00 ` Safety-critical development in Ada and Eiffel Don Harrison
1997-07-10  0:00   ` Ken Garlington
1997-07-11  0:00     ` Ted Velkoff
1997-07-12  0:00       ` Ken Garlington
1997-07-13  0:00         ` Jon S Anthony
1997-07-14  0:00           ` Wes Groleau
1997-07-15  0:00             ` Jon S Anthony
1997-07-15  0:00           ` Don Harrison
1997-07-15  0:00             ` Ken Garlington
1997-07-16  0:00           ` Paul Johnson
1997-07-16  0:00             ` Ken Garlington
1997-07-17  0:00               ` Paul Johnson
1997-07-17  0:00                 ` Ken Garlington
1997-07-18  0:00                   ` Paul Johnson
1997-07-18  0:00                     ` Jon S Anthony
1997-07-18  0:00                     ` Ken Garlington
1997-07-21  0:00                       ` Paul Johnson
1997-07-17  0:00             ` Jon S Anthony
     [not found]               ` <EDHqKo.K52@world.std.com>
1997-07-18  0:00                 ` Jon S Anthony
1997-07-19  0:00                   ` Robert A Duff
1997-07-20  0:00                     ` Tucker Taft
1997-07-10  0:00   ` Joe Gwinn
1997-07-11  0:00     ` Robert S. White
1997-07-15  0:00       ` Don Harrison
1997-07-15  0:00         ` Ken Garlington
1997-07-16  0:00           ` Don Harrison
1997-07-10  0:00   ` Mike Stark
1997-07-11  0:00     ` Donovan Baarda
1997-07-13  0:00       ` Steve Furlong
1997-07-16  0:00         ` Joachim Durchholz
1997-07-17  0:00           ` Ken Garlington
1997-07-17  0:00           ` Robert Dewar
1997-07-18  0:00           ` Jon S Anthony
1997-07-18  0:00             ` Nick Leaton
1997-07-18  0:00               ` Jon S Anthony
1997-07-18  0:00           ` John Nagle
1997-07-18  0:00             ` Jon S Anthony
1997-07-11  0:00   ` Kazimir Majorinc
1997-07-12  0:00     ` Ken Garlington
1997-07-11  0:00   ` Don Harrison
1997-07-11  0:00     ` James Graves
1997-07-14  0:00       ` Don Harrison
1997-07-12  0:00     ` Ken Garlington
1997-07-15  0:00       ` Don Harrison
1997-07-15  0:00         ` Wes Groleau
1997-07-15  0:00           ` Ken Garlington
1997-07-16  0:00           ` Don Harrison
1997-07-16  0:00             ` Ken Garlington
1997-07-16  0:00               ` Robert Dewar
1997-07-17  0:00                 ` Paul Johnson
1997-07-17  0:00                   ` Jon S Anthony
1997-07-17  0:00                   ` Stuart Palin
1997-07-18  0:00                     ` Paul Johnson
1997-07-18  0:00                     ` Ian Rae
1997-07-18  0:00                   ` Joachim Durchholz
1997-07-18  0:00                 ` Don Harrison
1997-07-20  0:00                 ` Don Harrison
1997-07-18  0:00           ` Robert I. Eachus
1997-07-21  0:00             ` W. Wesley Groleau x4923
1997-07-15  0:00         ` Ken Garlington
1997-07-16  0:00           ` Jean-Marc Jezequel
1997-07-16  0:00             ` Ken Garlington
1997-07-17  0:00               ` "Paul E. Bennett"
1997-07-17  0:00                 ` Robert Dewar
1997-07-17  0:00           ` Joachim Durchholz
1997-07-19  0:00             ` Ken Garlington
1997-07-21  0:00             ` Robert S. White
1997-07-20  0:00               ` nabbasi
1997-07-21  0:00                 ` W. Wesley Groleau x4923
1997-07-18  0:00           ` Don Harrison
1997-07-18  0:00             ` Ken Garlington
1997-07-22  0:00               ` Don Harrison
1997-07-21  0:00                 ` Ken Garlington
1997-07-23  0:00                   ` Don Harrison
1997-07-23  0:00                     ` Ken Garlington
1997-07-25  0:00                       ` Don Harrison
1997-07-23  0:00                     ` W. Wesley Groleau x4923
1997-07-24  0:00                       ` Don Harrison
1997-07-24  0:00                         ` Ken Garlington
1997-07-26  0:00                           ` Joachim Durchholz
1997-07-31  0:00                             ` Ken Garlington
1997-07-28  0:00                           ` Nick Leaton
1997-07-28  0:00                             ` Steve Jones - JON
1997-07-31  0:00                             ` Ken Garlington
1997-07-29  0:00                           ` Don Harrison
1997-07-31  0:00                             ` Ken Garlington
1997-08-07  0:00                               ` Don Harrison
1997-08-07  0:00                                 ` Ken Garlington
1997-08-09  0:00                                   ` Jim Cochrane
1997-08-11  0:00                                     ` Paul Johnson
1997-08-11  0:00                                       ` Ken Garlington
1997-08-12  0:00                                         ` Mark A Biggar
1997-08-19  0:00                                           ` Robert Dewar
1997-08-19  0:00                                             ` Bertrand Meyer
1997-08-19  0:00                                               ` Robert Dewar
1997-08-20  0:00                                                 ` Nick Leaton
1997-08-21  0:00                                                   ` Joachim Durchholz
1997-08-21  0:00                                                   ` Jon S Anthony
1997-08-22  0:00                                                     ` Nick Leaton
1997-08-20  0:00                                                 ` Lee Webber
1997-08-21  0:00                                                   ` Don Harrison
1997-08-23  0:00                                                     ` Ken Garlington
1997-08-19  0:00                                             ` Nick Leaton
1997-08-20  0:00                                             ` Ken Garlington
1997-08-26  0:00                                             ` Richard A. O'Keefe
1997-08-13  0:00                                         ` Paul Johnson
1997-08-13  0:00                                           ` Ken Garlington
1997-08-15  0:00                                             ` Paul Johnson
1997-08-15  0:00                                               ` Ken Garlington
1997-08-18  0:00                                                 ` Joachim Durchholz
1997-08-19  0:00                                                   ` Ken Garlington
1997-08-20  0:00                                                     ` Nick Leaton
1997-08-20  0:00                                                       ` Nasser
1997-08-21  0:00                                                       ` Jon S Anthony
1997-08-22  0:00                                                         ` Nick Leaton
1997-08-23  0:00                                                           ` Ken Garlington
1997-08-21  0:00                                                     ` Joachim Durchholz
1997-08-23  0:00                                                       ` Ken Garlington
1997-08-12  0:00                                   ` Don Harrison
1997-08-12  0:00                                     ` Jon S Anthony
1997-08-13  0:00                                       ` Ted Velkoff
1997-08-13  0:00                                         ` Jon S Anthony
1997-08-13  0:00                                         ` Ken Garlington
1997-08-13  0:00                                           ` Ted Velkoff
1997-08-14  0:00                                             ` Matt Austern
1997-08-14  0:00                                               ` Ted Velkoff
1997-08-18  0:00                                                 ` Matt Austern
1997-08-20  0:00                                                   ` Joachim Durchholz
1997-08-21  0:00                                                     ` Jon S Anthony
1997-08-22  0:00                                                       ` Joachim Durchholz
1997-08-15  0:00                                             ` Ken Garlington
1997-08-16  0:00                                               ` Ted Velkoff
1997-08-16  0:00                                                 ` Ken Garlington
1997-08-16  0:00                                                   ` Jon S Anthony
1997-08-16  0:00                                                     ` Ken Garlington
1997-08-18  0:00                                                     ` Ted Velkoff
1997-08-18  0:00                                                   ` Ted Velkoff
1997-08-19  0:00                                                     ` Ken Garlington
1997-08-14  0:00                                           ` Nick Leaton
1997-08-16  0:00                                             ` Robert Dewar
1997-08-18  0:00                                             ` Joachim Durchholz
1997-08-19  0:00                                               ` Ken Garlington
1997-08-21  0:00                                                 ` Joachim Durchholz
1997-08-23  0:00                                                   ` Ken Garlington
1997-08-13  0:00                                       ` Don Harrison
1997-08-13  0:00                                         ` Samuel Mize
1997-08-13  0:00                                           ` Robert A Duff
1997-08-14  0:00                                             ` Jon S Anthony
1997-08-15  0:00                                             ` Don Harrison
1997-08-16  0:00                                               ` Ken Garlington
1997-08-13  0:00                                         ` Jon S Anthony
1997-08-15  0:00                                           ` Don Harrison
1997-08-16  0:00                                             ` Jon S Anthony
1997-08-12  0:00                                     ` Ken Garlington
1997-08-23  0:00                                     ` W. Wesley Groleau x4923
1997-08-23  0:00                                       ` Robert Dewar
1997-07-16  0:00         ` Warwick Pulley
1997-07-16  0:00           ` Nick Leaton
1997-07-16  0:00             ` Robert Dewar
1997-07-20  0:00               ` Joachim Durchholz
1997-07-24  0:00                 ` Joe Buck
1997-07-24  0:00                 ` Paul M Gover
1997-07-26  0:00                   ` Joachim Durchholz
1997-07-28  0:00                     ` Robert S. White
1997-08-09  0:00                       ` Marinos J. Yannikos
1997-08-10  0:00                         ` Robert S. White
1997-08-11  0:00                         ` Peter Hamer
1997-08-11  0:00                           ` "Paul E. Bennett"
1997-07-29  0:00                     ` Don Harrison
1997-07-21  0:00               ` Don Harrison
1997-07-17  0:00             ` Warwick Pulley
1997-07-17  0:00               ` Warwick Pulley
1997-07-17  0:00               ` Nick Leaton
1997-07-17  0:00                 ` Ken Garlington
1997-07-17  0:00                 ` Richie Bielak
1997-07-17  0:00                   ` Ken Garlington
1997-07-23  0:00                     ` Don Harrison
1997-07-23  0:00                       ` Ken Garlington
1997-07-25  0:00                         ` Don Harrison
1997-07-17  0:00                   ` Karel Th�nissen
1997-07-17  0:00                   ` Samuel Tardieu
1997-07-17  0:00                     ` Richie Bielak
1997-07-23  0:00                       ` Don Harrison
1997-07-23  0:00                         ` Jon S Anthony
1997-07-24  0:00                           ` Don Harrison
1997-07-24  0:00                             ` Jon S Anthony
1997-07-23  0:00                         ` Ken Garlington
1997-07-25  0:00                           ` Don Harrison
1997-07-23  0:00                         ` Karel Th�nissen
1997-07-24  0:00                           ` Don Harrison
1997-07-24  0:00                             ` Ken Garlington
1997-07-29  0:00                               ` Don Harrison
1997-07-29  0:00                                 ` Ron Kohl
1997-07-29  0:00                                   ` Don Harrison
1997-07-30  0:00                                     ` Don Harrison
1997-07-31  0:00                                 ` Ken Garlington
1997-08-07  0:00                                   ` Don Harrison
1997-08-07  0:00                                     ` Ken Garlington
1997-08-13  0:00                                       ` Don Harrison
1997-08-13  0:00                                         ` Ken Garlington
1997-08-14  0:00                                           ` Don Harrison
1997-08-15  0:00                                             ` Lee Webber
1997-08-19  0:00                                               ` Don Harrison
1997-08-19  0:00                                                 ` Lee Webber
1997-08-15  0:00                                             ` Don Harrison
1997-08-15  0:00                                               ` Ken Garlington
1997-08-16  0:00                                                 ` Jon S Anthony
1997-08-19  0:00                                                 ` Don Harrison
1997-08-20  0:00                                                   ` Ken Garlington
1997-08-15  0:00                                             ` Ken Garlington
1997-08-19  0:00                                               ` Don Harrison
1997-08-19  0:00                                                 ` Lee Webber
1997-08-20  0:00                                                 ` Ken Garlington
1997-08-21  0:00                                                   ` Don Harrison
1997-07-24  0:00                             ` Don Harrison
1997-07-23  0:00                   ` Don Harrison
1997-07-23  0:00                     ` Ken Garlington
1997-07-25  0:00                       ` Don Harrison
     [not found]                 ` <JSA.97Jul17174044@alexandria.organon.com>
1997-07-18  0:00                   ` Joachim Durchholz
1997-07-18  0:00                   ` Nick Leaton
1997-07-17  0:00           ` Don Harrison
1997-07-17  0:00             ` Robert Dewar
1997-07-18  0:00               ` Jon S Anthony
1997-07-19  0:00                 ` Robert A Duff
1997-07-21  0:00                   ` W. Wesley Groleau x4923
1997-07-21  0:00               ` Don Harrison
1997-07-21  0:00                 ` Jon S Anthony
1997-07-21  0:00                   ` Brian Rogoff
1997-07-17  0:00             ` Robert Dewar
1997-07-22  0:00               ` Don Harrison
1997-07-17  0:00             ` Karel Th�nissen
1997-07-21  0:00               ` Don Harrison
1997-07-16  0:00     ` Alan Brain
1997-07-18  0:00       ` Don Harrison
1997-07-22  0:00         ` Alan Brain
1997-07-22  0:00           ` Don Harrison
1997-07-23  0:00             ` Jon S Anthony
1997-07-24  0:00               ` Don Harrison
1997-07-25  0:00               ` Alan Brain
1997-07-25  0:00                 ` Jon S Anthony
1997-07-11  0:00   ` Don Harrison
replies disabled

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