comp.lang.ada
 help / color / mirror / Atom feed
From: Bertrand Meyer <Bertrand.Meyer@eiffel.com>
Subject: Re: Critique of Ariane 5 paper (finally!)
Date: 1997/08/20
Date: 1997-08-20T00:00:00+00:00	[thread overview]
Message-ID: <33FB41EC.2781E494@eiffel.com> (raw)
In-Reply-To: 33FB3B29.41C67EA6@eiffel.com


Note: Invectives ("complete nonsense", "bogus", "absurd" etc.)
serve no useful purpose. In particular they are not a
substitute for arguments. We are all very passionate
about these things, which is good, but I think we should
all continue to accept that the other side is not
completely incompetent. I certainly respect Robert
Dewar's views, even those (not all) with which I
disagree. (End of note.)

Robert Dewar initially wrote

> > reliability is measured in the terms that matter, i.e.
> > it does what it is supposed to do in a highly reliable manner.

which says little more than: a system is reliable if it is
highly reliable. It would be hard to quarrel with his statement,
but as a definition it's not very useful. He then refined
this definition into

> I said that the
> only measure of reliability that made any sense was that a program
> behaved in a realiable manner and did what it was supposed to do

Again, probably true but not sufficient as a definition. The
first part is a tautology (a program is reliable if it behaves
in a [reliable] manner -- sure). The second part, "[does] what is
supposed to do", is broadly correct as a general, informal
definition (although even so one can do better, in particular
by distinguishing between two components of reliability,
correctness and robustness), but is not enforceable in any way.
How do you know that a system "does what it is supposed to do"?
The most you can expect (in the absence of formal techniques) is,
as I wrote in my earlier message, that the program has "done
what it is supposed to do" for a certain period of time,
be it 30 seconds or 30 years.

        (And even that is subject to doubt,
        as you can hardly be sure that everything was perfectly
        all right. For example if we take one of the pragmatically
        reliable COBOL programs that Prof. Dewar cites, assuming
        it has been computing payroll taxes for the past 10 years,
        few people would bet $50,000 of their own money that no one
        will sue and win damages on the basis of wrongful operation
        of the program during that past period.) 

These are difficult issues and no one has a silver bullet. But
it turns out that it is possible to do better at least
at the component level. As Prof. Dewar has correctly pointed
out, specifying the behavior of a complete system -- i.e.
"what it is supposed to do" -- is hard. But for a component
of that system it is often possible to write such a specification,
partially or totally formal. This is what Design by Contract is
about.

The claim that it is necessary has an obvious basis: you can't
get the system right if you can't get the components
right. To get the components rights, you need to convince enough
people, beginning with yourself, that they are
"doing what they are supposed to do", and you can't do
that without stating what they are supposed to do,
as precisely as possible. The good news is that for a
component you can realistically be more precise than for
a whole system.

The more fundamental issue is that we need better ways
to achieve the reliability of mission-critical systems.
Not just better organization and management, but better
techniques. Design by Contract is one such technique. It
is not by itself the answer, but I think it is a required part
of the answer.


-- 
Bertrand Meyer




  parent reply	other threads:[~1997-08-20  0:00 UTC|newest]

Thread overview: 66+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1997-08-03  0:00 Critique of Ariane 5 paper (finally!) Ken Garlington
     [not found] ` <dewar.870870888@merv>
     [not found]   ` <33E8FC54.41C67EA6@eiffel.com>
1997-08-07  0:00     ` Juergen Schlegelmilch
1997-08-07  0:00     ` Ken Garlington
1997-08-07  0:00       ` Ken Garlington
     [not found]         ` <33EB4935.167EB0E7@eiffel.com>
1997-08-08  0:00           ` Bertrand Meyer
1997-08-08  0:00             ` Ken Garlington
1997-08-08  0:00               ` Ken Garlington
1997-08-11  0:00               ` Bertrand Meyer
1997-08-12  0:00                 ` Robert Dewar
1997-08-13  0:00                   ` Samuel Mize
1997-08-13  0:00                     ` Ken Garlington
     [not found]                     ` <33F22AD8.41C67EA6@eiffel.com>
1997-08-13  0:00                       ` Bertrand Meyer
1997-08-13  0:00                         ` Ken Garlington
     [not found]                           ` <33F28DBF.794BDF32@eiffel.com>
1997-08-13  0:00                             ` Bertrand Meyer
1997-08-15  0:00                               ` Ken Garlington
1997-08-15  0:00                                 ` Jon S Anthony
1997-08-16  0:00                                   ` Ken Garlington
1997-08-14  0:00                       ` Jon S Anthony
1997-08-14  0:00                         ` Bertrand Meyer
1997-08-15  0:00                           ` Jon S Anthony
1997-08-14  0:00                         ` Matthew Heaney
1997-08-14  0:00                         ` geldridg
1997-08-14  0:00                       ` Robert S. White
1997-08-15  0:00                         ` Ken Garlington
1997-08-16  0:00                           ` Robert Dewar
1997-08-14  0:00                       ` Samuel Mize
1997-08-15  0:00                         ` Thomas Beale
1997-08-15  0:00                           ` Samuel Mize
1997-08-15  0:00                             ` Bertrand Meyer
1997-08-15  0:00                               ` Jon S Anthony
1997-08-16  0:00                               ` Ken Garlington
1997-08-13  0:00                   ` Bertrand Meyer
1997-08-13  0:00                     ` Ken Garlington
1997-08-16  0:00                     ` Robert Dewar
1997-08-16  0:00                     ` Robert Dewar
1997-08-17  0:00                       ` Bertrand Meyer
1997-08-19  0:00                         ` Ken Garlington
1997-08-20  0:00                           ` Robert Dewar
1997-08-21  0:00                             ` Thomas Beale
1997-08-21  0:00                               ` Robert Dewar
     [not found]                                 ` <33FD8685.AAAE3B4F@stratasys.com>
1997-08-22  0:00                                   ` Robert Dewar
     [not found]                                     ` <3401811D.1700E7BE@stratasys.com>
1997-08-25  0:00                                       ` Jon S Anthony
1997-08-29  0:00                                       ` Ken Garlington
1997-08-29  0:00                                         ` Jeff Kotula
1997-09-02  0:00                                           ` Ken Garlington
     [not found]                                   ` <33FE8732.4FBB@invest.amp.com.au>
1997-08-26  0:00                                     ` Nick Leaton
     [not found]                                     ` <33FFA324.4DB9@flash.net>
     [not found]                                       ` <34013F3E.27D4@invest.amp.com.au>
1997-08-29  0:00                                         ` Ken Garlington
1997-08-23  0:00                                 ` Ken Garlington
1997-08-20  0:00                           ` Robert Dewar
     [not found]                             ` <33FB3B29.41C67EA6@eiffel.com>
1997-08-20  0:00                               ` Bertrand Meyer [this message]
     [not found]                                 ` <5tv9cs$85q@nntpa.cb.lucent.com>
     [not found]                                   ` <340341CA.2F1CF0FB@eiffel.com>
1997-08-27  0:00                                     ` Samuel Mize
1997-08-29  0:00                                     ` Ken Garlington
1997-08-21  0:00                       ` W. Wesley Groleau x4923
1997-08-22  0:00                         ` Bertrand Meyer
1997-08-22  0:00                           ` W. Wesley Groleau x4923
1997-08-11  0:00               ` Don Harrison
1997-08-09  0:00             ` Marinos J. Yannikos
  -- strict thread matches above, loose matches on Subject: below --
1997-08-21  0:00 aek
     [not found] ` <33FC66AD.9A0799D4@calfp.co.uk>
1997-08-22  0:00   ` Robert S. White
1997-08-22  0:00     ` Samuel Mize
1997-08-22  0:00       ` Samuel Mize
1997-08-23  0:00     ` Ken Garlington
     [not found]   ` <33FFA4B1.3543@flash.net>
1997-08-26  0:00     ` Nick Leaton
     [not found]       ` <3406BEF7.2FC3@flash.net>
     [not found]         ` <3406E0F7.6FF7ED99@calfp.co.uk>
1997-09-02  0:00           ` Ken Garlington
1997-08-22  0:00 Critique of Ariane 5 paper (finally) AdaWorks
1997-08-22  0:00 Critique of Ariane 5 paper (finally!) Marin David Condic, 561.796.8997, M/S 731-96
replies disabled

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