Datorer har blivit lika vanliga i samhället under de senaste 10 åren som vanliga mikrovågsugnar i hemmet. Förutom hem-PC som numera finns i nästan alla hushåll, är nästan all elekronik i hemmet (till exempel dvd-spelaren eller tv apparaten) eller i bilen, datorstyrt. I de enklaste fallen består dessa system av en dator och ett antal datorprogram som körs på den.
I och med att dessa system blir allt mer avancerade så ökar kraven på datorns effektivitet också, till exempel hur många program kan köras på samma dator samtidigt, medan priserna på den färdiga produkten måste hållas så låga som möjligt för att kunna anpassas till marknaden.
Vissa program i ett datorstyrt system är viktigare än andra att de utförs korrekt med avseende på både funktionalitet och tid. I bilar, till exempel, är det ytterst viktigt att datorprogrammen som styr airbagen eller bromsarna alltid fungerar som de ska, medan cd- äxlaren inte är så kritiskt för passagerarnas säkerhet. Både airbagen och cd-växlaren måste reagera på externa händelser (krock eller tryck på play knappen). Medan airbagen måste aktiveras inom en viss tidsintervall, dvs, inte före en krock, men inte för sent efter en krock heller, så spelar det ingen större roll om det tar en halv sekund extra mellan tiden man trycker på play knappen på cd:n och tiden när låten börjar spelas upp. Alla dessa system måste kunna koexistera utan att påverka varandra på ett negativt sätt, dvs, om cd-växlaren slutar fungera, får det inte påverka bromsarnas funktionalitet.
I vissa system, är grunddesignen gjort på så sätt att det är svårt att lägga till ytterligare funktionalitet, oftast i form av nya datorprogram. Om man, till exempel, vill lägga till ett antisladd system i en bil, som kommer att styras av bil datorn, så måste man kunna vara säker på att resten av programmen som körs på samma dator, i synnerhet de kritiska delarna (till ex. airbag), fortfarande kommer att fungera felfritt. Å andra sidan, ju mera program man lägger till i systemet, desto svårare blir det för datorn att hantera dem. Detta leder oftast till behovet att förnya datorn till en kraftigare modell som ska lätt hantera de gamla programmen. Samtidigt så måste man fortfarande säkerställa att programmen fungerar korrekt. Att garantera att det nya systemet som består av en ny dator och de gamla programmen uppfyller kraven på korrekt funktionalitet, kan vara ett väldigt svår uppgift.
I det här arbetet, vi förseslår metoder som gör det möjligt och lätt att utföra ovannämda uppgifter, dvs, att utöka funktionaliteten i befintliga datorsystem eller att uppgradera systemen medan den kritiska beteendet garanteras. Samtidigt, introducerar vi metoder for att förbättra efektiviteten i befintliga datorstyrda system som används i dagens läge i, till exempel, bil och flygindustrin.
2005. , p. 138