Académique Documents
Professionnel Documents
Culture Documents
(Model Checking)
Estes slides sao baseados nas notas de aula da Profa. Corina
Crstea
Agenda
Logica Temporal
Logica de Arvore
de Computacao (CTL)
Caminhos de Computacao versus Arvores
de Computacao
I
Estrutura Kripke:
!
4
s1
bc
ab
s0
/ c
H
s2
arvore de computac
ao:
s0
s1
s0
}
!
s2
s2
!
s2
modelos de tempo:
1. tempo linear: conjunto de todos os caminhos de computacao
2. tempo de ramificacao: arvore de computacao
logicas temporais:
1. l
ogicas de tempo linear:
I
f
ormulas avaliadas em caminhos de computac
ao
(estrutura de ramificac
ao e abstrada)
2. l
ogicas de tempo de ramificacao:
I
f
ormulas avaliadas em
arvores de computac
ao
exclus
ao m
utua: no maximo um processo na regiao crtica a
qualquer momento (i.e. em todos os estados alcancaveis)
sintaxe:
, ::= p | tt | |
(p Prop)
Logica de Arvore
de Computacao (CTL)
I
sintaxe:
, ::= p | tt | | | AX | EX | AF | EF |
AG | EG | A [ U ] | E [ U ]
(p Prop)
prioridades de ligacao:
I
e estao pr
oximos
e.g. EF EG p AF r significa ( EF EG p) AF r
Semantica da CTL
Assuma a estrutura Kripke M = (S, R, V ).
A semantica da CTL define quando uma f
ormula da CTL e
verdadeira em um estado s S.
Quando escrevemos s |= (e dizemos que s satisfaz ) se e
verdadeiro em s.
A definicao de quando s |= e por inducao na estrutura de :
s |= p
sse
V (p, s) = true
s |=
sse
s |= nao detem
s |=
sse
s |= e s |=
...
}
"
"
EF
EG
AG
AF
iff
s |= EX
iff
s |= AF
iff
s |= EF
iff
s |= AG
iff
s |= EG
iff
s |= A [ U ]
iff
s |= E [ U ]
iff
Outro Exemplo
3 s {a,b}
0
{b,c}
s1
s0 |= EX (b c)
s0 |= AX (b c)
/ s2
s0 6|= EG c
{c}
I
s0 |= AG AF c
s0 |= A [a U c]
s0 |= E [(a b) U c]
s0 6|= AG (b EG c)
s0 |= AG EF EG c
Note: s |= AG AF sse e verdadeiro infinitas vezes ao longo
de cada caminho de s.
int turn;
P = m : cobegin P0 k P1 coend m0
P0 = n0 : while True do
t0 : wait (turn = 0);
c0 : use resource; turn := 1;
endwhile ; n00
0, n0 , n1
,
r
&
0, n0 , t1
P1 = n1 : while True do
t1 : wait (turn = 1);
c1 : use resource; turn := 0;
endwhile ; n10
0, t0 , n1
&
0, t0 , t1
&
0, c0 , t1
&
1, n0 , t1
0, c0 , n1
&
1, n0 , n1
&
1, n0 , c1
1, t0 , t1
&
1, t0 , c1
1, t0 , n1
exclusao m
utua: no maximo um processo na regiao crtica a
qualquer momento
AG (c0 c1 )
0, n0 , n1
,
r
&
0, n0 , t1
0, t0 , n1
&
0, t0 , t1
&
&
1, n0 , t1
0, c0 , n1
&
1, n0 , n1
&
1, n0 , c1
0, c0 , t1
1, t0 , t1
&
1, t0 , c1
AG (c0 c1 )
AG ( (t0 AF c0 ) (t1 AF c1 ) )
1, t0 , n1
Exerccio
Assuma as seguintes proposic
oes at
omicas: start, ready , requested,
acknowledged, enabled, running , deadlock .
Especifique as seguintes propriedades de corretude em CTL:
possvel/impossvel de alcancar um estado onde start e
1. E
verdadeiro mas ready nao e.
2. Sempre que ocorre uma solicitacao (request), ela ira
eventualmente ser reconhecida (acknowledged).
3. Se um processo e habilitado infinitas vezes ao longo de um
caminho, entao ele executa muitas vezes infinitamente ao
longo desse caminho.
4. Aconteca o que acontecer, deadlock ira eventualmente
ocorrer.
5. A partir de qualquer estado, e possvel alcancar um estado
ready .
Solucao do Exerccio
Formulas atomicas:
start, ready , requested, acknowledged, enabled, running , deadlock.
(im)possvel de alcancar um estado onde start e verdadeiro
1. E
mas ready nao e.
AG (start ready )
EF (start ready )
2. Sempre que ocorre uma solicitacao (request), ela ira
eventualmente ser reconhecida (acknowledged).
AG (requested AF acknowledged)
3. Se um processo e habilitado infinitas vezes ao longo de um
caminho, entao ele executa muitas vezes infinitamente ao
longo desse caminho.
Nao e expresso em CTL!
4. Aconteca o que acontecer, deadlock eventualmente ocorrera.
AF deadlock
5. A partir de qualquer estado, e possvel alcancar um estado
ready .
AG ( EF ready )
algumas equivalencias:
AX EX
AG EF
AF A [tt U ]
EG AF
EF E [tt U ]
= A [ U ], E [ U ], EX suficiente para expressar todos
os outros operadores CTL (conjunto adequado de conectivos
CTL).
E[ U ]
Corol
ario. Os operadores EX , AF e E [ U ] sao suficientes
para expressar todas os outros.
Como Anotar?
Notas:
I
I
Exerccio
Considere o seguinte modelo de exclusao m
utua:
.
p
0, n0 , n1
w p
0, t0 , n1
1, c0 , n1
. '
0, n0 , t1
'
w
0, t0 , t1
'
w
1, c0 ,X t1
'
0, n0 , c1
'
w
1, t0 , X c1