Mikael Åsberg vid IDT försvarar sin doktorsavhandling i datavetenskap

Datum: 2014-01-31
Tid: 10.00 - 12.00
Plats: Rum Gamma, Mälardalens högskola i Västerås

Mikael Åsberg vid akademin för innovation, design och teknik (IDT), försvarar sin doktorsavhandling den 31 januari 2014 kl.10.00 i salen Gamma på Mälardalens högskola i Västerås.

Avhandlingens titel är"Synthesis and Synchronization Support for Hierarchically Scheduled Real-Time Systems".

Examinator är professor Neil Audsley, University of York; och betygskommittén består av docent Sebastian Fischmeister, University of Waterloo; professor Petru Eles, Linköping University; adjungerad professor Kristina Forsberg; MDH. reserv; docent Radu Dobrin, MDH.

 

Sammanfattning

Begreppet "realtid`` förknippas ofta med att ett resultat ska presenteras snabbt, desto snabbare desto bättre. Detta kan betraktas som att något uppdateras så pass kontinuerligt och snabbt att man kan uppfatta resultatet som ''färskt``, alltså icke föråldrat. Ett exempel kan vara att spelresultaten från en match uppdateras i realtid på en skärm, alltså att det sker med en minimal fördröjning mellan en fysisk händelse (i detta fall ett mål) och själva uppdateringen på skärmen om att denna händelse skett. Dock så finns det ingen riktig exakt definition på hur lång tid en ''minimal fördröjning`` egentligen tar.

Denna avhandling har sin grund i realtidssystem inom det vetenskapliga området Datateknik. Dessa typer av realtidssystem skiljer sig mycket från exemplet innan. De realtidssystem som behandlas i denna avhandling är ofta slutna (inbyggda system) och utför en begränsad funktion i ett större system.

En bil är i sig inte ett realtidssystem. Det finns många funktioner i en bil som inte har realtidskrav, t.ex. mediasystemet som hanterar navigering, spel, musik etc. Dock finns det enstaka delsystem i en bil som kan definieras som realtidssystem. Ett airbagsystem är ett klassiskt exempel på ett realtidssystem med ett begränsat funktionsområde. Systemet ska blåsa upp ett antal kuddar vid en kollision. Det sitter installerat i ett större system. Airbagsystemet är relativt självständigt i förhållande till resten av bilens funktioner. Systemet i sig är väldigt komplext och använder sig av ett stort antal sensorer, t.ex. accelerometer, stötsensorer, hjulhastighetssensorer, bromstrycksgivare etc. för att avgöra om en kollision har skett och hur man ska agera därefter. Att funktionen reagerar snabbt är självklart viktigt men det avgör inte hur pass bra systemet är. En kudde som fylls med luft i för snabb takt har negativa effekter eftersom kudden släpper ut luft efter att den har blåsts upp. Resultatet kan bli att passageraren stöter emot kudden efter att all luft har gått ur, vilket gör att kuddens funktion ej uppfylls. Att blåsa upp kudden för långsamt har samma negativa konsekvenser. Det viktiga är att blåsa upp kuddarna med rätt mängd luft vid exakt rätt tidpunkt. Denna tidpunkt varierar stort beroende på hur snabbt bilen färdas, hur mycket bromskraft som ges strax innan kollision sker, hur kraftig kollisionen är, på vilken del av bilen som krocken sker och dess vinkel gentemot bilens färdriktning. Bältessträckaren är en funktion som också kan aktiveras i samband med kollisionen. Bältet sträcks en viss mängd beroende på hur kollisionen sker. M.a.o., kudden och bältessträckaren är anpassade till varandra för att ge en optimal säkerhetseffekt. Datorer med realtidsmjukvara bedömer många parametrar samtidigt under en kollision och dessa datorer måste komma fram till ett optimalt beslut under ett förlopp på bara ett fåtal millisekunder. Denna beräkning och detta beslut får aldrig gå fel på något sätt. Observera att realtid i detta kontext har en helt annan definition och innebörd jämfört med det begrepp som används dagligen. Snabbare är inte alltid bättre. En annan väldigt viktig skillnad är att det är vitalt att veta på förhand exakt hur lång tid det tar från kollision till beräkning och beslut. Jobbar man med dessa system så måste man kunna definiera tidsåtgång på enstaka operationer exakt i mikrosekunder. Det räcker inte med definitioner som bara utrycker ''minimal fördröjning``. Mikrosekunder kan göra skillnad mellan liv och död.

Ett av dagens stora problem gällande datorsystem, inom både mjukvara och hårdvara, är att många produkter och delsystem innehåller en stor och nära ohanterlig mängd datorer och ofta är dessa sammankopplade med nätverk. Utmaningen ligger i att antalet funktioner i t.ex. en bil ökar, airbagsystemet är bara ett exempel på en funktion. Nu finns det även antisladd-system, stabiliseringsprogram, parkerings-assistans etc. vilket leder till fler och fler datorer. En bil är idag fullastad med kablage och datorer vilket ökar vikt, kostnad och även komplexiteten i dessa system.

Idag finns det ett behov av att minska antalet datorer och kablage i system som t.ex. bilar genom att låta realtidsmjukvara samsas på ett mindre antal datorer. Detta medför integreringsarbete i större utsträckning. Datorsystemen i dessa produkter har strikta tidskrav på funktioner som exempelvis airbagsystemet vi beskrev tidigare. Dessa tidskrav orsakar problem när funktioner ska integreras på samma dator eftersom att det medför en stor risk att tidsbeteendet hos funktioner förändras och därmed blir felaktiga. Detta gör att integreringsarbetet blir dyrare och svårare att utföra. Huvudmålet med denna doktorsavhandling är att underlätta integrering av tidskritiska funktioner genom att separera (partitionera) dessa på ett smart sätt i oberoende delar. Detta medför att det blir säkert och lätt att analysera systemen utifrån tidskraven.