33
2005.03.17. Formális módszerek az informatikában 2004/2005. 1 Állapotegyenlet alkalmazásai validációban és verifikációban Varró-Gyapay Szilvia gyapay @mit.bme.hu BME Méréstechnika és Információs Rendszerek Tanszék Dr. Pataricza András fóliái alapján

Állapotegyenlet alkalmazásai validációban és verifikációban

Embed Size (px)

DESCRIPTION

Állapotegyenlet alkalmazásai validációban és verifikációban. Varró-Gyapay Szilvia gyapay @mit.bme.hu BME Méréstechnika és Információs Rendszerek Tanszék Dr. Pataricza Andr ás fóliái alapján. Bevezető. Eredet Modális logika: filozófusok találmánya a lehetséges igazságok vizsgálata - PowerPoint PPT Presentation

Citation preview

Page 1: Állapotegyenlet alkalmazásai  validációban és verifikációban

2005.03.17. Formális módszerek az informatikában 2004/2005. 1

Állapotegyenlet alkalmazásai validációban és verifikációban

Varró-Gyapay [email protected]

BME Méréstechnika és Információs Rendszerek

Tanszék

Dr. Pataricza András fóliái alapján

Page 2: Állapotegyenlet alkalmazásai  validációban és verifikációban

2005.03.17. Formális módszerek az informatikában 2004/2005. 2

Bevezető

Eredet• Modális logika:

– filozófusok találmánya – a lehetséges igazságok vizsgálata

• Temporális logika: – a modális logika egy formális rendszere– kijelentések igazságának időbeli változásának

vizsgálata

Page 3: Állapotegyenlet alkalmazásai  validációban és verifikációban

2005.03.17. Formális módszerek az informatikában 2004/2005. 3

Használat

• Specifikáció, verifikáció és programhelyesség bizonyítása

• Implementációfüggetlen leírás – tulajdonságok, – követelmények.

• Alkalmazási kör:– rendszerek: a bemenetek és a kimenetek

kapcsolata • pl. folyamatosan működő, reaktív rendszerek,• protokollok, • operációs rendszerek.

Page 4: Állapotegyenlet alkalmazásai  validációban és verifikációban

2005.03.17. Formális módszerek az informatikában 2004/2005. 4

Temporális logikák osztályozása

Temporális kijelentés logika

• Atomi kijelentések• Logikai műveletek• Temporális operátorok

Page 5: Állapotegyenlet alkalmazásai  validációban és verifikációban

2005.03.17. Formális módszerek az informatikában 2004/2005. 5

Atomi kijelentések

Atomi kijelentések tartalmazhatnak:• Változók, konstansok• Függvények, prédikátumok• Kvantorok (,)

Page 6: Állapotegyenlet alkalmazásai  validációban és verifikációban

2005.03.17. Formális módszerek az informatikában 2004/2005. 6

Lineáris idejű temporális logika

• A (logikai) idő lineárisan halad: – minden állapotnak (időpillanatnak)

csak egy jövőbeli, rákövetkező állapota (időpillanata)

• Lineáris idő-szemantika, – az állapotok egy idővonal mentén követik

egymást

Page 7: Állapotegyenlet alkalmazásai  validációban és verifikációban

2005.03.17. Formális módszerek az informatikában 2004/2005. 7

Elágazó idejű temporális logika (BTL)

• A (logikai) idő elágazik: – egy állapotból (időpillanatból)

• többféle rákövetkező állapot, • többféle jövőbeli viselkedés

• Az idő szemantikája elágazó, – állapotok faszerűen elágazó idővonalak mentén

• Kvantorok az elágazó idővonalakra is

Page 8: Állapotegyenlet alkalmazásai  validációban és verifikációban

2005.03.17. Formális módszerek az informatikában 2004/2005. 8

Pont vagy intervallum logika

• Pont logika: – a temporális operátorok kiértékelése egy-egy

időpillanatban

• Intervallum logika: – a temporális operátorok időintervallumokra

definiáltak

Page 9: Állapotegyenlet alkalmazásai  validációban és verifikációban

2005.03.17. Formális módszerek az informatikában 2004/2005. 9

Múlt illetve jövő kezelése

• Általában a jövőbeli események leírása – Vizsgálat: a rendszerek kezdőállapotából indulva

• Múltbeli eseményekre való hivatkozás – egyes követelmények leírását megkönnyíti

Page 10: Állapotegyenlet alkalmazásai  validációban és verifikációban

2005.03.17. Formális módszerek az informatikában 2004/2005. 10

Lineáris temporális logika

Időkezelés:• diszkrét idő

– diszkrét, digitális rendszerek leírására;– izomorf a természetes számokkal (növekvő

sorrendezés)

• létezik megelőzőek nélküli kezdő időpillanat– rendszerek indítása

• a jövő végtelen – folyamatosan működő rendszerek

Page 11: Állapotegyenlet alkalmazásai  validációban és verifikációban

2005.03.17. Formális módszerek az informatikában 2004/2005. 11

Jelölésrendszer

• AP az atomi kijelentések halmaza (P, Q, P1, Q’, stb.)

• M=(S,x,L) lineáris időstruktúra, ahol S az állapotok halmazax : S S az állapotok végtelen sorozata (útvonal, idővonal)L : S (AP) az egyes állapotok címkézése azokkal az atomi kijelentésekkel, amelyek az adott állapotban érvényesek

Page 12: Állapotegyenlet alkalmazásai  validációban és verifikációban

2005.03.17. Formális módszerek az informatikában 2004/2005. 12

Temporális operátorok

• valamikor p, jelölése Fp (p valamikor a jövőben igaz lesz);

• mindig p, jelölése Gp (p mindig igaz)• következő p, jelölése Xp (p a következő

pillanatban igaz)• P amíg q, jelölése pUq (p igaz, amíg q nem

lesz)

Page 13: Állapotegyenlet alkalmazásai  validációban és verifikációban

2005.03.17. Formális módszerek az informatikában 2004/2005. 13

Temporális logikák jelentése

Page 14: Állapotegyenlet alkalmazásai  validációban és verifikációban

2005.03.17. Formális módszerek az informatikában 2004/2005. 14

Részleges döntés

S általánosítottrendszer felülről

kompatibilis

RendszerB specifikációja

T teljesülTeljesíti

T

Nem teljesítiT

Hamismegoldás

Page 15: Állapotegyenlet alkalmazásai  validációban és verifikációban

2005.03.17. Formális módszerek az informatikában 2004/2005. 15

Előny

• a fedést a szükséges feltétel garantálja• ha S-ben nem sérül a kívánt T tulajdonság,

akkor B-ben sem• ha S-ben sérül a kívánt T tulajdonság,

akkor nincs döntés:– vagy ellenpélda (B-ben van)– vagy hamis ellenpélda (Ha S-ben van).

Az S fedő probléma esetleg könnyebben megoldható, mint az eredeti B

Page 16: Állapotegyenlet alkalmazásai  validációban és verifikációban

2005.03.17. Formális módszerek az informatikában 2004/2005. 16

Petri-hálók: közelítő megoldások

Indirekt példát keresünk!Írjuk fel az ellenpélda szekvencia algebrai

jellemzőit!

– állapotegyenlet– peremfeltételek– és a CÉL negáltja

és lássuk be, hogy nincsen ilyen!

Page 17: Állapotegyenlet alkalmazásai  validációban és verifikációban

2005.03.17. Formális módszerek az informatikában 2004/2005. 17

Korlátosság vizsgálata

Ha PN(N, M0) korlátos és elakadásmentes, tüzelhető T-invariáns, melyre

T 0, 0

T T

Page 18: Állapotegyenlet alkalmazásai  validációban és verifikációban

2005.03.17. Formális módszerek az informatikában 2004/2005. 18

Korlátosság vizsgálata

Ha PN(N, M0) korlátos és elakadásmentes, tüzelhető T-invariáns, melyre

• A korlátosság miatt az állapottér véges.• Az elakadásmentesség miatt van egy

M0-ból induló végtelen tüzelési sorozat.

• Ebben a végesség miatt vanismétlődő állapot.

• A szekvencia T invariáns.

T 0, 0

T T

0' ( , )M R N M

: ' '

T M M

Page 19: Állapotegyenlet alkalmazásai  validációban és verifikációban

2005.03.17. Formális módszerek az informatikában 2004/2005. 19

Következmény

ha nincsen ilyen T-invariáns a korlátos hálóban, a hálózat minden úton elakad (nincs ciklusa).

Page 20: Állapotegyenlet alkalmazásai  validációban és verifikációban

2005.03.17. Formális módszerek az informatikában 2004/2005. 20

Élőség vizsgálata

Ha PN(N, M0) élő, korlátos tüzelhető T-invariánsa, melyre .

T

: ( ) 0

Tt T t

Page 21: Állapotegyenlet alkalmazásai  validációban és verifikációban

2005.03.17. Formális módszerek az informatikában 2004/2005. 21

Gondolatmenet

Ha PN(N, M0) élő, korlátos olyan tüzelési szekvencia amelyikben minden tT tranzíció sokszor előfordul

• Élőség miatt minden állapotból létezik tüzelési szekvencia, amely minden tranzíciót tartalmaz.

• Ezen tüzelési szekvenciákat követve a bejárt végállapotok között a végesség miatt van ismétlődő állapot.

• Ezen ismétlődő állapotok közötti tüzelési szekvenciának pontosan egy olyan T-invariáns felel meg, amelyre

0

T

0' ( , )M R N M

Page 22: Állapotegyenlet alkalmazásai  validációban és verifikációban

2005.03.17. Formális módszerek az informatikában 2004/2005. 22

Következmény

• Ha nincs ilyen T-invariáns a korlátos hálóban, akkor a háló nem élő.

• Ha egy tT tranzíció nincs benne egyetlen T-invariánsban sem – nincs benne egyetlen ciklusban sem – csak véges sokszor tüzelhet.

Page 23: Állapotegyenlet alkalmazásai  validációban és verifikációban

2005.03.17. Formális módszerek az informatikában 2004/2005. 23

Összefüggőség

Minden összefüggő Petri-háló, amelynek van• egy pozitív T és• egy pozitív P-invariánsa,

erősen öszefüggő.

Page 24: Állapotegyenlet alkalmazásai  validációban és verifikációban

2005.03.17. Formális módszerek az informatikában 2004/2005. 24

Összefüggőség

• A pozitív P-invariáns miatt a háló korlátos nincs benne forrás tranzíció minden tranzíciónak van bemeneti helye.

• Pozitív T-invariáns minden tranzícióból minden tranzíció elérhető minden bemenő helyről elérhető minden tranzíció.

• Tfh. létezik olyan hely, amelynek nincs kimenő tranzíciója pozitív T-invariáns miatt ezen a helyen sem változhat meg az invariáns tüzelése során a tokenek száma ellentmondás.

Page 25: Állapotegyenlet alkalmazásai  validációban és verifikációban

2005.03.17. Formális módszerek az informatikában 2004/2005. 25

Biztos Petri-háló

Biztos:Tüzelési feltétel:(Jelölés: pontosan azokban a pozíciókban

1, ahol a Z-beli elemek vannak.)

0( , ) : : ( ) 1 M R N M p P M p

t M t Z

Page 26: Állapotegyenlet alkalmazásai  validációban és verifikációban

2005.03.17. Formális módszerek az informatikában 2004/2005. 26

Tények

Kérdés: igaz-e, hogy

• valamely PN(N, M0) biztos Petri-hálóban

• minden teljes és véges tüzelési szekvencia (teljes szekvencia: nincsen újabb tüzelés)

végrehajt egy -beli tüzelést.Példa: Igaz-e, hogy a villamosjegy-automata, ha

bedobom a 100 Ft-ost• kiad egy jegyet• vagy visszaadja a pénzt.

Z T

Page 27: Állapotegyenlet alkalmazásai  validációban és verifikációban

2005.03.17. Formális módszerek az informatikában 2004/2005. 27

Tények algebrai vizsgálata

Legyen PN(N, M0) biztos, súlyozatlan Petri-háló, melynek:

• a belső tranzíciói: {t1…tb},

• a cél: • minden teljes és véges tüzelési

szekvencia végrehajt egy -beli tüzelést, ha az

Z T

Z T

Page 28: Állapotegyenlet alkalmazásai  validációban és verifikációban

2005.03.17. Formális módszerek az informatikában 2004/2005. 28

Feltétel

0

1 0 1

0

0

0

0

b b

M W

Z

t M W t

t M W t

állapotegyenlet

tüzelési szám vektor

nincs tZ tüzelés -ben

t1 nem tüzelhető

tb nem tüzelhető

1 0 0 M M W

Az egyenletnek nincsen megoldása a nemnegatív egészek felett.

Page 29: Állapotegyenlet alkalmazásai  validációban és verifikációban

2005.03.17. Formális módszerek az informatikában 2004/2005. 29

Feltételes célok

Kérdés: Igaz-e, hogy valamely PN(N, M0) biztos, Petri-hálóban minden teljes és véges tüzelési szekvencia,

• ha végrehajt egy vagy több Z T –beli tüzelést,

• utána biztosan végrehajt Z’ T –beli tüzelést is?

• Példa: ha valamelyik lakótársam vacsorázik, elmosogat-e utána?

• Lineáris temporális logikai kifejezés átfogalmazása!

Page 30: Állapotegyenlet alkalmazásai  validációban és verifikációban

2005.03.17. Formális módszerek az informatikában 2004/2005. 30

Tétel (indirekt)

PN(N, M0) biztos, súlyozatlan Petri-háló, melynek

• A tranzíciói:{t1,…,tb},

• Minden teljes és véges tüzelési szekvencia, ha végrehajt Z T –beli tüzelést, utána biztosan végrehajt Z’ T –beli tüzelést is, ha az

Page 31: Állapotegyenlet alkalmazásai  validációban és verifikációban

2005.03.17. Formális módszerek az informatikában 2004/2005. 31

Feltétel

0 1

1

1 1

1 0 1 1

0 1

0 2

2

2 2

0

0

'

0

0

'

b b

M W

Z Z

t M W t

t M W t

M W

Z Z

1 0 1 0 M M W

1 tüzelési szám

t1 nem tüzelhető

…tb nem tüzelhető

2 tüzelési szám

2 0 2 0 M M W

Az egyenletrendszernek sem 1 sem 2 megoldása nem létezik.

Page 32: Állapotegyenlet alkalmazásai  validációban és verifikációban

2005.03.17. Formális módszerek az informatikában 2004/2005. 32

Bizonyítás

Legyen egy olyan -beli tüzelést végrehajtó teljes szekvencia, ami nem hajt végre -beli tüzelést.

1.eset: Ha valamely kezdetében többször fordul elő Z’-beli tüzelés, mint Z-beli megoldás.

2. eset: Ha nem,– Akkor minden kezdetében

– Abban is, amely a Z-beli tüzelést pont megelőzi

– Azt is figyelembe véve

0

M M

Z T'Z T

*

2* ' * *

Z Z

*

* ' *Z Z

* ' *Z Z

* ' *Z Z

Page 33: Állapotegyenlet alkalmazásai  validációban és verifikációban

2005.03.17. Formális módszerek az informatikában 2004/2005. 33

+1 tétel

Ha egy Petri-hálónak van pozitív P-invariánsa, akkor a háló korlátos.

(Biz: a P-invariáns által meghatározott súlyozott összeg felső korlát a helyeken levő tokenek számára.)

A megfordítása nem igaz!!!