Programvarutveckling

Forskningen handlar om att utveckla och utvärdera verktyg och metoder för den som utvecklar, testar och underhåller programvara och cyberfysiska system. Exempel på expertområden är utveckling av Modelica samt programvara för superdatorer.

Den största inriktningen är forskning kring Modelica och andra objektorienterade, ekvationsbaserade språk, avsedda just för modellering och simulering av lite större cyberfysiska system. De cyberfysiska systemen innehåller sensorer som kan hämta in data från omgivningen och sedan själv anpassa sig efter de för hållanden som råder – som system i självkörande fordon.

En forskargrupp vid LiU är värdar för Open Modelica Consortium, som förutom kompilatorn, som översätter datorkod till maskinkod, även innehåller en simuleringsmotor med ekvationslösare och en grafisk editor. Forskningen integreras i programvaran Open Modelica som har många användare, inte minst inom energisektorn.

Superdatorer

Forskning pågår även inom programvaruteknik för parallelldatorsystem - som superdatorer, distribuerade datorsystem - som i fordon där datorer med olika uppgifter i fordonet ingår i samma system, samt heterogena datorsystem – där varje processor i systemet används för just det den är optimerad för. Generering och automatisk optimering av programkod för dessa typer av avancerade datorarkitekturer är ett centralt forskningstema med stor betydelse för att öka prestandan, minska energiåtgången och optimera minnesutnyttjandet.

Storskalig programvaruutveckling är ännu ett forskningsområde. I nära samarbete med företag studeras hur man kan hantera den mängd av metoder som leder till kontinuerlig integration, testning och idrifttagande av programvara. Inte minst handlar det om optimering av regressionstester, då man testar hela eller delar av ett system efter att en ny funktionalitet har införts för att säkerställa att hela systemet fungerar som det är tänkt.

Utveckling av undervisningsmetoder

Forsknings- och utvecklingsarbete bedrivs även kring hur man undervisar inom programvaruteknik.

Kompetens finns inom ett brett spektrum av områden, som kompilatorteknik (översättning från datorkod till maskinkod), programvaruanalys och optimering, automatisk debuggning, design av programspråk, beslutsstödsystem, kravhantering, underhåll av programvara, systemteknik, hållbar utveckling samt seriösa datorspel.

Kontakt

Forskning