25
1 Formal na verifi k a cija provjerom modela I = Implementacija (model sustava koji želimo verificirati) S = Specifikacija željenog ponašanja izražena u vremenskoj logici CTL ili LTL . Sustav za verifikac iju DA, implementacija zadovoljava specifikaciju NE, implementacija ne zadovoljava specifikaciju (i ispis pogrešnog ponašanja) zadovoljava = logička zadovoljivost (engl. satisfiability) I = S (automatizir ani alat)

Formal na verifi k a cija provjerom modela

  • Upload
    porter

  • View
    64

  • Download
    0

Embed Size (px)

DESCRIPTION

Formal na verifi k a cija provjerom modela. DA, implementacija zadovoljava specifikaciju. I = Implementa cija ( model sustava koji želimo verificirati ). Sustav za verifikaciju. N E, implementacija ne zadovoljava specifikaciju ( i ispis pogrešnog ponašanja ). (automatizirani alat). - PowerPoint PPT Presentation

Citation preview

Page 1: Formal na  verifi k a cija provjerom modela

1

Formalna verifikacija provjerom modela

I = Implementacija (model sustava koji želimo verificirati)

S = Specifikacija željenog ponašanja izražena u vremenskoj logici

CTL ili LTL.

Sustav za verifikaciju

DA, implementacija zadovoljava specifikaciju

NE, implementacija ne zadovoljava specifikaciju (i ispis pogrešnog ponašanja)

zadovoljava = logička zadovoljivost (engl. satisfiability)

I = S

(automatizirani alat)

Page 2: Formal na  verifi k a cija provjerom modela

2

PROPOZICIJSKA LINEARNA VREMENSKA LOGIKA

(engl. Propositional Linear Temporal Logic)

PLTL (najčešće samo LTL)

Pretpostavka primjene (vrijede i za CTL):

• Promatramo sustave koji se mogu modelirati strojevima s konačnim brojem stanja.

• Promatramo reaktivne programe (neterminirajuće) – kontinuirano reagiraju na okolinu (operacijski sustavi, sustavi upravljanja procesima i sl.).

• Analiza ponašanja duž potencijalno beskonačnih putova izvođenja (engl. computations).

Page 3: Formal na  verifi k a cija provjerom modela

3

Kontekst CTL vremenske logike:

• Kripke struktura (model M) promatra se kao beskonačno stablo počevši od početnog stanja s0 (“stablo se odmota”).

• U svakom stanju moguć je prijelaz u jedno od mogućih više stanja.• Eksplicitno se kvantificiraju svi putovi izvođenja ( A ) ili barem jedan

put izvođenja ( E ).• Formula CTL vremenske logike je istinita ako je istinita barem za jedan

put izvođenja (E) ili za sve putove izvođenja (A).

si

sk

Page 4: Formal na  verifi k a cija provjerom modela

4

s0

s1 s2

p, q

q, r r

p, q

q, r

p, q

q, r

r

rr

r r

S0 - početno stanje

s2

s2

s1

s0

s1 s2s2

s2

t0

t1

t2

t3

Primjer modela:

sekvenca 1 sekvenca 2

Page 5: Formal na  verifi k a cija provjerom modela

5

Kontekst LTL vremenske logike:

• Kripke struktura (model M) se dekomponira u pojedinačne beskonačne sekvence - putove izvođenja programa.

• Ponašanje sustava je kolekcija beskonačnih sekvenci prijelaza (engl. infinite transition sequences) stanja.

• Svako stanje u pojedinoj sekvenci ima samo jednog sljedbenika.

sekvenca 1: s0 s1 s0 s1 s0 s1 …sekvenca 2: s0 s1 s2 s2 s2 s2 …sekvenca n: . . .

• LTL formula je istinita za neki sustav (Kripke strukturu) ako vrijedi za sve pojedinačne putove izvođenja (za sve sekvence) toga sustava. Kvantifikator “A” je implicitan. Nema kvantifikatora “E”.

• Jedna beskonačna sekvenca s početnim stanjem i označavanjem propozicijskih simbola koji vrijede u pojedinim stanjima je Linearna vremenska struktura.

• LTL formule se interpretiraju po beskonačnim sekvencama – putovima izvođenja (linearnim vremenskim strukturama).

Page 6: Formal na  verifi k a cija provjerom modela

6

LTL definicija linearne vremenske strukture

• Vremenska crta (engl. time line), put, izvođenje, izračunavanje.Vremenska crta je totalno uređen skup stanja {S,<} (diskretan, početni trenutak bez prethodnika, beskonačan u budućnost).

• AP: skup atomičkih propozicijskih simbola

• Linearna vremenska struktura dana je trojkom = (S, x, L)S: konačan skup stanjax: N S beskonačna sekvenca stanja (x = s0, s1, ...)L: S 2AP označavanje stanja skupom propozicijskih simbola.

Primjer:

Page 7: Formal na  verifi k a cija provjerom modela

7

LTLU sustavu promatramo linearne vremenske strukture.

Uporaba vremenskih operatora (bez kvantifikatora):

Fp ( “sometime p”, “eventually p”, “finally p”) - konačnoGp ( “always p”, “henceforth p”) - uvijekXp ( “next time p”) - u slijedećem korakupUq (“p until q”) - p dok q

Provjera modela: provjeravamo sve zasebne putove u Kripke strukturi (kvantifikator A je implicitan).

Page 8: Formal na  verifi k a cija provjerom modela

8

LTL – Formalna sintaksa - 1

(1) Atomičke propozicije su formule.(2) Ako su p i q formule, tada

p q, ¬p , p U q, Xp su formule.

Ostale formule mogu se izvesti ekvivalencijama:

p q ekvivalentan oblik ¬(¬p ¬q),p q ekvivalentan oblik ¬p q,p q ekvivalentan oblik (p q) (q p),true ekvivalentan oblik p ¬pfalse ekvivalentan oblik ¬true,Fp ekvivalentan oblik (true U p),Gp ekvivalentan oblik ¬F¬p.

Page 9: Formal na  verifi k a cija provjerom modela

9

LTL – Formalna sintaksa - 2

Prioritet operacija (od najčvršćih 1. do najmanje čvrstih 5.):

1. Unarni operatori (, X, F, G) povezuju najčvršće2. U - binarni operator3. - konjunkcija4. - disjumkcija5. - implikacija

Primjer suvišnih zagrada:(F (p (G r)) ((q) U p)) F (p G r) q U p

Preporuka: upotrebljavaj zagrade iako mogu biti suvišne.

Page 10: Formal na  verifi k a cija provjerom modela

10

LTL – Formalna sintaksa - 3

LTL dozvoljava booleove kombinacije i ugnježđivanje vremenskih operatora (CTL ne dozvoljava).

Neke ispravno definirane LTL formule:

(GFp Fq), (p U (q U r)), XXG p

p Fq - ako je p istinit sada, u budućem trenutku biti će istinit q

G (p Fq) - kadgod je p istinit, q će biti istinit u budućem trenutku, Npr.: G (request F acknowledge)

[ p G (p Xp) ] G p - ako je p istinit sada, i kadgod je p istinit onda je istinit i u slijedećem trenutku, povlači da je p uvijek istinit (tautologija )

Sintaktički neispravne PLTL formule:

Ur (U je binarni operator), pGq (G je unarni operator)

Page 11: Formal na  verifi k a cija provjerom modela

11

LTL – Formalna sintaksa - 4

Distribucija preko logičkih vezica

G (p q) (G p G q)

(p q) U r ((p U r) (q U r))

analogno za X, F

U CTL takva distribucija nije dozvoljena, CTL: A[(p q) U r ]

u CTL ispravne formule (svaka za sebe)

Rekurzivni izrazi (sadašnje stanje je uključeno)

F p p XF p

G p p XG p

(p U q) q (p X (p U q))

Page 12: Formal na  verifi k a cija provjerom modela

12

LTL - Semantka

Formula dana u vremenskoj logici LTL ima značenje u odnosu na

jednu linearnu vremensku strukturu = (S, x, L).

, x= - u strukturi formula je istinita za vremensku crtu x.

Crta (put) x zadovoljava (= ) formulu . Gdje je:x - put (vremenska crta) započinje u s0 , x = s0, s1, …xi - put (vremenska crta) započinje u si

, xi = si, si+1, ...

, x = a akko a L(s0), atomička propozicija a je istinita u s0.

, xi = b akko b L(si ), atomička propozicija b je istinita u si .

, x = akko , x |= i , x |=

, x = ¬ akko put x u strukturi ne zadovoljava , x = U akko i (xi = ) i k < i (xk = ))

, x = X akko x1 = u slijedećem stanju je =T

, x = F akko i (xi = ) postoji neko stanje gdje je =T

, x = G akko i (xi = ) u svakom stanju =T

Konvencija: sadašnje stanje je uključeno u buduće stanje.

Page 13: Formal na  verifi k a cija provjerom modela

13

LTL – modaliteti beskonačnosti (engl. Infinitary modalities)

P = propozicijska formula u PLTL

F p GF p “globally finally p”, “infinitely often p”

s0 s1 s2 s3 s4 s5 s6 s7 …

p p p p p p p p p …

“infinitely often p” (“beskonačno često se pojavljuje p”)

"Koliko god idemo daleko po putu (G) uvijek će p biti ispred nas,"

G p FG p “finally globally p”, “almost everywhere p”

s0 s1 s2 s3 s4 s5 s6 s7 …

p p p p p p p p

finite p infinite p

“Konačno globalno p”, nakon konačnog broja stanja u kojime p ne mora bit istinit, slijedi beskonačan niz stanja u kojima je p=TRUE.

Page 14: Formal na  verifi k a cija provjerom modela

14

Primjeri za model sa slike 4:

Put iz S0: S0 S1 S0 S1 S0 S1 …- zadovoljava LTL formulu GF p.- zadovoljava LTL formulu (GF p GF r).- zadovoljava LTL formulu (GF r GF p).

Put iz S0: S0 S2 S2 S2 S2 S2 …- NE zadovoljava LTL formulu GF p.- zadovoljava LTL formulu FG r.

Provjera modela (svi putovi moraju zadovoljiti LTL formulu)

M, S0 = G(p r) - zadovoljava, nema stanja u kojem je (p r)

M, S0 = F(q r) FG r

"Ako na bilo kojem putu iz S0 dosegnemo stanje u kojem je zadovoljeno (q r) tada taj put zadovoljava FG r."

- zadovoljava, stanje u kojem je (q r) je stanje S2 i nakon toga Gr.

Page 15: Formal na  verifi k a cija provjerom modela

15

Signifikantne valjanosti

Vrijede za sve linearne vremenske strukture = (S, x, L)

Neka su p, q formule u PLTL.

G p F p F p G p

X p X p

GF p FG p FG p GF p

GF = F p - “beskonačno često p

FG = G - “konačno (nakon nekog vremena) globalno (stalno) p”

p F p G p p

X p F p G p X p

G p F p G p XG p

p U q F q FG q GF q

(ako nakon nekog stanja glob. q, tada i besk. često q)

Page 16: Formal na  verifi k a cija provjerom modela

16

LTL – primjeri preslikavanja:

1. Nije moguće doći u stanje gdje je start istinito a spreman nije istinito.

G(start spreman)

2. Za svako stanje vrijedi: ako se pojavi zahtjev, on će konačno biti prihvaćen.

G(zahtjev F prihvaćen)

3. Neki proces je omogućen beskonačno često na svim putovima izvođenja.

GF omogućen

4. U svakom slučaju, određeni proces će permanentno biti zaustavljen.

FG zaustavljen

5. Iz svakog stanja sustava moguće je doći u stanje gdje vrijedi reset.

To se ne može izreći LTL logikom, jer LTL ne može izravno potvrditi postojanje (moguće) nekog određenog puta ili putova (to naravno može CTL kvantifikatorima A i E). Vidi kasnije objašnjenje.

Page 17: Formal na  verifi k a cija provjerom modela

17

LTL – primjeri preslikavanja:

5. Iz svakog stanja sustava moguće je doći u stanje gdje vrijedi reset.

6. Lift može ostati stajati na …

To se ne može izreći LTL logikom, jer LTL ne može izravno potvrditi postojanje (moguće, može) nekog određenog puta ili putova (to naravno može CTL kvantifikatorima A i E).

Problem se djelomično može riješiti negacijom upita:

• Provjera da li postoji put iz s koji zadovoljava LTL formulu svodi se na provjeru da li svi putovi zadovoljavaju (vidi primjer 1 na slici 16).

• Ako svi putovi zadovoljavaju , ne postoji put koji zadovoljava .

• Međutim provjera značajki sustava u kojem postoje miješani egzistencijski i univerzalni kvantifikatori ne može se riješiti na gornji način (negacija opet daje miješanje E i A).

Page 18: Formal na  verifi k a cija provjerom modela

18

Ostale inačice (proširenja) LTL

p, q : LTL formule

1. LTL s konačnim vremenskim strukturama (gledamo samo dio puta).

2. Promjena semantke modaliteta:

2.1. (p U q) je istinita sve dok vrijedi (p q), t.j.

q može stalno biti neistinit (“weak until”), t.j. ne mora biti istinit u budućnosti.

2.2. (p U q) je istinita akko u budućem trenutku (ne sada)

q je istinit (q mora biti istinit striktno u budućnosti).

3. Proširenje s logikom predikata prvoga reda (FOLTL)

4. Proširenje s prošlim vremenom (PTLTL) - “past tense ...”

. . .

Page 19: Formal na  verifi k a cija provjerom modela

19

Usporedba CTL i LTL – 1

1. Različita i neusporediva snaga izražavanja (ekspresivnost).

2. CTL eksplicitno kvantificira putove pa bi se moglo reći da je izražajnija od LTL.

3. S duge strane, LTL može selektirati sve pojedinačne putove iz nekog stanja koji zadovoljavaju LTL formulu pa bi se moglo reći da je izražajnija.

4. Neke formule u CTL nije moguće izraziti u LTL-u i obratno.

5. U LTL-u su složenije procedure provjere modela ali jednostavnije neke druge procedure (npr. valjanost).

6. U LTL dozvoljena distribucija preko logičkih vezica i ugnježđivanje vremenskih operatora (u CTL ne).

Page 20: Formal na  verifi k a cija provjerom modela

20

Usporedba CTL i LTL - 2

CTL formula AG(EF p) = “kamo god krenemo možemo doći (postoji bar jedan put) do stanja gdje je p istinit” nema ekvivalenta u LTL.

Primjer: Neka je LTL formula takva da je A[] navodno ekvivalentno

AG(EF p) , t.j. za sve putove.

Za model kao na slici:s0

kao LTL ne vrijedi za put (beskonačnu petlju) stalno u s0

(izdvojen put) jer mora vrijediti za sve pojedinačne putove.

= AG(EF p) kao CTL formula vrijedi jer EFp vrijedi za oba stanja.

Page 21: Formal na  verifi k a cija provjerom modela

21

Usporedba CTL i LTL - 3

7. LTL formula FG p nije ekvivalentna CTL formuli AF (AG p)

FG p = "po svim putovima vrijedi konačno globalno (stalno) p"

AF (AG p) = "na svim putovima uvijek dolazimo konačno do stanja iz kojega po svim putovima je stalno p=T."

U prikazanom modelu FG p vrijedi za sva stanja, a AF (AG p) ne vrijedi.

FG p – na svim pojedinačnim putovima dolazimo bilo kako do stanja nakon kojega je stalno p=TRUE.

AF (AG p) je striktno jači zahtjev. AGp vrijedi samo za S1. Iz S postoji put natrag na S i nikad ne dođe u S1.

s1

Page 22: Formal na  verifi k a cija provjerom modela

22

CTL* potpuna logika vremenskog grananja Unificirajuća struktura za CTL i LTL.Dozvoljeno: Booleove kombinacije F, G, X, U

Ugnježđivanje prije primjene E, A

Npr.: A [( p U r) (q U r) ] (ne mora po istom putu)

Duž svih putova p je istinito do r, ili q je istinito do r. Nije CTL jer A mora biti uz svaki U. Nije ekvivalentno A [( p q) U r) ] u CTL logici. U LTL-u vrijedi samo ako vrijedi za sve pojedinačne putove A[].

Npr.: E ( GF p)

Postoji put na kojem je p istinit beskonačno često. Nije LTL jer “E”.Nije EG EF p u CTL-u (kad jednom p=T, ne mora više dalje biti istinit).

Npr.: A [X p XX p]

Duž svih putova, p je istinito u slijedećem stanju, ili u prvom stanju nakon slijedećeg.Nema CTL ekvivalenta. LTL samo ako vrijedi za sve putove modela.

Page 23: Formal na  verifi k a cija provjerom modela

23

CTL* potpuna logika vremenskog grananja

S1: Svaki atomički sud formula stanja.S2: Ako su p, q formule stanja, također su to p, p q, p q.S3: Ako je p formula puta, tada su Ep, Ap formule stanja.

P1: Svaka formula stanja je također i formula puta.P2: Ako su p, q formule puta , također su to p, p q, p q.P3: Ako su p, q formule puta, također su to Xp, p U q.

Ostali operatori izvedeni: EFp = E( true U p) AFp = A( true U p) AGp = EF p EGp = AF p

CTL je restriktivni CTL*, gdje su P1, P2, P3 zamijenjeni s P0:P0: Ako su p, q formule stanja, tada su Xp, (p U q) formule puta.

LTL form. je ekvivalentna CTL* form. A[] ako vrijedi za sve putove.LTL dozvoljava ugnježđivanje booleovih vezica i modaliteta.CTL ne dozvoljava booleove komb. formula puta ni ugnj. modaliteta.

Page 24: Formal na  verifi k a cija provjerom modela

24

CTL* potpuna logika vremenskog grananja

CTL*

CTL LTL

AG EF p [GFp Fq]

E[ GF p ]

AG (p AF q) - CTL G(p F q) - LTL

Page 25: Formal na  verifi k a cija provjerom modela

25

Objašnjenja s prethodne slike

AG EF p: iz svakog stanja možemo doći u stanje gdje je p=T.CTL, ali nije u LTL (ranije pokazano).

[GF p F q]: Ako postoji beskonačno često p=T, konačno će se pojaviti q=T.

Npr. beskonačno česti REQ implicira konačno ACK.

LTL, ali ne CTL (nepristranost se ne može izravno izraziti u CTL-u, vidi ranije o CTL-u).

E[ GF p ]: Postoji put s beskonačno često p=TCTL*, ali nije u CTL (nema

beskonačno često), nije LTL jer LTL ekvivalentan CTL*

formuli A[], a ovdje egzistencijski operator

AG (p AF q) CTL, svaki p=T će konačno slijediti sa q=T G (p F q) LTL, ako vrijedi u M za svaki put posebno