temporális logikák
DESCRIPTION
Temporális logikák. Dr. Varró Dániel [email protected] (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ó: - PowerPoint PPT PresentationTRANSCRIPT
2005.03.10. Formális módszerek az informatikában 2004/2005. 1
Temporális logikák
Dr. Varró Dá[email protected]
(Dr. Majzik István fóliái)
BME Méréstechnika és Információs Rendszerek
Tanszék
2005.03.10. 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
2005.03.10. 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
2005.03.10. 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
2005.03.10. 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
2005.03.10. 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
2005.03.10. 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”, …
2005.03.10. 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
2005.03.10. 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
1 2 3 n
( , , ) és , ahol
AP= P,Q,R,... atomi kijelentések halmaza (domén-specifikus)
S= s ,s ,s ,...s állapotok halmaza
R S S: állapotátmeneti reláció
L: S 2 állapotok címkézése atomi kijelentésekkelAP
KS S R L AP
2005.03.10. Formális módszerek az informatikában 2004/2005. 10
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}
s2s1 s3 s4
s5
{Zöld} {Sárga} {Piros} {Piros, Sárga}
{Villogó}
2005.03.10. 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
2005.03.10. Formális módszerek az informatikában 2004/2005. 12
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)
s2 s1 s3
{Zöld} {Sárga} {Piros}
s4
{Piros, Sárga}
s5
s2 s1 s3 s4
{Zöld} {Sárga} {Piros} {Piros, Sárga}
{Villogó}
2005.03.10. 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”)
2005.03.10. Formális módszerek az informatikában 2004/2005. 14
PLTL temporális operátorok Kripke-struktúra egy útvonala (idővonal)
PF P
P P P P PG P
PX P
P P P P QP U Q
P P
2005.03.10. Formális módszerek az informatikában 2004/2005. 15
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
2005.03.10. 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.
2005.03.10. 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?
2005.03.10. 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 pq illetve p is• L3: Ha p és q egy-egy kifejezés,
akkor p U q illetve X p isOperátorok precedenciája növekvő
sorrendben:,,,,,(X,U)
2005.03.10. 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 (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)
2005.03.10. Formális módszerek az informatikában 2004/2005. 20
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)
2005.03.10. 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, ahol s0 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.
2005.03.10. 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. PL(s0)
• L2: M, pq a.cs.a. M, p és M, q M, q a.cs.a. M, q nem igaz.
• L3: M, (p U q) a.cs.a.
M, X p a.cs.a. 1 p
0 : ( valamint 0 k<j: )j kj q p ‘ ‘
2005.03.10. 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, Fp a.cs.a. k: j≥k: j p• M, Gp a.cs.a. k: j>k: j p
2005.03.10. Formális módszerek az informatikában 2004/2005. 24
PLTL kifejezések értelmezése: Példák
• M Kripke-struktúra:
• Útvonalak:
s5
s2 s1 s3 s4
{Zöld} {Sárga} {Piros} {Piros, Sárga}
{Villogó}
s2 s1 s3
{Zöld} {Sárga} {Piros}
s4
{Piros, Sárga}
s1
{Zöld}
s2
{Sárga}
1
s5s1 s3
{Zöld} {Villogó} {Piros}
s5
{Villogó}
s3
{Piros}
s5
{Villogó}
2
2005.03.10. Formális módszerek az informatikában 2004/2005. 25
Példák (folytatás)
• 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
s2 s1 s3
{Zöld} {Sárga} {Piros}
s4
{Piros, Sárga}
s1
{Zöld}
s2
{Sárga}
1
2005.03.10. Formális módszerek az informatikában 2004/2005. 26
Példák (folytatás)
• M,1 F (Piros U Zöld) igaz,mert van olyan szuffix, amire teljesül a (Piros U Zöld):
s2 s1 s3
{Zöld} {Sárga} {Piros}
s4
{Piros, Sárga}
s1
{Zöld}
s2
{Sárga}
1
s3
{Piros}
s4
{Piros, Sárga}
s1
{Zöld}
s2
{Sárga}
12
2005.03.10. Formális módszerek az informatikában 2004/2005. 27
Példák (folytatás)
• M,2 F (Villogó X Piros),mert van olyan szuffix, hogy Villogó X Piros igaz
s5s1 s3
{Zöld} {Villogó} {Piros}
s5
{Villogó}
s3
{Piros}
s5
{Villogó}
2
s5 s3
{Villogó} {Piros}
s5
{Villogó}
s3
{Piros}
s5
{Villogó}
21
s3
{Piros}
s5
{Villogó}
s3
{Piros}
s5
{Villogó}
22
2005.03.10. Formális módszerek az informatikában 2004/2005. 28
Példák (folytatás)
• M,2 X F (XX Piros), mert az első szuffixre:
s5s1 s3
{Zöld} {Villogó} {Piros}
s5
{Villogó}
s3
{Piros}
s5
{Villogó}
2
s5 s3
{Villogó} {Piros}
s5
{Villogó}
s3
{Piros}
s5
{Villogó}
21
M,21 F (XX Piros), mert
21-nek van olyan szuffixe, ahol XX Piros igaz:
s3
{Piros}
s5
{Villogó}
s3
{Piros}
s5
{Villogó}
22
2005.03.10. 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).
2005.03.10. 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))
2005.03.10. 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))
2005.03.10. 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)
2005.03.10. 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!)
2005.03.10. Formális módszerek az informatikában 2004/2005. 34
Modell ellenőrzés
Kripke-struktúra M PLTL kifejezés p
Modell ellenőrző:M, p ?
OK Ellenpélda
Ha nincs útvonal megadva, akkor a kezdőállapotból induló minden útra
ellenőriz!
i n
2005.03.10. Formális módszerek az informatikában 2004/2005. 35
SPIN modell ellenőrző
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
Útvonalak kezelése
2005.03.10. 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
1 2 n
1 2
( , , ), ahol
S= s ,s ,...s állapotok halmaza
Act= a,b,c,... akciók (címkék) halmaza
S Act címkézett állapotátmenetek.
Állapotátmenetek szokásos jelölése: s sa
LTS S Act
S
2005.03.10. Formális módszerek az informatikában 2004/2005. 37
LTS példák
pénz
kávé tea
pénz pénz
kávé tea
2005.03.10. 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=a
ahol a1 az első akció -ben.
Ilyen módon üzenetküldéssel kommunikáló rendszerek tulajdonságai is megfogalmazhatók.