Presentation
Adaptiv programvara

Nya utmaningar kräver nya lösningar

Publicerad 15 juni 2023
Foto: Christine Engström
Stående, från vänster: Sajad Khosravi, doktorand, Reyhane Falanji, doktorand, Niklas Carlsson, biträdande professor, Zebo Peng, professor, Mohammad Newaj Jamil, doktorand, Mina Niknafs, doktorand. Sittande, från vänster: Mikael Asplund, docent, Christoph Kessler, professor, Soheil Samii, biträdande professor. Foto: Christine Engström
Stående, från vänster: Sajad Khosravi, doktorand, Reyhane Falanji, doktorand, Niklas Carlsson, biträdande professor, Zebo Peng, professor, Mohammad Newaj Jamil, doktorand, Mina Niknafs, doktorand. Sittande, från vänster: Mikael Asplund, docent, Christoph Kessler, professor, Soheil Samii, biträdande professor. Foto: Christine Engström

Ökade krav på realtidsuppkoppling och komplexa beräkningar kan inte mötas med dagens teknik. På Linköpings universitet drivs ett projekt som ska ta fram metoder för att utveckla, organisera och anpassa den komplexa mjukvaran som styr ”smart” teknik för att möjliggöra effektivare och mer hållbart utnyttjande av tekniken.

I SSF-projektet ”Adaptiv programvara för heterogena edge-cloud-system” är målsättningen att skapa nya metoder som minimerar energiåtgången med bibehållna höga krav på prestanda och säkerhet.
– Idag skickas data från exempelvis en industriprocess upp i molnet där beräkningar sker på centrala datacenter, därefter skickas resultaten tillbaka. Den hanteringen av data är både tids- och energikrävande samt en säkerhetsrisk. Trenden går därför mot att fler beräkningar ska kunna utföras närmare datakällan, förklarar Christoph Kessler, professor på Institutionen för datavetenskap och projektledare för SSF-projektet.
Ett tydligt exempel på när dagens teknik inte är tillräcklig är självkörande bilar. Där kan inte beräkningar göras på avstånd i ett centraliserat moln utan måste ske nära datakällan för att kunna ge den realtidsrespons som krävs.

Flexiblare programvara
När beräkningar ska ske närmare källan behöver programvaran gå från en monolitisk struktur där all data hanteras i ett centraliserat moln till en kombination av mindre programvarudelar så att den kan användas flexibelt i det mer decentraliserade systemet.
– Beräkningar närmare enheten kan ske i själva enheten eller i det man kallar ”edge” mellan enheten och molnet. Olika tillämpningar kommer att ha olika lösningar för var beräkningarna sker och det kommer alltid att vara en ”förhandling” mellan olika behov innan systemet bestämmer var beräkningen sker, förklarar Christoph Kessler.

Säkerhetsaspekten blir allt viktigare
Att all data skickas fram och tillbaka till molnet för beräkningar innebär säkerhetsrisker då angripare kan få tag på informationen.
– Dagens angripare blir alltmer sofistikerade vilket ställer högre krav på förmågan att kunna ”gömma” data från dem. När vi börjar jobba med mer distribuerade system där beräkningar kan ske i allt från enheten själv upp till molnet, i ett ”edge-cloud continuum”, måste vi kunna säkerställa säkerheten i hela det distribuerade systemet, förklarar biträdande professor Niklas Carlsson, ADIT, Security and Networks group, på Linköpings universitet.

Säkerställa de formella egenskaperna
När kritiska system som elnät och flygnät utvecklas mot mer dynamik och flexibilitet innebär det även stora utmaningar för att kunna säkerställa att exempelvis säkerhetsaspekter behålls intakta i alla delar av det mer flexibla systemet.
– Vi vill utveckla en modell som kan beskriva och visa att all viktig information behåller sina formella matematiska egenskaper även när komponenter och tjänster blir mer flexibla och adaptiva. Vi behöver visa att orkestreringen kan bibehålla de matematiska egenskaperna och även verifiera att egenskaperna inte bara finns kvar utan är helt intakta, förklarar docent Mikael Asplund, RTSLAB vid Linköpings universitet.

Komplexa cyberfysiska system
Utvecklingen av datorbaserade system för interaktion med maskiner, fordon och annan utrustning kallas cyberfysiska system och även de behöver uppgraderas när utvecklingen går mot mer flexibilitet.
– Vi utvecklar adaptiva algoritmer som kan välja rätt beslutsstrategier vid olika scenarier. I en bil kan det finnas över 100 mikroprocessorer och det gäller att kunna välja vilken, eller vilka i kombination, som ska användas i olika situationer, konstaterar professor Zebo Peng, ESLAB på Linköpings universitet.
En självkörande bil har stora mängder mjukvara för olika funktioner där vissa behöver fungera i realtid.
– Det handlar därför om avvägningar mellan olika behov: vilka beräkningar som måste ske på plats i bilen och vilka som kan ske i edge eller i det centrala molnet, förklarar biträdande professor Soheil Samii, ESLAB på Linköpings universitet.

Minskar energiåtgången
Projektet har även stora hållbarhetsaspekter då datordrivna system är mycket energikrävande.
– Målet med de metoder vi utvecklar är att de ska möjliggöra användningen av edge-cloud- och molntjänster för system med höga krav på säkerhet och prestanda samtidigt som energiåtgången minimeras, konstaterar Mikael Asplund.

Klicka här för att läsa mer om projektet ASTECC

Linköpings universitet – Adaptiv programvara

I projektet ”Adaptiv programvara för heterogena edge-cloud-system” (ASTECC) ska fyra forskargrupper gemensamt utveckla och undersöka både generiska och domänspecifika lösningar för att visa teknikernas potential inom fyra strategiska områden för svensk industri: datornätverk och deras tillämpningar; smarta elnät; luftfart; och smarta bilar.

  1. Nya tekniker för mjukvarudesign med avancerat stöd för dynamisk anpassning, baserat på mer avancerade gränssnitt för mikrotjänster och flöden samt flexibla specifikationer av krav på säkerhet och feltolerans;
  2. Nya tekniker för programövervakning och automatiserad analys av mjukvara för att stödja distribuerad orkestrering och anpassning;
  3. Nya dynamiska predikteringstekniker och distribuerade algoritmer för orkestrering av heterogena device-edge-cloud-system, som också stöder autonom tjänstemigrering;
  4. Nya tekniker för optimering över flera systemlager och automatiserad analys av avvägningar i tjänstekvalitet, prestanda, energiåtgång, kostnad, säkerhet och feltolerans.

liu.se