Budapest University of Technology and Economics Department of Measurement and Information Systems Monitor komponensek fejlesztése okostelefon platformra Szatmári Zoltán, Micskei Zoltán és Majzik István
Motiváció Okostelefonok elterjedtsége Új alkalmazási lehetőségek megjelenése Felmerülő adatbiztonsági problémák kezelése Online védelem és futásidejű ellenőrzés Adatforrások megbízhatóságának minősítése 2
Célkitűzések Kritikus alkalmazások támogatása o Szolgáltatásbiztonság és biztonságosság o Hibadetektálás, hatáselemzés, átkonfigurálás támogatása Monitorozási szolgáltatások o Hibadetektálás: Futásidőbeli jellemzők ellenőrzése Skálázható, elosztott megvalósítás (jellemzők lokalitása szerint) Hierarchikus (jellemzők hierarchiaszintje szerint) o Hibahatás elemzés Függőségek elosztott kezelése Szabály alapú ok-hatás analízis o Kontextus és erőforrás monitorozás Alternatívák nyilvántartása adaptív átkonfigurálás támogatásához 3
Monitorozási koncepció Alapszolgáltatás: o Platform szintű kontextus és erőforrás monitorozás Magasabb szintű szolgáltatások: o Követelmény alapú monitorozás Elosztott alkalmazások monitorozása: o Interakciós scenario leírása alapján származtatott lokális követelmények 4
Monitorozási koncepció 5 Monitorozandó alkalmazás Viselkedés követelményei: -Kontextus feltételek -Kommunikáció szabályok -Adatfeldolgozás szabályok Viselkedés követelményei: -Kontextus feltételek -Kommunikáció szabályok -Adatfeldolgozás szabályok Monitor Ellenőrző modulok Futtató modul Monitor szintézis a követelmények alapján Monitorozandó alkalmazás/réteg Monitor Ellenőrző modulok Futtató modul Monitor: -Ellenőrző modulok -Futtató modul
Elemi adathozzáférési lehetőségek OS adatok o CPU terheltség o Memóriafoglaltság o Futó folyamatok száma Szenzor adatok o Helyzet (Pl. GPS, cellainformáció) o Fényerő o Gyorsulás Platform adatok o Hálózati forgalom o Alkalmazások állapota 6
Események típusai Elemi események Származtatott események o Boole algebrai kifejésekkel definiált más események alapján Monitorok által generált események 7
Eseményhierarchia alkalmazása Esemény taxonómia kialakítása Általánosabb követelmény megfogalmazási lehetőség 8 Üzenet érkezett Új tartalmi üzenet Nyugta üzenet Pozíció változása GPS pozíció változása Cellainfo változása Általános esemény
Szabály alapú monitorok szintézise Egyszerűbb szituációk és forgatókönyvek leírására HA (feltétel) AKKOR (beavatkozások) típusú szabályok o Feltétel: logikai kifejezés: Elemi jellemzők Konstansok Relációs összehasonlítások o Beavatkozás Végrehajtható akciók sorozata Automatikus monitor szintézis 9 HA ((akku_töltöttség 80%)) AKKOR (alkalmazás_leállítás)
Temporális logika alapú monitorok szintézise Időbeli, viselkedési követelmények leírására o LTL variáns használata: Boole logikai operátorok X (következő állapotban), F (valamikor a jövőben), G (folyamatosan) és U (addig, amíg) időbeli operátorok Kontextus információ figyelembevétele Automatikus monitor szintézis a logikai kifejezés alapján o LTL kifejezés átalakítása ekvivalens lépésekkel o Logikai blokkok egymásba ágyazása o Háromértékű logika alkalmazása o Automatikus kódgenerálás 10
Temporális logika alapú monitorok szintézise 11 / P1P2 P1.t <= 5 P2.req(…) P1.resp(…) C1C1 C1 P1: App P3: AppP2: MApp connectedrequested P1 P1.t <= 5 P2.req(…) P1.resp(…) C1C1 (P1.t = t0 ∧ C1 ∧ P2.req(…)) F (P1.resp(…) ∧ P1.t <= t0 + 5)) Kontextus Ellenőrző modul EredményLekötések Következő AktuálisAktuális Lekötések Temporális kifejezés monitor szintézishez Ellenőrző modulok Elosztott scenario: Kezdeti kontextus, feltételek, elvárások Elosztott scenario lokális nézete:
Kontextus információ figyelembevétele 12 Kontextus metamodell (kontextus ontológia alapján) Előre definiálható kontextus konstansok (minták) Leköthető statikus kontextus változók Futásidőben: aktuális kontextus illesztése (ekvivalencia reláció) App MApp connected P1: App P2: MApp connected P3: App C1C1 P1: App P2: MApp connected P3: App C2C2 G (c ≈ C1 ∧ X disconnect() F( c ≈ C2))
Temporális logika alapú monitorok szintézise 13 Temporális operátorokhoz rendelt ellenőrző blokk típusok Monitorszintézis során generálva Futásidőben példányosíthatók: egy-egy új példány állapota többértékű logikában (néhány biten) rögzíthető Releváns változásokhoz köthető számú blokkra van szükség Futásidőben: Kiértékelés terjesztése a blokkok között Kontextus és idő változók lekötése A trace végén minden eredmény Boole-logikára képződik
Monitorozási architektúra 14 Szabály alapú követelmény LTL alapú követelmény Szabály alapú monitor generátor LTL monitor generátor Szabály alapú monitor LTL monitor Monitor futtató környezet és esemény busz Származtatott Esemény spec. Esemény képző generátor Esemény képző Esemény taxonómia Konfigurációs szabályok Monitor futtató generátor
Monitor futtató környezet és esemény busz Konfigurációs szabályok o Monitor komponensek elindítási és leállítási feltételei Esemény busz o Feliratkozás alapú esemény továbbítás o Eseményhierarchiának megfelelő csatornák 15
Összefoglalás Okostelefon platformok elemi információinak megfigyelése Formalizált követelmények alapján automatikus monitor szintézis Monitor architektúra kidolgozása A kutatást a BME VIKING Nonprofit Zrt részvételével az „Infokommunikációs technológiák és a jövő társadalma FuturICT.hu” című, TÁMOP C- 11/1/KONV azonosító számú kutatás-fejlesztési projekt támogatta. 16