Ongeluk in klein hoekje

Wie kent het spreekwoord niet: het ongeluk zit in
een klein hoekje.  De uitdrukking schijnt uit de
scheepvaart te komen: een goed gebouwd schip kan
op een kleine klip stuklopen.  Een andere bekende:
een ongeluk komt nooit alleen.  Een keten van
oorzaken waarbij het ene probleem het andere
veroorzaakt of verergert.

Er denken mensen na over ongelukken in kleine
hoekjes.  De klassieker over ongelukken is
getiteld: Normal Accidents, living with high-risk
technologies.  Geschreven door socioloog Charles
Perrow mede naar aanleiding van een aantal enorme
ongelukken zoals kernrampen.  Uitgerekend een
socioloog gaat techneuten uitleggen dat een fiks
ongeluk geen geisoleerd technisch falen betreft
maar een samenspel is van alles behalve techniek.
Charles Perrow stelt: als een systeem complex is,
als het tightly coupled is, en als het
katastrofale potentie bezit, dan zullen ongelukken
optreden.  Dat gebeurt om drie redenen.  Mensen
maken fouten.  Grote ongelukken zijn vrijwel
altijd escalaties van kleine onbeduidend lijkende
dingen.  Falen zit hem meer in de organisatie dan
in de techniek.  Dit wetende, kun je bij het
ontwerp van dergelijke systemen extra rekening
houden met Perrow's bevindingen zodat je de kansen
op ongelukken nog verder terug kunt dringen.  Maar
gebeurt dat voldoende, sinds het verschijnen van zijn
boek in 1984?

Een recent voorbeeld: de crash op 9 mei 2015 van
het nieuwe militair transportvliegtuig de Airbus
A400M.  Dit vliegtuig moet het Hercules
transportvliegtuig vervangen. Een vliegtuig is
zonder twijfel een zeer complex systeem.  Alles
hangt aan alles via software in plaats van
conventionele handmatige flight control (fly-by
wire heet dat).  En een vliegtuig heeft
catastrofaal potentieel.  Volgens Perrow is een
vliegtuig dus zo'n systeem waarvan het uiterst
lastig is om ongelukken te vermijden.  Extra goed
nadenken over het voorkomen van ongelukken is dan
dus op zijn plaats.

De software van de A400M voldoet, aldus de maker
ervan, aan de hoogste eisen gesteld in de door de
FAA voorgeschreven DO-178 standaard.  Dus, je zou
denken, daar is alles gedaan om ongelukken te
voorkomen.  Toch staan in de media allerlei
verhalen over de falende software in de A400M.
Drie van de vier motoren gaven onvoldoend vermogen
na opstijgen en reageerden ook niet op commando's
van de crew om het vermogen te verhogen, waardoor
het neerstortte.  Het vermoeden is nu dat door het
installeren van een nieuwe versie van de software
in drie van de vier motoren een parameter per
ongeluk is uitgewist waardoor de motoren
onvoldoende vermogen afgaven en ook niet
instrueerbaar of overneembaar bleken te zijn.

Het begon dus onbenullig zoals Perrow reeds
voorspelde: even een nieuwe versie van software
installeren.  De procedures daarvoor waren
kennelijk slecht zoals Perrow het vaker heeft
waargenomen: drie van de vier kregen maar een
update.  Bovendien werden belangrijke parameters
gewist zodat het gehele systeem het niet goed
genoeg deed.  Dus waarschijnlijk een menselijke
fout veroorzaakt door een lek proces.  De drie
principes van Perrow in optima forma.

Dan de geclaimde foutloosheid van de software.
Wellicht voldeed de software aan de specificaties,
en is dat heel rigoureus gecontroleerd.  Maar
waren die specificaties wel goed genoeg?  Hielden
de specificaties wel rekening met Perrow's
wetmatigheden?  Was het bijvoorbeeld niet beter
geweest als parameters niet zomaar gewist kunnen
worden?  Iets met een EPROM waar je alleen met
speciale toestemming zaken in kunt aanpassen?  Was
het niet beter geweest dat de software zelf
controleert of parameters plausibele waarden
hebben?  Input validatie is een basale best
practice.  Als motoren onvoldoende vermogen kunnen
ontwikkelen door het niet of verkeerd zetten van
parameters, wil je dat waarnemen met de
fly-by-wire software voordat je opstijgt, niet
erna.

En dan natuurlijk procedures goed ontwerpen, ook
zodat ze moeten worden nagekomen.  En het
onvolledig of ad hoc installeren van software
onmogelijk maken.  De les die we hieruit leren is
om immer rekening te houden met de wetmatigheden
van Perrow zodat al het mogelijke gedaan wordt om
het onmogelijke te voorkomen.  Het kleine hoekje
waar het ongeluk in zit nog kleiner maken, door
gebruik te maken van onderzoek naar ongelukken en
hun diepere oorzaken.

X

Meer weten over de wondere wereld van ICT
in Jip en Janneke taal? Ga dan naar de
knipselkrant van Chris Verhoef

Prof. dr Chris Verhoef is hoogleraar informatica
aan de Vrije Universiteit in Amsterdam en
wetenschappelijk adviseur voor overheid en
bedrijfsleven.  Hij schrijft regelmatig een
column in de AG.  Hij is te bereiken via email:
x@cs.vu.nl.  Deze tekst is copyright SDU.  Niets
van deze uitgave mag zonder schriftelijke
toestemming van de uitgever worden overgenomen of
worden gepubliceerd.