temporális logikák

38
2005.03.10. Formális módszerek az informatikában 2004/2005. 1 Temporális logikák Dr. Varró Dániel [email protected] (Dr. Majzik István fóliái) BME Méréstechnika és Információs Rendszerek Tanszék

Upload: blithe

Post on 13-Jan-2016

11 views

Category:

Documents


0 download

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 Presentation

TRANSCRIPT

Page 1: Temporális logikák

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

Page 2: Temporális logiká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

Page 3: Temporális logikák

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

Page 4: Temporális logikák

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

Page 5: Temporális logikák

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

Page 6: Temporális logikák

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

Page 7: Temporális logikák

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”, …

Page 8: Temporális logikák

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

Page 9: Temporális logikák

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

Page 10: Temporális logikák

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ó}

Page 11: Temporális logikák

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

Page 12: Temporális logikák

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ó}

Page 13: Temporális logikák

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”)

Page 14: Temporális logikák

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

Page 15: Temporális logikák

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

Page 16: Temporális logikák

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.

Page 17: Temporális logikák

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?

Page 18: Temporális logikák

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)

Page 19: Temporális logikák

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)

Page 20: Temporális logikák

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)

Page 21: Temporális logikák

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.

Page 22: Temporális logikák

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 ‘ ‘

Page 23: Temporális logikák

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

Page 24: Temporális logikák

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

Page 25: Temporális logikák

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

Page 26: Temporális logikák

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

Page 27: Temporális logikák

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

Page 28: Temporális logikák

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

Page 29: Temporális logikák

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).

Page 30: Temporális logikák

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))

Page 31: Temporális logikák

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))

Page 32: Temporális logikák

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)

Page 33: Temporális logikák

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!)

Page 34: Temporális logikák

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

Page 35: Temporális logikák

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

Page 36: Temporális logikák

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

Page 37: Temporális logikák

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

Page 38: Temporális logikák

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.