comp.lang.ada
 help / color / mirror / Atom feed
From: Richard Riehle <richard@adaworks.com>
Subject: Re: Ariane Failure
Date: Fri, 29 Mar 2002 10:56:37 -0800
Date: 2002-03-29T19:00:34+00:00	[thread overview]
Message-ID: <3CA4B8E5.72909C9B@adaworks.com> (raw)
In-Reply-To: ee2a195b.0203260725.a02dbfe@posting.google.com

rjk wrote:

> What is XPers response to this? (I was going to ask a more specific
> question, but I thought I'd leave it broad until an interesting question is
> found).

The problem with Ariane V begins with Systems Engineering management.
The decisions about what to do when an exception occurs were wrong, and
not tested.    Although Design By Contract might have helped,  I doubt that
Eiffel would have been appropriate because of other issues related to
Eiffel.   I like Eiffel, but don't consider it appropriate for a project such
as Ariane V.    The SPARK approach to Design By Contract (they don't
call it that, but that is what it is)  could have worked well, especially
since it was programmed in Ada.   By the way, the Ada code worked as
it was directed to work, but it was given bad directions.

The other problem was one of software reuse.    We often tout the value of
software reuse, but here is case where it was not working as expected.

The software module that failed was originally used in Ariane IV, where
it worked fine.   Without testing, it was used on Ariane V which had
slightly different launch characteristics.   A perfect good module from
one context was used in another context without considering the full
range of issues in that new context.

We could draw the analogy of a physician who prescribes a medicine
for a patient, knowing that this medicine has worked well for other
patients with the same illness.   If the physician fails to do a complete
medical history, including an evaluation of the other medications being
used by that new patient,  there is the possibility that contradindicated
drug interactions might kill this hapless patient.

When we reuse existing modules, in safety-critical software, it is
imperative that we both inspect and test for interactions that might
kill our software.   For embedded real-time software these are
often timing issues.   Those are hard to detect.

As to the contention that XP would have prevented the failue of Ariane V,
that is mostly wishful thinking, reminiscent of what is often called
"Monday morning quarterbacking."    There are some XP practices
that might have been useful (features that predate XP by some considerable
amount of time), but XP itself would not have saved Ariane V, nor would
most of the other suggestions made by the Monday morning Quarterbacks.

At present, the French are launching the current version of Ariane quite
safely.

There are other project failures where XP might have been able to save
the project.   The one that comes to mind quickly is the Denver airport
baggage handling system.    I am sure there are others.   However, I don't
want to be accused of Monday morning quarterbacking.   That fact is that
building software is hard and it is easy to make engineering errors.  Our
tools and methods can help us do it right, but neither the languages nor
the processes can consistently save us from ourselves.

Richard Riehle





       reply	other threads:[~2002-03-29 18:56 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <ee2a195b.0203260725.a02dbfe@posting.google.com>
2002-03-29 18:56 ` Richard Riehle [this message]
2002-03-29 20:56   ` Ariane Failure Michael Feathers
2002-03-30  1:02     ` Bill
2002-03-30  3:20       ` Keith Ray
2002-03-30 12:12         ` John Roth
2002-03-30 13:36       ` Michael Feathers
2002-04-01 15:22         ` Marin David Condic
     [not found]         ` <a8oo51$tsk$2@slb2.atl.mindspring.net>
2002-04-08 13:59           ` Marin David Condic
2002-04-09 12:49             ` John Roth
2002-04-09 14:58               ` Steve O'Neill
2002-04-09 15:04             ` Steve O'Neill
2002-04-09 23:00               ` John Roth
2002-04-10 12:52                 ` Steve O'Neill
2002-04-10 12:59                   ` Marin David Condic
2002-04-11  0:48                     ` Steve O'Neill
2002-04-11 13:17                       ` Marin David Condic
2002-04-11 13:47                     ` Ted Dennison
2002-04-11 14:15                       ` Marin David Condic
2002-04-11 12:12                   ` fdebruin
2002-04-11 14:33                     ` Larry Kilgallen
2002-04-11 18:16                       ` Ted Dennison
2002-04-11 18:30                         ` Marin David Condic
2002-04-09 19:07             ` Bill
2002-04-09 19:44               ` Marin David Condic
2002-04-01 15:08   ` Marin David Condic
2002-04-02 18:32     ` Wes Groleau
2002-04-02 18:42       ` Marin David Condic
1996-06-28  0:00 Robert B. Love 
1996-07-01  0:00 ` Ken Garlington
replies disabled

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