Orden i software-kaos

Datasystemer er en ung oppfinnelse. Software er hittil blitt utviklet av unge, smarte hoder, litt tilfeldig og veldig individuelt. Dette gjør det vanskelig å utvikle systemene videre, fordi ingen har oversikt over hvordan store software-systemer fungerer, selv ikke innenfor samme bedrift og samme program. Nå har Lars Bratthall (29) kanskje funnet deler av løsningen på problemene.

LEI AV ROT: Forsker Lars Bratthall . Foto: Linn Stalsberg (©)

For seks år siden jobbet den unge sivilingeniøren Lars Bratthall som konsulent i en liten bedrift. Det gikk ikke lang tid før han irriterte seg over alle de dumme feilene som ble begått fordi alle som jobbet med datautvikling, oppfattet systemenes arkitektur helt forskjellig. Bratthall gjorde noe konstruktivt med irritasjonen og skrev en doktorgrad ved Institutt for informatikk ved Universitetet i Oslo, om nettopp arkitekturtegninger og datasystemer. Målet var å gjøre data-software raskere, sikrere og lettere å utvikle, ved å ha en modell for felles tegninger som alle impliserte parter kunne forholde seg til.

– Vi kan sammenlikne data-arkitektur med arkitekturen til et hus. Tenk deg at du ser et hus ovenfra. Det ser helt annerledes ut derfra enn for en annen som ser huset fra bakken. Derfor er det viktig at det finnes tegninger som beskriver huset, som forteller deg hvor elektriske ledninger går og hvor vannrørene ligger, fordi du ikke kan stole på at det du ser fra din synsvinkel, forteller hele sannheten. Det er det samme med datasystemer. Hva du ser, betyr forskjellige ting avhengig av hvem sVi kan sammenlikne data-arkitektur med arkitekturen til et hus. Tenk deg at du ser et hus ovenfra. Det ser helt annerledes ut derfra enn for

Han vil at alle som jobber med det samme datasystemet, enten de jobber med det i forskjellig tidsepoke, eller samtidig, men med forskjellige oppgaver, skal kunne se den samme grunnstrukturen. Arkitekturen til data-software skal kunne forstås av mange grupper uavhengig av tid og sted.

Tid er penger

Arkitekttegning med data-assosiasjoner

DATA OG ARKITEKTUR: Hus bygges etter arkitekturtegninger, men standardiserte tegninger av datasystemer har vært mangelvare til nå.  Fotomontasje: Ståle Skogstad (©)

Tenk deg at du vil fornye websiden din på Internett. Du ringer webdesigneren som laget siden for deg forrige gang. Men så er ikke vedkommende tilgjengelig. Du kontakter en ny webdesigner. Og det er nå problemene oppstår, for den nye eksperten har ikke noen tegninger av arkitekturen den forrige webdesigneren brukte, og vil lure på hva i all verden de bærende konstruksjonene er i din design. Dermed må den nye bruke en masse tid på både å være data-arkeolog og å spore opp hva forgjengeren har gjort, før han i det hele tatt kan starte på fornyelsesprosessen.

Bratthall synes slike arbeidsmetoder bør tilhøre datasystemenes dinosaurusepoke og mener at dersom man bruker hans utviklede tegnemodeller, slipper man å være arkeolog.

– Man tar en kjapp titt på tegningene til datasystemet og kan rase rett ut i arbeidet med fornyelse, uten å sløse bort tid på å forstå det som allerede er der. Sånn blir komplekse datasystemer lettere å utvikle, hevder Bratthall.

Finnes overalt

Datasystemene som Bratthall snakker om, finnes overalt i vår hverdag; i telefonen, i fly og i oppvaskmaskinen. Og for eksempel i bilens cruise-control.

– Dersom Audi lanserer noe som gjør at bilen stopper hvis den kommer for nær bilen foran, må Volvo presentere en liknende innretning så fort som overhodet mulig. Cruise-control er en software, og har man de arkitektoniske tegningene klare, går videreutvikling raskt. Bruker man tid som våpen, er ideene verdifulle, sier Bratthall, og forteller om store bedrifter som har tapt hundrevis av millioner på å være én uke for sent ute med et nytt produkt.

– Men hvorfor har man da ikke laget slike tegninger bestandig?

– Hus har man bygd i tusenvis av år, men data har kun eksistert i 50 år. Nå trenger vi en sunn måte å utvikle programmeringen på. Innenfor data har man så langt ofte satset på den individuelle ”bright mind”, fremfor en ingeniørkunst. Mye dataprogrammer lages ad hoc, nærmest tilfeldig, og fremfor alt gjelder dette dagens internettsystemer. Det er ingeniørkunst vi trenger nå.

Spurte kunder aldri etter tegninger når de kjøpte et program tidligere?

– Kundene har ikke visst hva de skulle spørre etter. Spesialbestiller man et datasystem, bør man som kunde spørre etter tegninger, akkurat som en byggherre ville gjøre. I dag, når du kjøper et program, er det for eksempel ingenting som forteller deg hvorfor programmet er bygd på den måten det er.

Katastrofale feil

– Men vil jeg skjønne noe av disse tegningene dersom jeg har problemer med for eksempel PC-en min?

– Nei, for deg som kunde er det ikke så viktig. Men en tekniker som skal utvikle eller feilsøke systemet, vil skjønne dine eventuelle problemer raskere og mer korrekt enn i dag. Hittil har man jobbet opp mot hva man tror er feil, ikke mot hva som faktisk er feil. Softwaren beveger seg hele tiden, vår menneskelige hjerne kan ikke skjønne alt parallelt. Man kan sjelden gjøre ”litt feil” innenfor software, det ender alltid katastrofalt.

– Skjer det mange feil i dag?

– Det blir stadig færre feil i forhold til alle nye dataprogrammer som utvikles, men i helhet er det flere feil fordi datasystemer stadig produseres raskere. Jeg er mange ganger overrasket over at det ikke skjer flere feil og ulykker. Og hvor mange feil folk er villige til å akseptere fra PC-ene sine!

I dag arbeider Lars Bratthall for ABB på Billingstad, der all forskning er så hemmelig at vi ikke engang kan bære kameraet rundt i gangene. Bratthall jobber med spørsmål som ”hvilke fremtidige utfordringer vi har i en software-intensiv verden” og skal løse og kapitalisere dette for ABBs produkter.

Lars Bratthalls avhandling finner du som PDF på: http://www.ifi.uio.no/~lbr/toprint.pdf

Emneord: Matematikk og naturvitenskap, Informasjons- og kommunikasjonsvitenskap, Systemutvikling og -arbeid, kommunikasjon, databaser og mulitmediasystemer Av Linn Stalsberg
Publisert 1. feb. 2012 12:09
Legg til kommentar

Logg inn for å kommentere

Ikke UiO- eller Feide-bruker?
Opprett en WebID-bruker for å kommentere