1 / 38

Temporális logikák

Temporális logikák. Dr. Varró Dániel varro@mit.bme.hu (D r. Majzik István fóliái) BME Méréstechnika és Információs Rendszerek Tanszék. A verifikációs feladat. Verifikáció: „Jól tervezem-e a rendszert?” A terv (modell) eleget tesz-e a specifikációnak? Itt a specifikáció:

blithe
Download Presentation

Temporális logikák

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Temporális logikák Dr. Varró Dánielvarro@mit.bme.hu (Dr. Majzik István fóliái) BME Méréstechnika és Információs Rendszerek Tanszék Formális módszerek az informatikában 2004/2005.

  2. A verifikációs feladat Verifikáció: „Jól tervezem-e a rendszert?” • A terv (modell) eleget tesz-e a specifikációnak? • Itt a specifikáció: • Rendszerszintű, kiindulási specifikáció (követelmények) • Előző tervezési fázis kimenete A specifikációban szereplő követelmények: • Funkcionális, időbeli, megbízhatósági, … • Itt az állapotokra vonatkozó követelményeket vizsgáljuk Formális módszerek az informatikában 2004/2005.

  3. Állapotokra vonatkozó követelmények • Lokális: Egy-egy állapotra vonatkozó • Az adott állapotban eldönthető a teljesítése (az állapotváltozók értékei alapján) • Példa: A végállapotban legyen p>23. • Előfeltételek és utófeltételek • Elérhetőségi: Több állapot (sorrendjére) vonatkozó • Az állapottér vizsgálatával dönthető el a teljesítése(az elérhetőségi gráf vizsgálata szükséges) • Példa: Minden kiadott kérésre érkezzen válasz. • Folyamatosan működő rendszerekre is alkalmas • Tipikusak a biztonság és élőség követelményei Formális módszerek az informatikában 2004/2005.

  4. Biztonsági jellegű követelmények • Veszélyes, nemkívánatos helyzetek elkerülését fogalmazzák meg: • „A rendszer állapotai biztonságosak maradnak” • „Minden állapotban kisebb a tartály nyomása a kritikusnál” • Invariáns jellegű tulajdonság • Univerzális kvantor az állapotokon: • „Minden állapotban igaz, hogy …” • Induktívan vizsgálható az állapottérben Formális módszerek az informatikában 2004/2005.

  5. Biztonsági jellegű követelmények Példák: • Holtpontmentesség: Minden állapotban van futásra kész processz • Kölcsönös kizárás: Minden állapotra igaz, hogy nincs két vagy több processz egyszerre a kritikus szakaszban • Adatbiztonság:Minden állapotban igaz, hogy nincs jogosulatlan hozzáférés Formális módszerek az informatikában 2004/2005.

  6. Élő jellegű követelmények • Kívánatos helyzetek elérését írják elő • „A rendszer elér a stabil állapotba” • „A processz kiszámítja a várt értéket” • Egzisztenciális kvantor az állapotokon • „Létezik (elérhető) olyan állapot, hogy …” • Példák: • Kérés kiszolgálása megtörténik: A kérés után bekövetkezik olyan állapot, ahol a kiszolgálás történik • Elküldött üzenet megérkezése • A processz futó állapotba kerül Formális módszerek az informatikában 2004/2005.

  7. Követelmények leíró nyelve • Elérhetőség: Állapottéren értelmezhető • Lehetséges állapot-sorozatok: Sorrendiség • Megfeleltethetőség a logikai időnek: • Jelen időpillanat: Aktuális állapot • Következő időpillanat(ok): Rákövetkező állapot(ok) • Temporális (logikai időbeli, sorrendi) operátorok használhatók a követelmények kifejezésére • Temporális logikák: • Formális rendszer arra, hogy kijelentések igazságának logikai időbeli változását vizsgálhassuk • Temporális operátorok: „mindig”, „valamikor”, „addig amíg”, „azelőtt hogy”, „végtelen sokszor”, … Formális módszerek az informatikában 2004/2005.

  8. Temporális logikák osztályozása • Kijelentés- illetve elsőrendű logikák • Pont- illetve intervallum-logikák • Diszkrét- illetve folytonos idejű logikák • Lineáris illetve elágazó idejű logikák • Lineáris: Egymás utáni állapotok egy sorozatot alkotnak(minden állapotnak egy rákövetkezője van)→ logikai idő mint idővonal • Elágazó: Egymás utáni állapotok egy fa struktúrában(minden állapotnak több rákövetkezője lehet)→ logikai idő elágazó idővonalak mentén Formális módszerek az informatikában 2004/2005.

  9. Temporális logikák modellje Modell: Hol értelmezhetjük a temporális logikákat? • Eddigi célkitűzés: Állapottér vizsgálata • Állapotok lokális tulajdonságait címkézéssel vezetjük be Matematikai modell: Kripke-struktúra Formális módszerek az informatikában 2004/2005.

  10. {Zöld} {Sárga} {Piros} {Piros, Sárga} s1 s2 s3 s4 s5 {Villogó} Kripke-struktúra példa Közlekedési lámpa vezérlője • AP={Zöld, Sárga, Piros, Villogó} • S = {s1, s2, s3, s4, s5} Formális módszerek az informatikában 2004/2005.

  11. Kripke-struktúra származtatása • Petri-hálók: • Állapotok és átmenetek: Elérhetőségi gráf • Címkézés: Jelölések • Állapottérképek: • Állapotok és átmenetek: Állapot-konfigurációk, tüzelések • Címkézés: Állapotok nevei • Adatfolyam-hálók: • Állapotok és átmenetek: Csomópontok és csatornák állapotai, tüzelések • Címkézés: Állapotok nevei Formális módszerek az informatikában 2004/2005.

  12. {Zöld} {Sárga} {Piros} {Piros, Sárga} s1 s 2 s 3 s4 s5 {Villogó} Lineáris idejű temporális logikák • A Kripke-struktúra egy-egy útvonalán értelmezhetők • Egy-egy „futás” (pl. egy bemenet hatására) {Zöld} {Sárga} {Piros} {Piros, Sárga} s1 s 2 s 3 s4 Formális módszerek az informatikában 2004/2005.

  13. Egy lineáris idejű temporális logika PLTL (Propositional Linear Time Temporal Logic) • Atomi kijelentések (AP elemei) • Boole logikai operátorok:  (ÉS),  (VAGY),  (NEGÁLÁS) • Temporális operátorok: • F p: „Valamikor p”, egy elérhető állapotban igaz lesz p • G p: „Mindig p”, minden elérhető állapotban igaz lesz p • X p: „Következő p”, a következő állapotban igaz lesz p • p U q: „p amíg q”, egy elérhető állapotban igaz lesz q, és addig minden állapotban igaz p („strong until”) Formális módszerek az informatikában 2004/2005.

  14. Q P P P P P P P P P P P P P F P G P X P P U Q PLTL temporális operátorok Kripke-struktúra egy útvonala (idővonal) Formális módszerek az informatikában 2004/2005.

  15. PLTL példák • pF q ha az első állapotban p igaz, akkor valamikor előbb-utóbb q is igaz lesz • G(pF q) minden állapotban fennáll, hogy ha p igaz, akkor valamikor q is igaz lesz.Pl. bármikor kiadott p kérésre q válasz érkezik. • p U (q  r) p igaz, amíg q vagy r igaz nem lesz.Pl. az első állapotból kiadott folyamatos p kérésre q válasz vagy r elutasítás érkezik. • (p  G(p  X p))  G p mindig igaz kifejezés,a matematikai indukció formalizálása Formális módszerek az informatikában 2004/2005.

  16. PLTL példák • GF p minden állapotra igaz, hogy ebből indulva valamikor p igaz lesz. • Nem találunk olyan állapotot, ami után p nem érhető el. • Pl. minden állapotból a p tulajdonságú kezdőállapotba vihető a rendszer. • FG p valamikor olyan állapotba kerül a rendszer, hogy azontúl p folyamatosan igaz lesz. • Pl. kezdeti tranziens után a p tulajdonságú üzemi állapotokba kerül a rendszer. Formális módszerek az informatikában 2004/2005.

  17. PLTL nyelv formális kezelése • Az eddigiek csak informális bevezetést adtakKérdések vetődhetnek fel: • F p igaz-e, ha p rögtön az első állapotban igaz? • p U q igaz-e, ha q az első állapotban igaz? • Az automatikus ellenőrzést is lehetővé tevő precíz megadáshoz szükséges: • Formális szintaxis szabályok: Mik az érvényes PLTL kifejezések? • Formális szemantika szabályok: Adott modellen mikor igaz egy PLTL kifejezés? Formális módszerek az informatikában 2004/2005.

  18. PLTL formális szintaxis Az érvényes PLTL kifejezések halmaza a következő szabályokkal képezhető: • L1: Minden P atomi kijelentés egy kifejezés. • L2: Ha p és q egy-egy kifejezés, akkor pq illetve p is • L3: Ha p és q egy-egy kifejezés, akkor p U q illetve X p is Operátorok precedenciája növekvő sorrendben: ,,,,,(X,U) Formális módszerek az informatikában 2004/2005.

  19. „Kimaradt” operátorok • p  q jelentése (( p)(q))p  q jelentése (p)  qp  q jelentése (pq)(qp) • true jelentése p(p) (minden állapotra igaz), false jelentése p(p) (egy állapotra sem igaz) • F p jelentése true U pG p jelentése F(p) Formális módszerek az informatikában 2004/2005.

  20. Gyakran használt rövidítések • „Végtelen sokszor” operátor (infinitely often):Fp = GF p • „Csaknem mindenütt” operátor (almost always)Gp = FG p • „Mielőtt” operátor (before):p WB q = ((p) U q) (weak before)p B q = ((p) U q)  F q (strong before) Formális módszerek az informatikában 2004/2005.

  21. PLTL szemantika: Jelölések • M=(S, R, L) Kripke-struktúra • =(s0, s1, s2,…) az M egy útvonala, ahols0 a kezdőállapot és i≥0: (si, si+1)R. • i=(si, si+1, si+2,…) a  útvonal szuffixe i-től. • M,  p jelentése:az M modellben a  útvonalon igaz p. Formális módszerek az informatikában 2004/2005.

  22. PLTL szemantika A szintaxis szabályok alapján képzett kifejezésekhez megadható a formális szemantika: • L1: M,  P a.cs.a. PL(s0) • L2: M,  pq a.cs.a. M,  p és M,  qM,  q a.cs.a. M,  q nem igaz. • L3: M,  (p U q) a.cs.a. M,  X p a.cs.a. 1  p Formális módszerek az informatikában 2004/2005.

  23. Származtatott operátorok szemantikája • M,  F p a.cs.a. j: M,j p • M,  G p a.cs.a. j: M,j p • M,  p B q a.cs.a. j: (M,j q  k<j: M,k p) (strong before) • M,  Fp a.cs.a. k: j≥k: j p • M,  Gp a.cs.a. k: j>k: j p Formális módszerek az informatikában 2004/2005.

  24. {Zöld} {Sárga} {Piros} {Piros, Sárga} s1 s 2 s 3 s4 s5 {Villogó} PLTL kifejezések értelmezése: Példák • M Kripke-struktúra: • Útvonalak: {Sárga} {Zöld} {Sárga} {Piros} {Piros, Sárga} {Zöld} 1 s2 s1 s 2 s 3 s4 s1 {Villogó} {Zöld} {Villogó} {Piros} {Villogó} {Piros} 2 s5 s1 s 5 s 3 s5 s3 Formális módszerek az informatikában 2004/2005.

  25. Példák (folytatás) {Sárga} {Zöld} {Sárga} {Piros} {Piros, Sárga} {Zöld} • M,1Zöld, mert Zöld a kezdőállapot címkéje • M,1Piros, mert nem Piros a kezdőállapot címkéje • M,1 F Piros, mert elérhető olyan állapot, ahol Piros a címke,pontosabban: Van olyan szuffix, ahol Piros a kezdőállapot címkéje. • M,1Zöld U Piros,mert a Sárga közbeszól 1 s2 s1 s 2 s 3 s4 s1 Formális módszerek az informatikában 2004/2005.

  26. {Sárga} {Piros} {Piros, Sárga} {Zöld} 12 s2 s 3 s4 s1 Példák (folytatás) {Sárga} {Zöld} {Sárga} {Piros} {Piros, Sárga} {Zöld} • M,1 F (Piros U Zöld) igaz,mert van olyan szuffix, amire teljesül a (Piros U Zöld): 1 s2 s1 s 2 s 3 s4 s1 Formális módszerek az informatikában 2004/2005.

  27. {Villogó} {Zöld} {Villogó} {Piros} {Villogó} {Piros} 2 s5 s1 s 5 s 3 s5 s3 {Villogó} {Villogó} {Piros} {Villogó} {Piros} 21 s5 s 5 s 3 s5 s3 {Villogó} {Piros} {Villogó} {Piros} 22 s5 s 3 s5 s3 Példák (folytatás) • M,2 F (Villogó  X Piros),mert van olyan szuffix, hogy Villogó  X Piros igaz Formális módszerek az informatikában 2004/2005.

  28. {Villogó} {Zöld} {Villogó} {Piros} {Villogó} {Piros} 2 s5 s1 s 5 s 3 s5 s3 {Villogó} {Villogó} {Piros} {Villogó} {Piros} 21 s5 s 5 s 3 s5 s3 {Villogó} {Piros} {Villogó} {Piros} 22 s5 s 3 s5 s3 Példák (folytatás) • M,2 X F (XX Piros), mert az első szuffixre: M,21 F (XX Piros), mert 21-nek van olyan szuffixe, ahol XX Piros igaz: Formális módszerek az informatikában 2004/2005.

  29. Követelmények formalizálása: Példa Adott egy klímaberendezés, aminek a következő üzemmódokat kell biztosítania: AP={Kikapcsolva, Bekapcsolva, Elromlott, GyengénHűt, ErősenHűt, Fűt, Szellőztet} • Egy-egy állapothoz több címke tartozhat! • A követelményelemzés fázisában a teljes viselkedést még nem ismerjük (azt a követelményeknek megfelelően kell majd megterveznünk). Formális módszerek az informatikában 2004/2005.

  30. Példa (folytatás) AP={Kikapcsolva, Bekapcsolva, Elromlott, GyengénHűt, ErősenHűt, Fűt, Szellőztet} • A klímát be fogják kapcsolni:F (Bekapcsolva) • A klíma előbb-utóbb mindig (avagy tetsz. gyakran) elromlik:G F (Elromlott) • Ha a klíma elromlik, mindig megjavítják:G (Elromlott  F (Elromlott)) • Ha a klíma elromlott, nem fűthet:G ((Elromlott  Fűt)) Formális módszerek az informatikában 2004/2005.

  31. Példa (folytatás) AP={Kikapcsolva, Bekapcsolva, Elromlott, GyengénHűt, ErősenHűt, Fűt, Szellőztet} • A klíma csak bekapcsolva romolhat el:G ( X Elromlott  Bekapcsolva) • A fűtési fázis befejezése után rögtön szellőztetni kell:G ((Fűt  X(Fűt))  X (Szellőztet)) • A fűtési fázis befejezése után rögtön szellőztetni kell, feltéve, hogy a klíma még nem romlott el:G ((Fűt  X(Fűt))  X (Szellőztet  Elromlott)) Formális módszerek az informatikában 2004/2005.

  32. Példa (folytatás) AP={Kikapcsolva, Bekapcsolva, Elromlott, GyengénHűt, ErősenHűt, Fűt, Szellőztet} • Szellőztetés után mindaddig nem hűthet erősen, míg egy gyenge hűtéssel nem próbálkozott:G (Szellőztet  (ErősenHűt U GyengénHűt)) • Ekkor KÖTELEZŐ gyengén hűtenie szellőztetés után! • Szellőztetés után mindaddig nem hűthet erősen, míg egy gyenge hűtéssel nem próbálkozott:G (Szellőztet  ((ErősenHűt U GyengénHűt)  G GyengénHűt) Formális módszerek az informatikában 2004/2005.

  33. Összefoglalás • Követelmények megfogalmazása • Temporális logikák • Lineáris idejű temporális logikák • PLTL • Operátorok (intuitív) • Formális szintaxis • Formális szemantika • PLTL kifejezések értelmezése • Követelmények formalizálása • Modell ellenőrzés (részletesen később!) Formális módszerek az informatikában 2004/2005.

  34. Modell ellenőrzés Ha nincs útvonal megadva, akkor a kezdőállapotból induló minden útra ellenőriz! Kripke-struktúra M PLTL kifejezés p Modell ellenőrző: M,  p ? n i OK Ellenpélda Formális módszerek az informatikában 2004/2005.

  35. SPIN modell ellenőrző Útvonalak kezelése PLTL operátorok jelölése: F megfelelője <> G megfelelője [] (X operátor nem található) Címkék a modell állapotváltozói segítségével definiálhatók Formális módszerek az informatikában 2004/2005.

  36. PLTL modell kiterjesztése LTS-re • LTS, Labeled Transition System • Állapotátmenetek címkézhetők egy-egy ún. akcióval,egy átmeneten csak egy akció szerepelhet • Állapotátmenetek tulajdonságait fejezzük ki Formális módszerek az informatikában 2004/2005.

  37. LTS példák pénz pénz pénz kávé tea kávé tea Formális módszerek az informatikában 2004/2005.

  38. PLTL értelmezése LTS-en A struktúra bővülése: •  = (s0, a1, s1, a2, s2, a3, …) A szintaxis módosítása: • L1*: Ha a egy akció, akkor (a) egy PLTL kifejezés. A kapcsolódó szemantikai szabály: • L1*: M,  (a) a.cs.a. a1=aahol a1 az első akció -ben. Ilyen módon üzenetküldéssel kommunikáló rendszerek tulajdonságai is megfogalmazhatók. Formális módszerek az informatikában 2004/2005.

More Related