comp.lang.ada
 help / color / mirror / Atom feed
From: Ken Garlington <GarlingtonKE@lmtas.lmco.com>
Subject: Re: Ada and Automotive Industry
Date: 1996/12/03
Date: 1996-12-03T00:00:00+00:00	[thread overview]
Message-ID: <32A459BC.7D73@lmtas.lmco.com> (raw)
In-Reply-To: 3280DA96.15FB@hso.link.com


Chris Hills wrote:
> 
> As I said several times it does not matter how THEORETICALLY safe a
> language is  if the implimentation and the supporting tools are bug
> ridden it is of little use to anyone.

Since I've made this same argument myself, I could hardly object. However,
I thing you're missing the point. At some level, we should be able to talk
about the definition of a language independently of its implementation, just
as we can talk about the definition of any other software-based system
independently of its implementation. For example, when I do a review of
a flight control system design with our customer, I can talk about how the
design protects against certain kinds of faults, what the techniques
we use to assure the integrity of the design, and so forth. Of course, if
I implement the design incorrectly, it's not going to work, but that doesn't
mean I can't say _anything_ about safety or reliability before I implement
the system.

The same holds true for languages. Ada, at the language _definition_ level,
provides many features that help develop safe and reliable software. A buggy
_implementation_ does not change this, any more than the existence of CPUs
with buggy microcode means that all software-based safety critical systems
are inherently unsafe.

You're right; a solid compiler (in any language) is better than a buggy one.
However, I would prefer a solid Ada compiler to a solid compiler in some other
languages. When comparing _languages_, as opposed to implementations, you
have to divorce the language itself from a particular implementation.

> I could depend on the REAL (as in it had a customer and HAD TO WORK in a
> real environment)  program written in C but we could not depend on the
> same program in Mod2 because the develpoment system was bug ridden. In
> other words the Mod2 program would not perform as the language dictated
> and the program was unsafe.

Assuming that the Mod2 tools did "perform as the language dictated," would
you rather have used the Mod2 or the C program?

> Your Item "c" shows aragance beyond belife. "whose answer should be
> clear to anyone who understands the language".  Obviously the
> description specification was not clear.

Actually, an implementation may be wrong even if the specification is "clear"
(whatever that means), so I'm not sure it's so "obvious" that the language
is unsafe just because of a poor implementation. Note also that the existence
of standard test suites such as ACVC does help to check that the Ada specification
is consistently implemented, although like all test suites it's not a guarantee.

> If any *one* person can make
> the mistake so can another, meaning that in implimentation the result
> may not be the same.

However, this argument can be used for any compiler (or any system, for that 
matter), so it's not a particularly good criterion for choosing one language over 
another.

> I may not understand "AT ALL the concept of saftey in the design of a
> language" but my sw has to run and work without error day in day out.
> (My current Sw when finished is expected to run for 15 years from switch
> on (24 hours a day) with down time of 15 min a year for planned
> upgrades). The last system I did (also in C) has run for 2 years without
> problems.

Certainly, there are safe systems in C, or in assembly for that matter. The
real issue is, what languages make it _easier_ to create safe and reliable
systems? It is possible to swim the English Channel, but most people prefer
alternative methods to cross it...

> The Ariane 5 rocket had Ada Sw (a "Safe" language) and crashed after 39
> seconds (a bit of a red herring as Ada was not directly to blame and the
> same could have been done in C or Mod2) SO what is the excuse here? the
> Sw team did not understand the use of the language?

Actually, the "excuse" is (1) The inertial system was used in an environment
outside its original specification and (2) the system was never tested in the
new environment to see if it would work.

Again, it's not a meaningful argument. No one says that Ada is a guarantee of
absolute safety, since safety is not an absolute. Any system will eventually
fail when operated improperly. Try as I might, I can't build a flight control
system that is "crash-proof." However, I can build a system that keeps the
plane in the air as long as is reasonable for a given set of conditions.

> If it is that hard
> to use and that easy to miss use it is unsafe in practice.

Nothing in the Ariane 5 report indicates that Ada is "hard" to use. What language
do you propose that makes it "easy" for a system to perform properly outside of its 
specification?

> As I repeatedly say the theory is fine (it's what accademics are good at
> :-) but is it safe in practice?

Actually, yes. There is a substantial and growing set of real-world safety-critical
systems written in Ada, which are performing quite well. See the list of Ada
systems on the Ada WWW servers.

-- 
LMTAS - The Fighter Enterprise - "Our Brand Means Quality"
See http://www.lmtas.com for more information (job listings now available)




  parent reply	other threads:[~1996-12-03  0:00 UTC|newest]

Thread overview: 163+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1996-11-01  0:00 Ada and Automotive Industry ETHoierman
1996-11-05  0:00 ` Stanley R. Allen
1996-11-06  0:00 ` Stanley R. Allen
1996-11-06  0:00   ` James Thiele
1996-11-06  0:00     ` Stanley R. Allen
1996-11-07  0:00       ` Dale Stanbrough
1996-11-11  0:00       ` Ken Tindell
1996-11-11  0:00         ` Matthew Heaney
1996-11-11  0:00           ` Philip Brashear
1996-11-11  0:00         ` Robert Dewar
1996-11-07  0:00     ` Frank Manning
1996-11-11  0:00     ` Frank Manning
1996-11-13  0:00       ` Ken Tindell
1996-11-13  0:00       ` Richard Riehle
1996-11-14  0:00         ` Jack Patteeuw
1996-11-16  0:00           ` David Taylor
1996-11-20  0:00             ` Richard Riehle
1996-11-21  0:00               ` Dave Wood
1996-11-21  0:00             ` Art Schwarz
1996-11-22  0:00               ` Robert B. Love 
1996-11-22  0:00               ` Ken Tindell
1996-11-24  0:00               ` "Paul E. Bennett"
1996-11-18  0:00           ` David Taylor
1996-11-17  0:00         ` Robert Dewar
1996-11-18  0:00           ` Ken Tindell
1996-11-22  0:00             ` Robert Dewar
1996-11-22  0:00             ` Richard Kenner
1996-11-23  0:00               ` James Thiele
1996-11-27  0:00                 ` Richard Kenner
1996-12-05  0:00             ` Michael Warner
1996-11-20  0:00           ` Richard Riehle
1996-11-23  0:00             ` Robert Dewar
1996-11-25  0:00               ` Ken Tindell
1996-11-25  0:00               ` Richard Riehle
1996-11-27  0:00                 ` Ken Garlington
1996-12-01  0:00                   ` Richard Riehle
1996-11-27  0:00                 ` Robert Dewar
1996-11-29  0:00                   ` Richard Riehle
1996-12-02  0:00                   ` Chris Hills
1996-12-04  0:00                   ` Jon S Anthony
1996-11-27  0:00                 ` Robert Dewar
1996-11-24  0:00             ` Richard Kenner
1996-11-25  0:00               ` Ken Tindell
1996-11-26  0:00                 ` John Dammeyer
1996-11-26  0:00                   ` Ken Garlington
1996-11-25  0:00               ` Richard Riehle
     [not found]           ` <Pine.GSO.3.95.961120154239.3 <Pine.GSO.3.95.961201100430.21598A-100000@nunic.nu.edu>
1996-12-01  0:00             ` James Thiele
1996-11-27  0:00         ` Jon S Anthony
1996-12-03  0:00           ` Richard A. O'Keefe
1996-12-03  0:00             ` Ted Dennison
1996-12-11  0:00             ` Richard Riehle
1996-12-13  0:00               ` Ted Dennison
1996-11-11  0:00     ` Norman H. Cohen
1996-11-14  0:00     ` Robert I. Eachus
1996-11-15  0:00       ` William P. Milam
1996-11-08  0:00   ` Ken Garlington
1996-11-08  0:00   ` Robert I. Eachus
1996-11-08  0:00     ` James Thiele
1996-11-08  0:00       ` nasser
1996-11-09  0:00         ` Robert Dewar
1996-11-22  0:00           ` Dirk Dickmanns
1996-11-10  0:00       ` Matthew Heaney
1996-11-11  0:00         ` Robert Dewar
1996-11-11  0:00           ` James Thiele
1996-11-12  0:00             ` Robert Dewar
1996-11-12  0:00       ` Richard A. O'Keefe
1996-11-12  0:00         ` Robert Dewar
1996-11-13  0:00           ` Richard A. O'Keefe
1996-11-14  0:00         ` William P. Milam
1996-11-19  0:00           ` Richard A. O'Keefe
1996-11-15  0:00       ` Robert Dewar
1996-11-16  0:00         ` Geert Bosch
1996-11-21  0:00           ` Robert Dewar
1996-11-16  0:00         ` Adam Beneschan
1996-11-22  0:00           ` Robert Dewar
1996-11-15  0:00       ` Robert Dewar
1996-11-11  0:00     ` Ken Tindell
1996-11-11  0:00       ` Matthew Heaney
1996-11-11  0:00       ` Robert Dewar
     [not found]   ` <847341612snz@transcontech.co.uk>
1996-11-10  0:00     ` Robert Dewar
1996-11-12  0:00       ` "Paul E. Bennett"
1996-11-15  0:00   ` Robert I. Eachus
1996-11-15  0:00     ` John Howard
1996-11-15  0:00     ` Robert Dewar
1996-11-18  0:00       ` Ken Tindell
1996-11-18  0:00         ` Robert Dewar
1996-11-19  0:00         ` Richard A. O'Keefe
1996-12-05  0:00         ` Michael Warner
1996-12-06  0:00           ` Robert Dewar
1996-11-15  0:00     ` William P. Milam
1996-11-21  0:00     ` James Weaver
1996-11-21  0:00   ` Robert I. Eachus
1996-11-22  0:00   ` Chris Hills
1996-11-22  0:00   ` Jon S Anthony
1996-11-23  0:00   ` Ralph Paul
1996-11-24  0:00   ` Otto Lind
1996-11-25  0:00     ` Richard Kenner
1996-11-28  0:00       ` Eyal Ben-Avraham
1996-11-29  0:00         ` Richard Kenner
1996-11-25  0:00   ` Robert I. Eachus
1996-11-26  0:00   ` Jon S Anthony
1996-11-26  0:00   ` Jon S Anthony
1996-11-27  0:00   ` Jon S Anthony
1996-11-27  0:00   ` Jon S Anthony
1996-12-01  0:00   ` Chris Hills
1996-12-01  0:00     ` Robert Dewar
1996-12-01  0:00     ` Robert Dewar
1996-12-02  0:00     ` Robert A Duff
1996-12-02  0:00   ` Chris Hills
1996-12-03  0:00     ` Andy Ashworth
1996-12-03  0:00       ` Ian Ward
1996-12-03  0:00   ` George Romanski
1996-12-05  0:00     ` Ken Tindell
1996-12-03  0:00   ` Ken Garlington [this message]
1996-12-03  0:00   ` Ted Dennison
1996-12-04  0:00   ` Jon S Anthony
1996-12-11  0:00   ` Robert I. Eachus
1996-12-13  0:00   ` Ted Dennison
1996-12-13  0:00     ` Robert Dewar
1996-12-14  0:00   ` Chris Hills
1996-12-19  0:00     ` Ian Ward
1996-12-17  0:00   ` Robert I. Eachus
1996-12-18  0:00     ` Robert Dewar
1996-12-19  0:00   ` Robert I. Eachus
  -- strict thread matches above, loose matches on Subject: below --
1996-11-11  0:00 James Thiele
1996-11-12  0:00 James Thiele
1996-11-13  0:00 ` Robert Dewar
1996-11-15  0:00   ` Ken Garlington
1996-11-13  0:00 ` Frank Manning
1996-11-13  0:00 ` Ken Garlington
1996-11-12  0:00 James Thiele
1996-11-13  0:00 Marin David Condic, 561.796.8997, M/S 731-93
1996-11-13  0:00 ` Ken Garlington
1996-11-24  0:00 Ingemar Persson
1996-11-25  0:00 Ada and automotive industry W. Wesley Groleau (Wes)
1996-11-27  0:00 Ada and Automotive Industry W. Wesley Groleau (Wes)
     [not found] <1996Nov30.130532.522@decus.org.nz>
1996-12-02  0:00 ` Ken Garlington
     [not found] <1996Dec2.221233.523@decus.org.nz>
1996-12-02  0:00 ` Ken Garlington
1996-12-05  0:00 Franco Mazzanti
1996-12-06  0:00 ` Robert Dewar
1996-12-11  0:00 ` Robert I. Eachus
1996-12-13  0:00   ` Ted Dennison
1996-12-15  0:00     ` Robert Dewar
1996-12-17  0:00       ` Tucker Taft
1996-12-18  0:00       ` Keith Thompson
1996-12-18  0:00         ` Keith Thompson
1996-12-18  0:00       ` Robert A Duff
1996-12-18  0:00         ` Robert Dewar
1996-12-18  0:00           ` Robert A Duff
1996-12-18  0:00             ` Ken Garlington
1996-12-19  0:00               ` Robert A Duff
1996-12-20  0:00                 ` Philip Brashear
1996-12-20  0:00                   ` Robert Dewar
1996-12-22  0:00               ` Robert Dewar
1996-12-23  0:00                 ` Ken Garlington
1996-12-18  0:00       ` Geert Bosch
1996-12-17  0:00 ` Robert I. Eachus
1996-12-10  0:00 Franco Mazzanti
1996-12-11  0:00 Franco Mazzanti
1996-12-11  0:00 ` Robert Dewar
1996-12-13  0:00 ` Robert I. Eachus
     [not found] <1996Dec11.220521.525@decus.org.nz>
1996-12-11  0:00 ` Ken Garlington
1996-12-13  0:00 Franco Mazzanti
replies disabled

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