L´
ogica temporal e aplica¸c˜
oes
Jaime Ramos
Departamento de Matem´atica, Instituto Superior T´ecnico SQIG, Instituto de Telecomunica¸c˜oes
Universidade T´ecnica de Lisboa
Semin´ario de Matem´atica
Importˆ
ancia da verifica¸c˜
ao formal
Alguns exemplos do passado
In´ıcio dos anos 90 – Bug no m´odulo de divis˜ao do processador Pentium II da Intel.
Preju´ızo estimado: $475.000.000.
Para al´em da imagem da Intel ter ficado seriamente prejudicada! In´ıcio do sec. XXI – Problema no sistema de distribui¸c˜ao de
bagagem do aeroporto de Denver atrasou a inaugura¸c˜ao do aeroporto em 9 meses.
Preju´ızo estimado: $1.100.000 POR DIA!
A empresa BAE, respons´avel pelo sistema, abriu falˆencia!
4 de Junho de 1996 – O foguet˜ao Ariane-5 despenha-se 36
segundos depois do lan¸camento
Importˆ
ancia da verifica¸c˜
ao formal
But is not only about the money...
1985–1987 – Erro no software de controlo da m´aquina de radia¸c˜oes Therac-25.
Preju´ızo: 6 pacientes morreram por excesso de radia¸c˜ao. E a lista continua: Airbus, Path-finder, . . . ...
Investiga¸c˜oes demostraram que a verifica¸c˜ao formal destes sistemas teria exposto os defeitos atr´as descritos!
Motiva¸c˜
ao
Propriedade 1
O sem´aforo tem pelo menos uma luz acesa.
F´acil de especificar em l´ogica proposicional.
green ∨ yellow ∨ red
Propriedade 2
O sem´aforo tem, no m´aximo, uma luz acesa.
F´acil de especificar em l´ogica proposicional.
(green ⇒ (¬ yellow ∧ ¬ red)) ∧ . . .
Propriedade 3
Plano
1 Hist´oria
2 L´ogica temporal linear Sintaxe
Semˆantica 3 Aplica¸c˜oes
Sistemas dedutivos Verifica¸c˜ao de modelos 4 Outras l´ogicas temporais
CTL CTL∗
G´
enese
Arthur Prior [1914-1969]
Tense Logic – Prior acrescentou quatro operadores
modais `a l´ogica proposicional cl´assica: F - “Alguma vez no fututro...” P - “Alguma vez no passado...” G - “Sempre no futuro...” H - “Sempre no passado...”
L´
ogica temporal linear
Amir Pnueli [1941-2009]
The Temporal Logic of Programs [1977]:
Pnueli utiliza l´ogica temporal para verifica¸c˜ao de programas.
Pr´emio Turing [1996]
“...triggered a fundamental paradigm shift in reasoning about the dynamic behavior of systems.”
L´
ogica temporal ramificada (CTL)
Edmund Clarke
E. Allen Emerson
Characterizing correctness properties of parallel programs using fixpoints [1980]
Pr´emio Turing [2007]
Juntamente com Joseph Sifakis
“Their innovations transformed this approach from a theoretical technique to a highly effective
verification technology that enables computer hardware and software engineers to find errors efficiently in complex system designs.”
Plano
1 Hist´oria
2 L´ogica temporal linear Sintaxe
Semˆantica
3 Aplica¸c˜oes
Sistemas dedutivos Verifica¸c˜ao de modelos 4 Outras l´ogicas temporais
CTL CTL∗
Sintaxe
Considere-se um conjunto de s´ımbolos proposicionais Π.
Sintaxe
ϕ ::= > | p | ¬ ϕ | ϕ ∧ ϕ | X ϕ | ϕ U ϕ
X ϕ (next ϕ) – no instante seguinte ϕ ´e verdadeira.
ϕ1U ϕ2 (ϕ1 until ϕ2) – ϕ2 ´e verdadeira num instante futuro e, at´e esse
instante, ϕ1 ´e verdadeira.
Apenas estamos a considerar o futuro.
Assumimos definidos (por abreviatura) outros conectivos proposicionais (eg. ∨, ⇒, ⇔).
Sintaxe
Com esta linguagem podemos escrever
Propriedade 3
A seguir `a luz verde acende-se a luz amarela.
green ⇒ (X yellow)
Ou mesmo,
Semˆ
antica
“Em cada instante, cada s´ımbolo proposicional ou ´e verdadeiroou ´efalso.”
Estrutura de interpreta¸c˜ao
Uma interpreta¸c˜ao (sobre Π) ´e uma aplica¸c˜ao λ : N → 2Π. Para cada n ∈ N,
λ(n)´e uma valora¸c˜ao dos s´ımbolos proposicionais
que indica quais os s´ımbolos proposicionais que s˜ao verdadeiros nesse instante.
Semˆ
antica
Considere-se a seguinte interpreta¸c˜ao λ (sobre {g,y,r})
0 1 2 3
{g} {y} {r} {g}
Nesta interpreta¸c˜ao,g∈ λ(0) ey∈ λ(1). Ent˜ao, λ satisfaz no instante 0 a f´ormula Xy.
E, portanto, λ satisfaz no instante 0 a f´ormulag⇒ Xy. Por outro lado,r∈ λ(2) e g∈ λ(3).
Ent˜ao, λ satisfaz no instante 2a f´ormula Xg.
E, portanto, λ satisfaz no instante 2 a f´ormular⇒ Xg.
Semˆ
antica
Considere-se agora a interpreta¸c˜ao λ0
0 1 2 3
{g,y} {y,r} {g,y,r} {g}
Continuamos a ter g∈ λ0(0) e y∈ λ0(1).
E, portanto, λ0 tamb´em satisfaz no instante 0 a f´ormulag⇒ Xy. No entanto, g∈ λ0(2) ey6∈ λ0(3).
Logo, λ0 n˜ao satisfaz no instante 2 a f´ormula Xy.
Semˆ
antica
Rela¸c˜ao de satisfa¸c˜ao
Sejam λ uma interpreta¸c˜ao e i ∈ N. A rela¸c˜ao de satisfa¸c˜ao para LTL, denotada por , define-se indutivamente da seguinte forma:
λ, i >
λ, i p se p ∈ λ(i)
λ, i ¬ ϕ se λ, i 6 ϕ
λ, i ϕ1∧ ϕ2 se λ, i ϕ1 e λ, i ϕ2
λ, i X ϕ se λ, i + 1 ϕ
λ, i ϕ1U ϕ2 se existe j ≥ i tal que λ, j ϕ2 e
Alguns exemplos
Xg
Outros operadores temporais
Alguma vez no futuro
Sintaxe
F ϕ ≡ (> U ϕ).
Semˆantica
λ, i F ϕ se existe j ≥ i tal que λ, j ϕ.
Outros operadores temporais
Sempre no futuro Sintaxe G ϕ ≡ (¬ F ¬ ϕ). Semˆantica λ, i G ϕ se λ, j ϕ, para todo o j ≥ i. GrSemˆ
antica
Satisfa¸c˜ao de f´ormula
A interpreta¸c˜ao λ satisfaz a f´ormula ϕ, o que se denota por λ ϕ, se λ, 0 ϕ.
Estamos a adoptar uma semˆantica ancorada.
F´ormula v´alida
Exemplos
Voltando ao exemplo do sem´aforo...
Propriedade 1
O sem´aforo tem pelo menos uma luz acesa.
green ∨ yellow ∨ red
significa que a f´ormula green ∨ yellow ∨ redapenas ´e verdadeira no instante inicial.
Ser´a que ´e isso que pretendemos? N˜ao!
Queremos que a f´ormula seja verdadeira sempre, ou seja,
Exemplos
A f´ormula(X ¬ ϕ) ⇔ (¬ X ϕ)´e v´alida λ, i X ¬ ϕ sse λ, i + 1 ¬ ϕ sse λ, i + 1 6 ϕ sse λ, i 6 X ϕ sse λ, i ¬ X ϕ. Ent˜ao λ, i (X ¬ ϕ) ⇔ (¬ X ϕ). Em particular, λ, 0 (X ¬ ϕ) ⇔ (¬ X ϕ) ou seja, λ (X ¬ ϕ) ⇔ (¬ X ϕ)Exemplos
A f´ormula(G(r∨g)) ⇒ ((Gr) ∨ (Gg))n˜ao ´e v´alida
Com efeito, considere-se a seguinte interpreta¸c˜ao λ:
N˜ao ´e dif´ıcil provar que λ, 0 G(r∨g).
Dado que λ, 1 6 rpodemos concluir que λ, 0 6 Gr. De modo semelhante, como λ, 2 6 g ent˜ao λ, 0 6 Gg. Ent˜ao, λ, 0 6 (G(r∨g)) ⇒ ((Gr) ∨ (Gg))
Algumas f´
ormulas importantes
G F ϕ – a f´ormula ϕ ´e verdadeira num n´umero infinito de instantes. Por exemplo G Fr
Fr Fr Fr Fr Fr Fr Fr Fr Fr
F G ϕ – a f´ormula ϕ ´e verdadeiraa partir de um certo instante.
Por exemplo F Gg
Semˆ
antica
Satisfa¸c˜ao de conjunto de f´ormulas
A interpreta¸c˜ao λ satisfaz o conjunto de f´ormulas Γ, o que se denota por λ Γ, se λ ϕ, para toda a f´ormula ϕ ∈ Γ.
Consequˆencia semˆantica
A f´ormula ϕ diz-se consequˆencia semˆantica do conjunto de f´ormulas Γ, o que se denota por Γ ϕ, se λ ϕ para toda a interpreta¸c˜ao λ tal que λ Γ.
Exemplo
Considere-se o conjunto de f´ormulas para descrever o comportamento de
um sem´aforo Γ = { G(g∨y∨r), G(g⇒ (¬y∧ ¬r)), G(y⇒ (¬g∧ ¬r)), G(r⇒ (¬g∧ ¬y)), G(g⇒ Xy), G(y⇒ Xr), G(r⇒ Xg) } Ser´a que Γ (G Fg) ∧ (G Fy) ∧ (G Fr)?
Plano
1 Hist´oria
2 L´ogica temporal linear Sintaxe
Semˆantica
3 Aplica¸c˜oes
Sistemas dedutivos Verifica¸c˜ao de modelos
4 Outras l´ogicas temporais CTL
Sistema axiom´
atico
Axiomas
(A0) G ϕ, para toda a f´ormula tautol´ogica ϕ
(A1) (G ϕ) ⇒ ϕ (A2) G((X ¬ ϕ) ⇔ (¬ X ϕ)) (A3) G(X(ϕ ⇒ ψ) ⇒ (X ϕ ⇒ X ψ)) (A4) G(G(ϕ ⇒ ψ) ⇒ (G ϕ ⇒ G ψ)) (A5) G ϕ ⇒ G X ϕ (A6) (G(ϕ ⇒ X ϕ)) ⇒ (ϕ ⇒ G ϕ) (A7) G((ϕ U ψ) ⇔ ψ ∨ (ϕ ∧ X(ϕ U ψ))) (A8) G((ϕ U ψ) ⇒ F ψ)
Regras de inferˆencia
Sistema dedutivo
Deriva¸c˜ao
A f´ormula ϕ diz-se deriv´avel do conjunto Γ, o que se denota por Γ ` ϕ, se existe uma sequˆencia γ1, . . . , γn de f´ormulas tal que:
γn´e ϕ
para i = 1, . . . , n, cada f´ormula γi ou ´e um axioma ou ´e uma f´ormula de Γ
Exemplo
Vamos provar G(ϕ ⇒ ψ), G ϕ ` G ψ: 1. G(ϕ ⇒ ψ) Hip. 2. G ϕ Hip. 3. G(G(ϕ ⇒ ψ) ⇒ (G ϕ ⇒ G ψ)) (A4) 4. G(G(ϕ ⇒ ψ) ⇒ (G ϕ ⇒ G ψ))⇒ G(ϕ ⇒ ψ) ⇒ (G ϕ ⇒ G ψ) (A1) 5. G(ϕ ⇒ ψ) ⇒ (G ϕ ⇒ G ψ) MP:4,3 6. G ϕ ⇒ G ψ MP:5,1 7. G ψ MP:6,2Correc¸c˜
ao e completude
Correc¸c˜ao
Sejam Γ um conjunto de formulas e ϕ uma f´ormula.
Se Γ ` ϕ ent˜ao Γ ϕ.
Completude fraca
Seja ϕ uma f´ormula.
Completude forte?
Considere-se o conjunto
Γ = {r, Xr, X Xr, X X Xr, . . . } ´
E f´acil confirmar que
Γ Gr. No entanto,
Γ 6` Gr
Verifica¸c˜
ao de modelos
Problema
“Dado um sistema T e uma propriedade ϕ, verificar se T ϕ? ”
O sistema ´e descrito por um sistema de transi¸c˜ao (ou por um programa).
r
g
A propriedade ´e descrita por uma f´ormula LTL (ou de outra l´ogica temporal).
Verifica¸c˜
ao de modelos
Sist. de transi¸c˜ao composto T ⊗A¬ ϕ Sistema de
transi¸c˜ao T Aut´omato A¬ ϕ
Modelo do sistema F´ormula
ne-gada ¬ ϕ F´ormula ϕ Sistema T ⊗ A¬ ϕ ¬ F Sim N˜ao + contra-exemplo
Exemplo
Considere-se um sistem em que dois sem´aforos s˜ao colocados a controlar
um cruzamento,mas sem estarem sincronizados.
hr1,r2i
hr1,g2i hg1,r2i
Exemplo
Queremos garantir que os dois sem´aforos n˜ao est˜ao os dois verdes simultaneamente, o que pode ser expresso pela f´ormula ϕ
G(¬(g1∧g2)). A nega¸c˜ao desta f´ormula ´e ¬ ϕ
F(g1∧g2).
Um aut´omato A¬ ϕ para ¬ ϕ
q0
start q1
¬g1, ¬g2 g1∧g2
Exemplo
Sistema de transi¸c˜ao composto T ⊗ A¬ ϕ
hr1,r2, q0i
hr1,g2, q0i hg1,r2, q0i
hg1,g2, q1i
hr1,g2, q1i hg1,r2, q1i
Exemplo
Queremos verificar se A¬ ϕ nunca atinge um estado final, isto ´e,
T ⊗ A¬ ϕ ¬ q1?
Mas tal n˜ao ´e verdade!
Exemplo
Sistema de transi¸c˜ao composto T ⊗ A¬ ϕ
hr1,r2, q0i
hr1,g2, q0i hg1,r2, q0i
hg1,g2, q1i
hr1,g2, q1i hg1,r2, q1i
Exemplo
O sistema de transi¸c˜ao atingiu um estado em que q1 ´e verdadeiro. Isto significa que a f´ormula G(¬(g1∧g2)) ´e falsific´avel.
A resposta do sistema ´e N˜ao
juntamente com um contra-exemplo:
Plano
1 Hist´oria
2 L´ogica temporal linear Sintaxe
Semˆantica 3 Aplica¸c˜oes
Sistemas dedutivos Verifica¸c˜ao de modelos
4 Outras l´ogicas temporais CTL
CTL - Computation Tree Logic
Nesta l´ogica temporal, a estrutura temporal ´e ramificada.
A linguagem inclui, para al´em dos operadores temporais,quantificadores sobre os caminhos.
CTL - Computation Tree Logic
Sintaxe
α := > | p | ¬ α | α ∧ α | AX α | EX α | A(α U α) | E(α U α).
AX α – em todos os sucessores α ´e verdadeira.
EX α – existe pelo menos um sucessor onde α ´e verdadeira.
A(α1U α2) – α1U α2 ´e verdadeira ao longo de todos os caminhos.
CTL - Computation Tree Logic
CTL - Computation Tree Logic
CTL - Computation Tree Logic
CTL - Computation Tree Logic
CTL vs LTL
As l´ogicas CTL e LTL n˜ao s˜ao compar´aveis.
Teorema
H´a propriedades que s˜ao express´aveis em CTL e que n˜ao s˜ao express´aveis em LTL.
Teorema
H´a propriedades que s˜ao express´aveis em LTL e que n˜ao s˜ao express´aveis em CTL.
CTL
∗Extens˜ao da l´ogica CTL.
Sintaxe
α := > | p | ¬ α | α ∧ α | X α | α U α | A α | E α.
Os quantificadores de caminho e os operadores temporais n˜ao tˆem que aparecem emparelhados.
CTL
∗vs LTL e CTL
A l´ogica CTL∗ ´e mais express´avel do que as l´ogicas CTL e LTL.
Teorema
Todas as propriedades express´aveis em LTL s˜ao express´aveis em CTL∗.
Teorema
Todas as propriedades express´aveis em CTL s˜ao express´aveis em CTL∗. Mas... h´a um pre¸co a pagar!
Referˆ
encias
C. Baier and J.-P. Katoen. Principles of Model Checking. MIT Press, 2008.
E.-M. Clarke Jr., O. Grumberg and D. A. Peled. Model Checking. MIT Press , 1999.
M. Huth and M. Ryan. Logic in Computer Science – modelling and reasoning about systems. Cambridge University Press, 2004.
F. Kr¨oger and S. Merz. Temporal logic and state systems. Springer, 2008.
25 Years of Model Checking Symposium. http://www.model.in.tum.de/um/25