Development of an analysis tool for execution traces Anders JohnssonRoy Nilsson
The Probabilistic Property Language (PPL) Frågespråk Analysera exekveringsloggar
Stora och komplexa realtidssystem Utvecklats under lång tid Förlorat analyserbarhet Återinföra analyserbarhet
Traditionella metoder Pessimistiska Ej uttrycksfullt nog Robot-kontroll-system
Simuleringsbaserad metod Modell Simulering Exekveringslogg Task Prober
PPL Stora loggar Påstående om sannolikhet för egenskap Task Prober Obundna variabler
Task och datamedlem Grundläggande delar i en PPL fråga En relation Sannolikhetsfunktionen P Jämförelse med en sannolikhet TaskA.response Instansoperatorer
Task och datamedlem Grundläggande delar i en PPL fråga En relation Sannolikhetsfunktionen P Jämförelse med en sannolikhet TaskA.response < 5 Instansoperatorer
Task och datamedlem Grundläggande delar i en PPL fråga En relation Sannolikhetsfunktionen P Jämförelse med en sannolikhet P(TaskA, TaskA.response < 5) Instansoperatorer
Task och datamedlem Grundläggande delar i en PPL fråga En relation Sannolikhetsfunktionen P Jämförelse med en sannolikhet P(TaskA(i), TaskA(i).response < 5) Instansoperatorer
Task och datamedlem Grundläggande delar i en PPL fråga En relation Sannolikhetsfunktionen P Jämförelse med en sannolikhet P(TaskA(i), TaskA(i).response 0.75 Instansoperatorer
Task och datamedlem Grundläggande delar i en PPL fråga En relation Sannolikhetsfunktionen P Jämförelse med en sannolikhet P(TaskA(i), TaskA(i).response 0.75 Instansoperatorer Sannolikheten att TaskA klarar sin deadline 5 ska vara större än 0.75
Prober Prober för task P(TaskA(i), TaskA(i).probe20 > 0) = 1 Kön ska aldrig vara tom när TaskA startar.
Prober Prober för task Prober över tid P(TaskA(i), TaskA(i).probe20 > 0) = 1P(*, *.probe20 > 0) = 1 Kön ska aldrig vara tom. Kön ska aldrig vara tom när TaskA startar.
Obundna variabler Obunden sannolikhet P(TaskA(i), TaskA(i).response < 5) = X Med vilken sannolikhet klarar TaskA sin deadline 5.
Obundna variabler Obunden sannolikhet Obunden variabel i villkoret P(TaskA(i), TaskA(i).response < 5) = XP(TaskA(i), TaskA(i).response 0.75 Vilken deadline klarar TaskA med sannolikheten Med vilken sannolikhet klarar TaskA sin deadline 5.
Artimetik Aritmetik med konstant P(TaskA(i), TaskA(i).response Sannolikheten att TaskA klarar sin deadline 5 med en marginal 2 ska vara 0.75.
Artimetik Aritmetik med konstant Aritmetik mellan datamedlemmar P(TaskA(i), TaskA(i).response P(TaskA(i), TaskA(i).response – TaskA(i).exec = 0) = 1 TaskA får aldrig bli avbruten. Sannolikheten att TaskA klarar sin deadline 5 med en marginal 2 ska vara 0.75.
Relativa instanser Aritmetik i instansoperatorn P(TaskA(i), TaskA(i+1).response 0.75 Nästa instans ska klara sin deadline, 5, med en sannolikhet större än 0.75.
Relativa instanser Aritmetik i instansoperatorn Logiska operatorer P(TaskA(i), TaskA(i+1).response 0.75 P(TaskA(i), TaskA(i).response 0.75 Sannolikheten att två instanser i rad klarar sina deadlines, 5, ska vara större än Nästa instans ska klara sin deadline, 5, med en sannolikhet större än 0.75.
Beroende mellan olika task Samma instans av olika task Den sammanlagda responstiden för TaskA och motsvarande instans i TaskB ska alltid vara mindre än 7. P(TaskA(i), TaskA(i).response + TaskB(i).response < 7) = 1 TaskA012 TaskB01234 Tid
Beroende mellan olika task Samma instans av olika task Following P(TaskA(i), TaskA(i).response + TaskB(following(TaskA(i))).response < 7) = 1 Den sammanlagda responstiden för TaskA och efterföljande instans i TaskB ska alltid vara mindre än 7. Den sammanlagda responstiden för TaskA och motsvarande instans i TaskB ska alltid vara mindre än 7. P(TaskA(i), TaskA(i).response + TaskB(i).response < 7) = 1 TaskA012 TaskB01234 Tid
Obundna instanser Avbryts Vad är sannolikheten att TaskA avbryts av TaskB? P(TaskA(i), TaskB(k).start > TaskA(i).start AND TaskB(k).start < TaskA(i).end) = X TaskA TaskB01234 Tid
Obundna instanser Avbryts Avbryter Vad är sannolikheten att TaskB avbryter TaskA? Vad är sannolikheten att TaskA avbryts av TaskB? P(TaskA(i), TaskB(k).start > TaskA(i).start AND TaskB(k).start < TaskA(i).end) = XP(TaskB(k), TaskB(k).start > TaskA(i).start AND TaskB(k).start < TaskA(i).end) = X TaskA TaskB01234 Tid
Funktioner Makro för relativa instanser Därutöver… Många kombinationer
Framtid Göra om proberna Optimera evaluering