380 likes | 463 Vues
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ó:
E N D
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.
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.
Á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.
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.
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.
É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.
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.
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.
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.
{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.
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.
{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.
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.
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.
PLTL példák • pF q ha az első állapotban p igaz, akkor valamikor előbb-utóbb q is igaz lesz • G(pF 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.
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.
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.
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 pq 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.
„Kimaradt” operátorok • p q jelentése (( p)(q))p q jelentése (p) qp q jelentése (pq)(qp) • 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.
Gyakran használt rövidítések • „Végtelen sokszor” operátor (infinitely often):Fp = GF p • „Csaknem mindenütt” operátor (almost always)Gp = 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.
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.
PLTL szemantika A szintaxis szabályok alapján képzett kifejezésekhez megadható a formális szemantika: • L1: M, P a.cs.a. PL(s0) • L2: M, pq 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.
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, Fp a.cs.a. k: j≥k: j p • M, Gp a.cs.a. k: j>k: j p Formális módszerek az informatikában 2004/2005.
{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.
Példák (folytatás) {Sárga} {Zöld} {Sárga} {Piros} {Piros, Sárga} {Zöld} • M,1Zöld, mert Zöld a kezdőállapot címkéje • M,1Piros, 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,1Zö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.
{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.
{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.
{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.
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.
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.
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.
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.
Ö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.
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.
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.
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.
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.
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.