Jan Carlson |
HÄNDELSEMÖNSTER A + B Både A och B sker A ; B Först sker A sedan B A v B A eller B sker A – B A sker och B sker inte under tiden AT A sker inom ett tidsintervall kortare än T |
Uttrycket ((A + B)2 min ; C) – (D v E) betyder som exempel följande: ”A och B sker inom en tidsrymd av två minuter. Därefter sker C. Och alltsammans utan att vare sig D eller E inträffar under tiden”.
En ”händelsealgebra” av det här slaget har potential att göra livet enklare för programmerare som exempelvis bygger styrsystem som reagerar på komplexa händelser.
Men än är det ett tag kvar från Jan Carlsons arbete till produktionsfärdiga verktyg.
Mitt i förberedelsen för disputationen tar sig Jan Carlson tid att svara på några frågor från Elektroniktidningen.
Finns verktyg för den som vill testa din algebra?
– Det finns en prototypimplementation för själva detektionen, men inget utvecklingsverktyg eller produkt som direkt kan användas av utomstående, säger Jan Carlson.
– Projektet har fokuserat på de teoretiska aspekterna av problemet.
Hur arbetar programmerare idag när de ska detektera komplexa händelser?
– För inbyggda system är det nog i praktiken vanligast med någon form av tillståndsmaskin. Från forskningshåll finns till exempel real-time logic (RTL) av Mok och Liu, men jag vet inte hur mycket det används ute i verkligheten, säger Jan Carlson.
– En metod som används en del för monitorering av riktigt stora system som tele- och elnät, är Chronicle recognition. Men då handlar det inte om programutveckling, utan om övervakning.
Är din algebra tillräckligt enkel för att vanliga dödliga programmerare ska våga använda den utan att riskera att tänka fel?
– Jag hoppas det. Operatorerna är enkla, och den formella betydelsen ska ligga nära den intuitiva betydelsen av motsvarande informella begrepp.
Är algebran mer komplex än man vanligen har nytta av?
– Jag vet inte. Det beror också på vad du menar med komplex. I vissa fall är den säkert det. Till exempel om mönstren är riktigt enkla, så klarar man sig antagligen med ad hoc-detektion.
Kan man inte komma ganska långt med tillståndsmaskiner, som har bra verktygsstöd och enkel semantik?
– Jo, i många fall är det antagligen tillräckligt.
– Men det man får om man använder algebran är bland annat en mer deklarativ specifikation av mönstren. Det är kanske mindre intressant om mönstren är enkla. Men komplicerade mönster kan ge tillståndsmaskiner som är svåra att förstå, speciellt om de innefattar icke-förekomst av vissa mönster, som ”A följt av B utan att X följt av Y inträffar däremellan”.
– Och så får man bättre stöd för att detektera mönsterförekomster som delvis överlappar. En tillståndsmaskin som måste hålla reda på flera ”delvis uppfyllda” mönster blir snabbt komplicerad.
Hur stor betydelse kommer din händelsealgebra att få i praktiken?
– Det är svårt att svara på, eftersom det inte finns någon praktisk utvärdering än. Det man kan säga är att min metod har ett antal väl dokumenterade goda egenskaper, och för problem där dessa egenskaper är tillräckligt viktiga borde metoden vara användbar.
Vad gör du efter doktorsexamen?
– Jag kommer att forska vidare här på Mälardalens högskola, men inte som en direkt fortsättning på det här projektet. Istället kommer jag att arbeta med komponentbaserad utveckling av inbyggda system, inom projektet Progress.