EMNER

Flere systemer med færre fejl

Smarte programmer skal finde alle fejlene før elektronikken bliver sendt ud i butikkerne

AALBORG:Alle, der har siddet ved en computer, kender problemet: På grund af en systemfejl fryser skærmen og eneste udvej er at genstarte maskineriet. Det koster som regel ikke andet end lidt tid og en del irritation. Men følgerne kan blive anderledes katastrofale, hvis fejlen sker i et fly eller en ABS-bremse eller et jernbanesignal eller et helt syvogtyvende sted. I dag sidder der små såkaldt indlejrede systemer i flere og flere af de maskiner, vi omgiver os med i dagligdagen - det være sig vaskemaskiner, kaffemaskiner eller strygejern. Stort set alt, der er mere avanceret end elektriske pærer. De indlejrede systemer er ofte besværlige at reparere, og hverken forbruger eller producent kan være tjent med at skulle genstarte i tide og utide. Derfor er det afgørende, at systemerne er fejlfrie - eller i hvert fald så godt som fejlfrie - før de bliver taget i brug. Med flere og flere indlejrede systemer bliver automatisk fejlfinding undervejs i udviklingsarbejdet vigtigere og vigtigere. Lige præcis på dette punkt i beretningen træder Gerd Behrmann ind på scenen. Halvt svensk Den 31-årige nybagte (siden 1. august) lektor ved Institut for Datalogis faggruppe for distribuerede systemer og semantik er nemlig ekspert i UPPAAL - et fejlfindingsværktøj udviklet af forskere ved universiteterne i Uppsala og Aalborg, deraf navnet. Værktøjet er kort fortalt et program, der gennemprøver alle tænkelige funktionsmuligheder på alle tænkelige måder. Det kan principielt være et astronomisk stort antal funktioner. - Det koster at lave software, der har kvalitet. Jeg har hørt om eksempler fra NASA (den amerikanske rumadmininstration, red.) med 5000 dollars pr. linje kode, og det er vanvittigt dyrt. Med UPPAAL kan vi forenkle udviklerens arbejde ved at overtage opgaver, der traditionelt sikrer kvaliteten af arbejdet, forklarer Gerd Behrmann. Løbende analyse Resultatet kan blive både bedre og billigere programmer, forudser han: - Traditionelt har meget fungeret ved hjælp af test, når produktet, for eksempel en mobiltelefon, er næsten færdigt. Hvis det så ikke virker, er det ofte både dyrt og besværligt at rette op på det. Vores værktøj kan bruges fra dag et, så man løbende analyserer arbejdet, siger Gerd Behrmann. UPPAAL er et rent akademisk værktøj, udviklet på de to universiteter, men efterhånden også i brug i industrien. Gerd Behrmann har tidligere - da han skrev sin ph.d. - arbejdet med et andet fejlfindingsværktøj, kaldet visualSTATE. Det er et af de indtil videre meget få kommercielle værktøjer, og det ejes af et firma i Århus af samme navn. Til gengæld eksisterer der efterhånden adskillige akademiske værktøjer i stil med UPPAAL. Det svensk/danske program fokuserer meget på tid - for eksempel er det afgørende, at en airbag udløses på et bestemt antal milisekunder; det er ikke nok, at den udløses med tiden. Radioer og stål Et praktisk eksempel skete i samarbejde med B&O, der opdagede, at nogle beskeder gik tabt i Beolink, en sammenkobling af radio, cd-afspiller og meget andet isenkram: - Vi lavede modeller af Beolink, og UPPAAL gav en fejlmelding, da det viste sig, at godt 1900 funktioner i bestemte rækkefølger førte til, at en besked blev tabt. Men tankegangen bag et fejlfindingsværktøj som UPPAAL kan række langt videre. I Belgien har man opstillet hele produktionen på et stort stålværk og ladet systemet regne på, hvordan man fik den hurtigste produktion, minimalt slid og det mindste energiforbrug. Og det viste sig at give mindst ligeså god en planlægning, som den stålværket normalt anvender. Det kunne også være et atomkraftværk, hvor der under absolut ingen omstændigheder må ske en overophedning af kernen. Med UPPAAL kan man finde frem til, hvis en bestemt kombination af kommandoer alligevel udløser den - og dermed forhindre, at det sker. Et værktøj som UPPAAL skal til stadighed udvikles: - Dels kan vi gøre det hurtigere, dels kan vi udvide funktionaliteten, forklarer Gerd Behrmann. Computerkraft Netop den udvikling optager en væsentlig del af hans tid. For øjeblikket arbejder han på at bruge værktøjet på dels en klynge computere - den på Institut for Datalogi har en kapacitet på 50 Gigabyte - dels en såkaldt grid, altså et netværk af klynger. For eksempel kan maskinerne i Aalborg arbejde sammen med klynger i Odense og på Danmarks Tekniske Universitet i Lyngby. Kapaciteten bliver næsten skræmmende stor - og selv omfattende programmer kan analyseres på overkommelig tid. En anden vigtig opgave for lektoren er fortsat udbredelse af værktøjet: - Det har et stort potentiale for industrien, synes jeg. NASA og flyindustrien har brugt den slags i længere tid, men der er meget store muligheder i mange forskellige typer produktioner. En væsentlig del af hans forskningspris skal derfor bruges på rejser med det formål at udbrede kendskabet. De 50.000 private kroner - eller i hvert fald nogle af dem - kunne meget vel også gå til en rejse: - Men det bliver til et varmt sted, hvor der ikke er computere.