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
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)
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).
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
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
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).
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:
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).
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.
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.
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 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.
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.
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 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)
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.
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
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).
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 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
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*
CTL LTL
AG EF p [GFp Fq]
E[ GF p ]
AG (p AF q) - CTL G(p F q) - LTL
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