Dela

Programvaruteknik och tjänster

Datorprogram är en integrerad del av samhället. Vi behöver tekniker för att ta fram mjukvara som gör det den ska utan att vara i vägen eller skapa fel, och som enkelt kan anpassas för att dra nytta av den snabba teknikutvecklingen. Det gäller alla typer av system: såväl datorspel i den ständigt växande underhållningsindustrin som ordbehandlare och servermjukvara.

I vårt industriella samhälle hör programmerarna, som rad för rad skapar mjukvara, till de kvarvarande hantverkarna. Hur kan vi förse dem med verktyg och tekniker för att skapa den mjukvara som samhället är så beroende av?

Vår forskning handlar bl a om tekniker och metoder för att hitta fel i mjukvara och åtgärda dem redan innan mjukvaran tas i bruk. Vi forskar också om programspråk - de grundläggande verktygen för att skapa mjukvara. Hur kan man skapa språk som lättare låter programmeraren uttrycka hur programmet skall fungera? Vilka stöd behövs för programmeringen? Vilka stödtekniker behövs i de kringliggande processerna?

Om modellering, simulering och optimering

Modellering handlar om design och konstruktion av adekvata modeller för olika beräkningsproblem. Viktiga aspekter gäller representationer av data, kommunicerbarhet till användarna etc.

Simulering handlar om att effektivt beräkna komplexa beräkningsproblem som typiskt emanerar från faktiska problem,

Optimering handlar om effektiviteten i beräkningar av t.ex. simuleringsproblem, packningsproblem m.m.

Constraint programming eller villkorsprogrammering är en mängd metoder och verktyg för att modellera och lösa kombinatoriska (optimerings)problem.

Typiska problem är tex personal och resursplanering, schemaläggning samt packnings- och placeringsproblem. Trots att dessa typer av problem har bevisats vara svåra att lösa (de sägs vara NP-svåra) har villkorsprogrammering visat sig vara en mycket framgångsrik lösningsmetod, så framgångsrik att den är kärnan i ett flertal kommersiella produkter.

Forskningsområden och aktiviteter omfattar:

  • Grundtekniker för effektiva villkorsprogrammeringssystem. Detta har resulterat i verktyget Gecode, som har etablerat sig som standardverktyget bland fria villkorsprogrammeringssystem. Gecode har öppen källkod och har tusentals användare inom högskolor, universitet och industri.
  • Villkorsprogrammering för kodgenerering i kompilatorer. Denna aktivitet sker i samarbete med SICS (Swedish Institute of Computer Science). Arbetet omfattar både grundforskning (finansierat av Vetenskapsrådet) och tillämpad forskning samt kunskapsöverföring (finansierat av Ericsson).