Embedded software wordt bron van zorg


Embedded software, programmatuur die in hardware is ingebakken
wordt steeds meer toegepast. De industrie is enthousiast over
embedded software omdat er algemeen van uitgegaan wordt dat
er met die redelijk eenvoudige programmas weinig mis kan gaan,
maar dat klopt niet.

Deze waarschuwing uitte professor Maarten Boasson van de
Universiteit van Amsterdam tijdens het seminar Tomorrows
electronics dat de Federatie Het Instrument recent hield..
"Ook embedded software heeft zijn duistere kanten", hield
Boasson zijn gehoor voor.

Ingebedde software is in feite niets anders dan gewone software,
die vast zit ingebouwd in een systeem. Boasson: "En daar zit
nu net de kneep, die ingebedde software heeft dus dezelfde
(on)hebbelijkheden als gewone software. Misschien nog wel in
hogere mate, omdat je de programmatuur niet makkelijk kunt
aanpassen."

Begin april werd nog pijnlijk duidelijk op wat voor schaal
problemen met embedded software kunnen optreden. DaimlerChrysler
is bijvoorbeeld gedwongen een groot aantal autos van het type
Mercedes terug te roepen, omdat er een fout is geconstateerd
in de software van de boordcomputers. De wagens hebben een
probleem bij de stroomvoorziening van de boordelektronica,
die in dit soort grote autos wordt gevoed met twee accus.
Software zorgt ervoor dat die accus op de juiste manier worden
belast. Het is wellicht een kleine ingreep om die software
aan te passen, maar het moet in de fabriek gebeuren en ook
nog eens bij een groot aantal autos.
 
Geen incident

De problemen bij Mercedes zijn geen incident. Zo was er in
1997 de geavanceerde interlokale bus, de Interliner, die bij
het station van Eindhoven op hol sloeg. Dat incident is toen
onderzocht door een team van de TU Eindhoven en daaruit bleek
dat de ingebakken software van de bus niet correct was. Een
combinatie van factoren zorgde ervoor dat de bus niet meer
kon worden afgeremd en de pui van het station ramde. In oktober
2003 moest een kapitein van een Connexion draagvleugelboot
zijn vaartuig op het IJ op een kade laten lopen, omdat de
besturing het volledig liet afweten. Een jaar eerder was er
een vergelijkbaar incident met zon boot.
 
Op hol slaan

"Net als bij gewone software doet embedded software soms niet
wat ervan wordt verlangd. De makers van die applicaties
ontkennen dat vaak maar er zijn te veel voorbeelden waar het
fout gaat met embedded software. Denk maar aan op hol slaande
cruise controls, of systemen voor bestraling in ziekenhuizen
die veel te veel vermogen produceren."

"De eenvoud van embedded software wordt ook vaak overdreven",
stelt prof. dr Chris Verhoef van de Vrije Universiteit in
Amsterdam.  "De software aan boord van een auto doorbrak tien
jaar geleden al de grens van 1 miljoen regels code. Nu zitten
we op een veelvoud daarvan. Ik zou dat toch geen simpele
software willen noemen. 
Over een tijdje heeft een auto
net zoveel software binnen de portieren als een middelgrote
bank in zijn computersystemen", aldus Verhoef.

Het probleem van embedded software is dat het niet meer kan
worden aangepast. "Programmatuur die niet werkt kan worden
aangepast. Bij embedded software bestaat die mogelijkheid
niet. De functionaliteit zit vast ingebakken in een bepaald
apparaat en werkt dat niet naar behoren dan is dat een probleem.
"Een probleem", zegt Boasson, "dat in de toekomst alleen maar
groter wordt omdat er steeds meer embedded software gebruikt
wordt."
 
Specs deugen niet

De meeste problemen ontstaan volgens Boasson, doordat de
ontwikkelaars van embedded software vaak geen idee hebben van
de condities waaronder hun producten gebruikt worden. Volgens
hem vallen al bij de opleiding Software Engineering zaken
buiten de boot: "Daar wordt echt geen aandacht besteed aan
natuurkunde om maar wat te noemen, of aan control theorie of
signaalverwerking. Allemaal onderwerpen die een rol spelen
bij systemen waarin ingebedde software wordt gebruikt. In de
praktijk gebeurt daarom vaak het volgende: de ontwerper van
ee embedded programma leest niet meer dan de specificaties
waaraan de software moet voldoen en implementeert die vervolgens.
Wat men nalaat is zich ook maar een moment af te vragen of
die specificaties eigenlijk wel deugen." (richard keijzer)

Weekblad 2005, week 16

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

Deze tekst is copyright SDU.  Niets van deze uitgave
mag zonder schriftelijke toestemming van de uitgever
worden overgenomen of worden gepubliceerd.