FORSKNING

Norske forskere har utviklet et helt nytt programmeringsspråk

Skal gi simulatorer som «skriver seg selv».

Simulering av trykkfordeling i Nornefeltet utenfor Helgeland. For å simulere utvinning av hydrokarboner, deler forskerne reservoaret inn i celler, og beskriver hvordan oljen flytter seg fra celle til celle. Dataene til modellen er gjort tilgjengelige av Statoil og NTNU/IO-senteret.
Simulering av trykkfordeling i Nornefeltet utenfor Helgeland. For å simulere utvinning av hydrokarboner, deler forskerne reservoaret inn i celler, og beskriver hvordan oljen flytter seg fra celle til celle. Dataene til modellen er gjort tilgjengelige av Statoil og NTNU/IO-senteret. Bilde: Sintef
Åse Dragland, Gemini.noÅse Dragland, Gemini.noÅse Dragland, Gemini.no
20. jan. 2015 - 18:28
Vis mer

Når forskere skal etterligne prosesser i en større eller mindre del av virkeligheten, må de bruke simulatorer eller "etterlignings-modeller". For å få modellene til å gjøre det de skal, må det ligge en programkode bak.

Programmering er tidkrevende, og det kan ta mange år å lage en enkelt simulator. Dette arbeidet vil forskere nå forenkle.

– Vi har laget et språk som ligner mye på matematikkens språk, forteller André Brodtkorb ved Sintef.

– Dermed greier vi å splitte arbeidsprosessen slik at det tar kortere tid å utvikle en simulator. En matematiker kan konsentrere seg om det han eller hun er best på, nemlig området der simulatoren skal benyttes. Og de som er gode på programmering, sitter og jobber med "oversetteren" slik at den oversatte koden kan kjøres raskere - uten å tenke på bruken.

Simulering av olje og vann

Ved Sintef-avdelingen Anvendt matematikk utvikler forskerne metoder og nye måter å beregne alt fra værvarsel for flyplasser til kampoppsett i Tippeligaen.

I dette prosjektet konsentrerer de for tiden om to caser: Hvordan olje strømmer i et reservoar, og hvordan flombølger sprer seg i et terreng. 

Kildekodene brukes til å lage simuleringsverktøy som kan forutsi hva som skjer med oljen i reservoaret eller hvor flommen blir størst.

– Et reservoar er en stiv svamp med olje inne i seg, forklarer Brodtkorb.

– For å simulere utvinning av olje, deler vi reservoaret inn i små biter eller celler, og beskriver hvordan oljen flytter seg fra celle til celle.

Les også: «Dataspill» avdekket trøbbel før nytt sykehus var ferdig

Ting tar tid

Når det skal utvikles en simulator, må ofte flere mennesker inn for å utvikle programkoden som kan fortelle datamaskinen hva den skal utføre: Matematikere, fysikere, numerikere og programmerere. 

– Problemet er at alle har sin kjernekompetanse. De som skriver kildekoden til en simulator, har ikke nødvendigvis full oversikt over matematikken/fysikken og vice versa. Og når folk fra "ulike lag" skal snakke sammen og bli enige, oppstår det misforståelser og det tar tid, sier Brodtkorb.

Store softwareselskap har gjerne all ekspertise samlet innenfor sine vegger.

Men det meste av forskningskoder blir utviklet av enkeltpersoner eller små grupper.

– De trenger hjelp, mener Brodtkorb.

Les også: Skyleverandør slakter egen bransje: – Kutt ut nettskyen

Fjerner sikkerhetsfeil

Det er ikke noe nytt i seg selv å lage simulatorer. Det nye forskerne vil tilføre, er å ta i bruk et domene-spesifikt språk; et spisset språk som tar for seg ett begrenset bruksområde. 

Med dette språket kan forskerne lage nye simuleringsprogrammer, og samtidig garantere at koden er rett.

Innenfor programmering er det for eksempel et klassisk problem å velge feil enhet på fysiske størrelser. Da Nasa sendte opp Mars Climate Orbiter for å studere atmosfæren på Mars, krasjet den.

Årsaken var at selskapet Lockheed Martin hadde laget en simulering med engelske enheter mens Nasa selv forventet metriske enheter.

– Endringen innebar at 327 millioner dollar forsvant ut av vinduet, bemerker André Brodtkorb.

– Dette har vi sikret oss mot. Vi skriver for eksempel inn i kildekoden "denne enheten er i meter". Om noen da prøver å legge inn en enhet som "fot", vil de få en korreks, sier Brodtkorb.

Les også: Håpløse IT-løsninger kan ødelegge effekten av digitaliseringen i stat og kommune

Søker penger

Et annet problem er å holde styr på alle millionene av celler i en simulering. I farten er det lett å blande sammen og ta feil av celler.

– Dersom resultatet som kommer ut likevel ser riktig ut, kan det gå riktig galt, slår Brodtkorb fast, – for da kan en beslutningstaker ta avgjørelser på sviktende grunnlag. Også en feil som dette elimineres av vårt system.

Nå søker forskerne penger til en videreføring av prosjektet.

– Vi har stor tro på innholdet i dette prosjektet. Det nye programmeringsspråket vårt er lett å bruke. Det tar kortere tid å lage programmer - og feilkilder er fjernet. Tre gode salgsargument.

Denne saken ble opprinnelig publisert på Gemini.no – et nettsted for forskningsnytt fra NTNU og Sintef.

Les også:

Disse 20 oppstartsbedriftene bør du følge med på i 2015

Nå er dette «sosiale mediet» større enn noensinne

Slik ser norske kartdata ut i Minecraft  

Del
Kommentarer:
Du kan kommentere under fullt navn eller med kallenavn. Bruk BankID for automatisk oppretting av brukerkonto.