1 / 25

Formal na verifi k a cija provjerom modela

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

porter
Download Presentation

Formal na verifi k a cija provjerom modela

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Formalna verifikacija provjerom modela DA, implementacija zadovoljava specifikaciju I = Implementacija (modelsustava koji želimo verificirati) Sustav za verifikaciju NE, implementacija ne zadovoljavaspecifikaciju (i ispis pogrešnog ponašanja) (automatizirani alat) S = Specifikacija željenog ponašanja izražena u vremenskoj logici CTL ili LTL. zadovoljava = logička zadovoljivost (engl. satisfiability) I = S

  2. PROPOZICIJSKA LINEARNA VREMENSKA LOGIKA • (engl. Propositional Linear Temporal Logic) • PLTL(najčešće samoLTL) • 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 putovaizvođenja (engl. computations).

  3. si sk • 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).

  4. Primjer modela: S0- početno stanje t0 p, q p, q s0 s1 t1 s2 q, r r q, r r s2 s0 s2 t2 s1 s2 p, q r r s2 s1 t3 s2 q, r r r sekvenca 1 sekvenca 2

  5. Kontekst LTL vremenske logike: • Kripke struktura (model M) se dekomponira u pojedinačne beskonačnesekvence - 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 jeLinearna vremenska struktura. • LTL formule se interpretiraju po beskonačnim sekvencama – putovima izvođenja (linearnim vremenskim strukturama).

  6. LTLdefinicija 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 stanja • x: N  S beskonačna sekvenca stanja (x=s0,s1,...) • L: S  2APoznačavanje stanja skupom propozicijskih simbola. • Primjer:

  7. LTL U sustavu promatramo linearne vremenske strukture. Uporaba vremenskih operatora (bez kvantifikatora): Fp( “sometime p”, “eventually p”, “finally p”) - konačno Gp( “always p”, “henceforth p”) - uvijek Xp( “next time p”) - u slijedećem koraku pUq(“p until q”) - p dok q Provjera modela: provjeravamo sve zasebne putove u Kripke strukturi (kvantifikator A je implicitan).

  8. LTL – Formalna sintaksa - 1 (1) Atomičke propozicije su formule. (2) Ako su piqformule, tada p q, ¬p , p U q, Xpsu formule. Ostale formule mogu se izvesti ekvivalencijama: p Ú q ekvivalentan oblik ¬(¬p Ù ¬q), p Þ q ekvivalentanoblik ¬p Ú q, p º q ekvivalentanoblik (p Þ q) Ù (q Þ p), true ekvivalentanoblikp Ú ¬p, false ekvivalentanoblik ¬true, Fp ekvivalentanoblik (true U p), Gp ekvivalentanoblik ¬F¬p.

  9. LTL – Formalna sintaksa - 2 • Prioritet operacija (od najčvršćih 1. do najmanje čvrstih 5.): • Unarni operatori (, X, F, G) povezuju najčvršće • U - binarni operator •  - konjunkcija •  - disjumkcija •  - 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.

  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)

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

  12. LTL - Semantka Formuladana u vremenskoj logiciLTLima značenje u odnosu na jednu linearnu vremensku strukturu=(S, x, L). , x=  - u strukturi formula je istinita za vremensku crtu x. Crta (put) xzadovoljava (=) 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 = aakkoa  L(s0),atomička propozicija a je istinita u s0. , xi= bakkob  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.

  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 pp p p pp pp … “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 pppp 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.

  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.

  15. Signifikantne valjanosti Vrijede za sve linearne vremenske strukture =(S, x, L) Neka sup, qformule 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)

  16. LTL – primjeri preslikavanja: • 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 • 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.

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

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

  19. Usporedba CTL i LTL – 1 • Različita i neusporediva snaga izražavanja (ekspresivnost). • CTL eksplicitno kvantificira putove pa bi se moglo reći da je izražajnija od LTL. • S duge strane, LTL može selektirati svepojedinačne putoveiz nekog stanja koji zadovoljavaju LTL formulu pa bi se moglo reći da je izražajnija. • Neke formule u CTL nije moguće izraziti u LTL-u i obratno. • U LTL-u su složenije procedure provjere modela ali jednostavnije neke druge procedure (npr. valjanost). • U LTL dozvoljena distribucija preko logičkih vezica i ugnježđivanje vremenskih operatora (u CTL ne).

  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.

  21. Usporedba CTL i LTL - 3 7. LTL formula FG pnije 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 pvrijedi za sva stanja, a AF (AG p) ne vrijedi. s1 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.

  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.

  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.

  24. CTL* potpuna logika vremenskog grananja CTL* E[ GF p ] CTL LTL AG EF p [GFp  Fq] AG (p  AF q) - CTL G(p  F q) - LTL

  25. Objašnjenja s prethodne slike • AG EFp: 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=T • CTL*, 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

More Related