[SystemSafety] A small taste of what we're up against
Olwen Morgan
olwen at phaedsys.com
Mon Oct 29 19:23:10 CET 2018
On 29/10/2018 17:54, Dewi Daniels wrote:
<snip>
> The in-flight upset of an Airbus A300 occured on 7 October 2008, west
> of Learmouth, Australia,. The report can be downloaded from
> https://www.atsb.gov.au/media/3532398/ao2008070.pdf. There were
> multiple spikes in the Angle Of Attack (AOA) output of an ADIRU (from
> a different manufacturer). The investigators were unable to determine
> the reason for these spikes (or even whether they were due to a
> hardware or a software fault). These spikes kave only been observed
> three times in 128 million hours of operation. A flaw in the design of
> an algorithm in the Flight Control Primary Computer (FCPC) meant it
> was unable to cope with these spikes, so it commanded the aircraft to
> pitch down. Airbus redesigned the AOA algorithm to prevent the same
> type of accident from occurring again. Again, I don't know what
> programming language was used for the ADIRU or FCPC software. Again,
> the report states that the ADIRU and FCPC software was developed to
> DO-178A. Also, the report states that the FCPC requirements were
> written in a formal specification language called SAO.
This brings me back to the issue of pseudorandom stress testing. There
is a mentality among software engineers that designs a software
component to deal only with specified inputs and rates of data arrival.
Completely ignoring rare events is rife among such people. I have always
viewed this as poor practice if not downright negligent. Put plainly, I
rarely trust the inputs and loading conditions of a software component
to lie within specified bounds and therefore write into them whatever
fault tolerance I can get away with while still complying with the
specified black-box behaviour.
Sometimes you cannot do this. I once worked on the code for an inertial
sensor that applied both level and rate clips to its series of input
values, accepting a reassurance from the guy who worked out the
algorithm that these clips (which essentially threw away input
information) were actually safe. It was, however, not my idea of a well
thought-out design and I felt relieved when the company for which I was
working did not actually get the contract from the Tier 1 supplier to
proceed with production.
Olwen
More information about the systemsafety
mailing list