Att öka pålitligheten hos säkerhetskritiska datorsystem
Inbyggda datorsystem används till exempel i styrsystem för bilar och flygplan. Systemen bygger på att flera datorer skall utföra olika uppgifter som hänger ihop med varandra. Risken är att det smyger sig in godtyckliga fel i datorerna och det gäller att hitta dem, åtgärda dem och testa att det blev rätt – gång på gång. Håkan Fungby-Sivencrona presenterar i sin doktorsavhandling hur man kan lösa en del av dessa problem.
Det bysantinska generalsproblemet som introducerades för mer än 20 år sedan bygger på ett klassiskt problem tillämpat på feltoleranta datorsystem. Definitionen av bysantinska fel och hur man skall hantera dem presenterades i en artikel av den amerikanske datalogen och matematikern Leslie Lamport och hans medarbetare. Lamport beskriver ett scenario där en grupp bysantinska generaler, med sina arméer, har omringat en fientlig styrka. Efter att ha observerat fienden från sin position måste generalerna skaffa sig en gemensam ståndpunkt via meddelanden för att därefter bestämma sig för att attackera eller retirera. Om alla generalerna attackerar samtidigt besegras fienden men om en eller flera av generalerna får motsägelsefull information och därför inte attackerar förloras striden och generalerna och deras soldater måste kapitulera. Problemet är att en eller flera av generalerna eller deras kurirer kan vara förrädare som vill förstöra möjligheten till ett lyckat anfall.
Flera tekniker och algoritmer har föreslagits för att förbättra pålitligheten i generalernas meddelandekedja, det vill säga samma problem som man har inom distribuerade inbyggda datorsystem, främst för säkerhetskritiska, så kallade by-wire tillämpningar inom flyg- och fordonsindustrin. Men liknande fel är fortfarande en utmaning för forskare och utvecklare av datorsystem med höga pålitlighetskrav. Det finns många missuppfattningar om dessa fel, till exempel vad som gör ett datorsystem sårbart, felens egenskaper och hur de uppträder.
Håkan Sivencrona knyter i sin doktorsavhandling an till det bysantinska generalsproblemet. Avhandlingen beskriver hur ett tidsstyrt datakommunikationsprotokoll beter sig när ett kommunikationschip utsätts för felinjicering genom strålning från en radioaktiv källa. Felinjiceringsprocessen medför att generalerna, eller i detta fall datorerna, inte får enhetlig information och alltså riskerar att inte klara av sin säkerhetskritiska uppgift. I avhandlingen presenteras lösningar för att hantera några av de problem som upptäcktes vid felinjiceringen inklusive en utvärdering av lösningarna. Avsikten är att ge praktisk insikt i de komplicerade feltillstånd som dagens datorsystem utsätts för och måste hantera.
En andra, mindre del, av avhandlingen tar upp ett nytt intressant koncept RedCAN, för att hantera permanenta kommunikationsfel. I två artiklar presenteras RedCAN konceptet och två olika algoritmer, en centralt kontrollerad och en distribuerad, som behövs för att koppla upp en feltolerant kommunikationskanal mellan alla datornoder i ett distribuerat datorsystem. Den innerhåller dessutom simuleringar av de föreslagna algoritmerna med hjälp av ett eget simuleringsprogram.
Avhandlingen ”On the Design and Validation of Fault Containment Regions in Distributed Communication Systems”, försvaras vid en offentlig disputation på Chalmers den 25 februari kl 13.15 i sal HA2, Hörsalsvägen 4, Chalmers, Göteborg.
Håkan Sivencrona är industridoktorand och anställd vid SP, Sveriges Provnings- och Forskningsinstitut i Borås. Han kommer från Vetlanda.
Kontaktinformation
Mer information
Håkan Sivencrona, Datorteknik, Chalmers och SP Sveriges Provnings- och Forskningsinstitut, tel: 031-7721669, e-post: hakan.sivencrona@sp.se