From: "Michael Feathers" <mfeathers@objectmentor.com>
Subject: Re: Ariane Failure
Date: Sat, 30 Mar 2002 08:36:24 -0500
Date: 2002-03-30T13:39:05+00:00 [thread overview]
Message-ID: <a84f5p$nlm$1@slb5.atl.mindspring.net> (raw)
In-Reply-To: 3CA50E9A.CBF24F1B@lanl.gov
"Bill" <wclodius@lanl.gov> wrote in message
news:3CA50E9A.CBF24F1B@lanl.gov...
>
> Michael Feathers wrote:<snip>
>
> > IIRC, there's also the issue of casting integers across sizes. It is
great
> > when you can hide representation and promote or demote its size as
needed.
>
> <snip>
> Promoting and demoting size as needed was part of the problem. Because of
> limitations of typical launch vehicals, in particular their down link
> capabilities to ground operations, but also limitted on board storage and
> central processing, it is often necessary to reduce the size of a value
from
> larger storage representations to a smaller storage representations,
typically
> from floats or doubles to 8 or 16 bit integers. In order to ensure that
the
> real time constraints of the system are met, there has to be an explicit
> decision as to what information needs to be communicated, at what rate,
and
> precision. It is tempting to maintain more precision than you need, just
to be
> certain you haven't misjudged the need, by applying an offset and scale
factor
> prior to the conversion to an integer, such that all possible values of
the
> rescaled number just fit within the range of values of the integer.
However,
> that decision is subject to the error of underestimating the range of
possible
> values of the original number before rescaling. In particular, a velocity
scale
> factor that was valid for the Ariane IV, for the actual and planned
operating
> conditions of the Ariane V, resulted in a value that exceeded the integer
range
> of the desired integer size, because the Ariane V has a larger
acceleration and
> more horizontal trajectory than the Ariane IV.
>
> Note that information hiding per se doesn't help with this. If the writer
of
> the software has made the explicit decision to rescale and the rescale
factor
> to use, but doesn't communicate that information to others so they can
make no
> decisions based on a knowledge of the rescale factor, the rescale factor
could
> still be inappropriate and cause breakage. Also designing the software to
> automatically rescale using more global heuristcs, can cause other
problems as
> additional information about its decisions then needs to be communicated
to the
> ground station so that it can interpret the rescaled data.
Yes. It seems like the error prone part is going back to integers at all.
Since it is a safety consideration it seems like it would be great to
revisit that as processing and communications speeds increase.
Michael Feathers
www.objectmentor.com
next prev parent reply other threads:[~2002-03-30 13:36 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 ` Ariane Failure Richard Riehle
2002-03-29 20:56 ` 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 [this message]
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