comp.lang.ada
 help / color / mirror / Atom feed
From: Bill <wclodius@lanl.gov>
Subject: Re: Ariane Failure
Date: Fri, 29 Mar 2002 18:02:54 -0700
Date: 2002-03-29T18:02:54-07:00	[thread overview]
Message-ID: <3CA50E9A.CBF24F1B@lanl.gov> (raw)
In-Reply-To: a82kea$blp$1@slb0.atl.mindspring.net



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.




  reply	other threads:[~2002-03-30  1:02 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 [this message]
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