• Nenhum resultado encontrado

Lógica temporal e aplicações

N/A
N/A
Protected

Academic year: 2021

Share "Lógica temporal e aplicações"

Copied!
50
0
0

Texto

(1)

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

(2)

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

(3)

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!

(4)

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

(5)

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∗

(6)

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

(7)

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

(8)

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

(9)

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∗

(10)

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. ∨, ⇒, ⇔).

(11)

Sintaxe

Com esta linguagem podemos escrever

Propriedade 3

A seguir `a luz verde acende-se a luz amarela.

green ⇒ (X yellow)

Ou mesmo,

(12)

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.

(13)

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.

(14)

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.

(15)

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

(16)

Alguns exemplos

Xg

(17)

Outros operadores temporais

Alguma vez no futuro

Sintaxe

F ϕ ≡ (> U ϕ).

Semˆantica

λ, i F ϕ se existe j ≥ i tal que λ, j ϕ.

(18)

Outros operadores temporais

Sempre no futuro Sintaxe G ϕ ≡ (¬ F ¬ ϕ). Semˆantica λ, i G ϕ se λ, j ϕ, para todo o j ≥ i. Gr

(19)

Semˆ

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

(20)

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,

(21)

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

(22)

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

(23)

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

(24)

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 λ Γ.

(25)

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

(26)

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

(27)

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

(28)

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 Γ

(29)

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,2

(30)

Correc¸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.

(31)

Completude forte?

Considere-se o conjunto

Γ = {r, Xr, X Xr, X X Xr, . . . } ´

E f´acil confirmar que

Γ  Gr. No entanto,

Γ 6` Gr

(32)

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

(33)

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

(34)

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

(35)

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

(36)

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

(37)

Exemplo

Queremos verificar se A¬ ϕ nunca atinge um estado final, isto ´e,

T ⊗ A¬ ϕ ¬ q1?

Mas tal n˜ao ´e verdade!

(38)

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

(39)

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:

(40)

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

(41)

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.

(42)

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.

(43)

CTL - Computation Tree Logic

(44)

CTL - Computation Tree Logic

(45)

CTL - Computation Tree Logic

(46)

CTL - Computation Tree Logic

(47)

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.

(48)

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.

(49)

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!

(50)

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

Referências

Documentos relacionados

das disciplinas de Didática e Prática de Ensino manifestassem pertencer ao mesmo Estilo de Pensamento, pois as normas, saberes e práticas partilhadas por esses

As comparações entre os casos com humor vítreo normal e humor vítreo liquefeito fo- ram refeitas para o Modelo 2, com os novos valores de potência e diâmetro do laser, conside- rando

• Mochila Ataque 20/30L - É a melhor opção para os passeios, pois tem tamanho ideal para levar água, toalha, snacks, máquina fotográfica, protetor solar, lanche de trilha e

O presente trabalho tem seu foco nas Técnicas Híbridas para síntese de redes de água aplicada a refinarias de petróleo com a proposição de um algoritmo computacional

O nosso estudo é o primeiro a verificar o efeito da perda de sono na indução de morte celular no hipocampo de animais senescentes; e apesar de não termos

Da forma como explica Zinani (2006, p.56): “Se, no período anterior, a identidade estava bem-estabelecida, e o sujeito ocupava efetivamente o seu lugar no tempo e

4.1. As inscrições deverão ser endereçadas à Coordenação de Pós-graduação do Campus Patos. As inscrições serão gratuitas. O deferimento das inscrições dependerá do

Os potenciais produtivos (ou UEP/hora) dos postos operativos são obtidos dividindo-se o custo/hora dos postos pelo valor da UEP (custo do produto-base); - determinação