Lógica temporal e aplicações Jaime Ramos Departamento de Matemática, Instituto Superior Técnico SQIG, Instituto de Telecomunicações Universidade Técnica de Lisboa Seminário de Matemática 7 de Dezembro de 2011 J. Ramos (DM-IST,SQIG-IT) Lógica temporal e aplicações SdM, 7Dez11 1 / 50
Importância da verificação formal Alguns exemplos do passado Início dos anos 90 Bug no módulo de divisão do processador Pentium II da Intel. Prejuízo estimado: $475.000.000. Para além da imagem da Intel ter ficado seriamente prejudicada! Início do sec. XXI Problema no sistema de distribuição de bagagem do aeroporto de Denver atrasou a inauguração do aeroporto em 9 meses. Prejuízo estimado: $1.100.000 POR DIA! A empresa BAE, responsável pelo sistema, abriu falência! 4 de Junho de 1996 O foguetão Ariane-5 despenha-se 36 segundos depois do lançamento devido a uma conversão de um real de 64 bits num inteiro de 16 bits. J. Ramos (DM-IST,SQIG-IT) Lógica temporal e aplicações SdM, 7Dez11 2 / 50
Importância da verificação formal But is not only about the money... 1985 1987 Erro no software de controlo da máquina de radiações Therac-25. Prejuízo: 6 pacientes morreram por excesso de radiação. E a lista continua: Airbus, Path-finder,...... Investigações demostraram que a verificação formal destes sistemas teria exposto os defeitos atrás descritos! J. Ramos (DM-IST,SQIG-IT) Lógica temporal e aplicações SdM, 7Dez11 3 / 50
Motivação Propriedade 1 O semáforo tem pelo menos uma luz acesa. Fácil de especificar em lógica proposicional. Propriedade 2 green yellow red O semáforo tem, no máximo, uma luz acesa. Fácil de especificar em lógica proposicional. Propriedade 3 (green ( yellow red))... A seguir à luz verde acende-se a luz amarela. Hummm... J. Ramos (DM-IST,SQIG-IT) Lógica temporal e aplicações SdM, 7Dez11 4 / 50
Plano História 1 História 2 Lógica temporal linear Sintaxe Semântica 3 Aplicações Sistemas dedutivos Verificação de modelos 4 Outras lógicas temporais CTL CTL J. Ramos (DM-IST,SQIG-IT) Lógica temporal e aplicações SdM, 7Dez11 5 / 50
História Génese Arthur Prior [1914-1969] Tense Logic Prior acrescentou quatro operadores modais à lógica proposicional clássica: F - Alguma vez no fututro... P - Alguma vez no passado... G - Sempre no futuro... H - Sempre no passado... J. Ramos (DM-IST,SQIG-IT) Lógica temporal e aplicações SdM, 7Dez11 6 / 50
História Lógica temporal linear Amir Pnueli [1941-2009] The Temporal Logic of Programs [1977]: Pnueli utiliza lógica temporal para verificação de programas. Prémio Turing [1996]...triggered a fundamental paradigm shift in reasoning about the dynamic behavior of systems. J. Ramos (DM-IST,SQIG-IT) Lógica temporal e aplicações SdM, 7Dez11 7 / 50
História Lógica temporal ramificada (CTL) Edmund Clarke E. Allen Emerson Characterizing correctness properties of parallel programs using fixpoints [1980] Prémio 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. J. Ramos (DM-IST,SQIG-IT) Lógica temporal e aplicações SdM, 7Dez11 8 / 50
Plano Lógica temporal linear 1 História 2 Lógica temporal linear Sintaxe Semântica 3 Aplicações Sistemas dedutivos Verificação de modelos 4 Outras lógicas temporais CTL CTL J. Ramos (DM-IST,SQIG-IT) Lógica temporal e aplicações SdM, 7Dez11 9 / 50
Sintaxe Lógica temporal linear Sintaxe Considere-se um conjunto de símbolos proposicionais Π. Sintaxe ϕ ::= p ϕ ϕ ϕ X ϕ ϕ U ϕ X ϕ (next ϕ) no instante seguinte ϕ é verdadeira. ϕ 1 U ϕ 2 (ϕ 1 until ϕ 2 ) ϕ 2 é verdadeira num instante futuro e, até esse instante, ϕ 1 é verdadeira. Apenas estamos a considerar o futuro. Assumimos definidos (por abreviatura) outros conectivos proposicionais (eg.,, ). J. Ramos (DM-IST,SQIG-IT) Lógica temporal e aplicações SdM, 7Dez11 10 / 50
Lógica temporal linear Sintaxe Sintaxe Com esta linguagem podemos escrever Propriedade 3 A seguir à luz verde acende-se a luz amarela. green (X yellow) Ou mesmo, green U yellow J. Ramos (DM-IST,SQIG-IT) Lógica temporal e aplicações SdM, 7Dez11 11 / 50
Semântica Lógica temporal linear Semântica Em cada instante, cada símbolo proposicional ou é verdadeiro ou é falso. Estrutura de interpretação Uma interpretação (sobre Π) é uma aplicação λ : N 2 Π. Para cada n N, λ(n) é uma valoração dos símbolos proposicionais que indica quais os símbolos proposicionais que são verdadeiros nesse instante. J. Ramos (DM-IST,SQIG-IT) Lógica temporal e aplicações SdM, 7Dez11 12 / 50
Lógica temporal linear Semântica Semântica Considere-se a seguinte interpretação λ (sobre {g, y, r}) {g} {y} {r} {g} 0 1 2 3 Nesta interpretação, g λ(0) e y λ(1). Então, λ satisfaz no instante 0 a fórmula X y. E, portanto, λ satisfaz no instante 0 a fórmula g X y. Por outro lado, r λ(2) e g λ(3). Então, λ satisfaz no instante 2 a fórmula X g. E, portanto, λ satisfaz no instante 2 a fórmula r X g. Aliás, λ satisfaz ambas as fórmulas em qualquer instante. Porquê? J. Ramos (DM-IST,SQIG-IT) Lógica temporal e aplicações SdM, 7Dez11 13 / 50
Lógica temporal linear Semântica Semântica Considere-se agora a interpretação λ {g, y} {y, r} {g, y, r} {g} 0 1 2 3 Continuamos a ter g λ (0) e y λ (1). E, portanto, λ também satisfaz no instante 0 a fórmula g X y. No entanto, g λ (2) e y λ (3). Logo, λ não satisfaz no instante 2 a fórmula X y. E, portanto, λ não satisfaz no instante 2 a fórmula g X y. J. Ramos (DM-IST,SQIG-IT) Lógica temporal e aplicações SdM, 7Dez11 14 / 50
Lógica temporal linear Semântica Semântica Relação de satisfação Sejam λ uma interpretação e i N. A relação de satisfação para LTL, denotada por, define-se indutivamente da seguinte forma: λ, i λ, i p se p λ(i) λ, i ϕ se λ, i ϕ λ, i ϕ 1 ϕ 2 se λ, i ϕ 1 e λ, i ϕ 2 λ, i X ϕ se λ, i + 1 ϕ λ, i ϕ 1 U ϕ 2 se existe j i tal que λ, j ϕ 2 e λ, k ϕ 1, para todo o k tal que i k < j. J. Ramos (DM-IST,SQIG-IT) Lógica temporal e aplicações SdM, 7Dez11 15 / 50
Alguns exemplos Lógica temporal linear Semântica X g g U y J. Ramos (DM-IST,SQIG-IT) Lógica temporal e aplicações SdM, 7Dez11 16 / 50
Lógica temporal linear Semântica Outros operadores temporais Alguma vez no futuro Sintaxe F ϕ ( U ϕ). Semântica λ, i F ϕ se existe j i tal que λ, j ϕ. F g J. Ramos (DM-IST,SQIG-IT) Lógica temporal e aplicações SdM, 7Dez11 17 / 50
Lógica temporal linear Semântica Outros operadores temporais Sempre no futuro Sintaxe G ϕ ( F ϕ). Semântica λ, i G ϕ se λ, j ϕ, para todo o j i. G r J. Ramos (DM-IST,SQIG-IT) Lógica temporal e aplicações SdM, 7Dez11 18 / 50
Lógica temporal linear Semântica Semântica Satisfação de fórmula A interpretação λ satisfaz a fórmula ϕ, o que se denota por λ ϕ, se λ, 0 ϕ. Estamos a adoptar uma semântica ancorada. Fórmula válida Uma fórmula ϕ diz-se válida se λ ϕ, para toda a interpretação λ. J. Ramos (DM-IST,SQIG-IT) Lógica temporal e aplicações SdM, 7Dez11 19 / 50
Lógica temporal linear Semântica Exemplos Voltando ao exemplo do semáforo... Propriedade 1 O semáforo tem pelo menos uma luz acesa. green yellow red significa que a fórmula green yellow red apenas é verdadeira no instante inicial. Será que é isso que pretendemos? Não! Queremos que a fórmula seja verdadeira sempre, ou seja, G(green yellow red) J. Ramos (DM-IST,SQIG-IT) Lógica temporal e aplicações SdM, 7Dez11 20 / 50
Exemplos Lógica temporal linear Semântica A fórmula (X ϕ) ( X ϕ) é válida λ, i X ϕ sse λ, i + 1 ϕ sse λ, i + 1 ϕ sse λ, i X ϕ sse λ, i X ϕ. Então Em particular, ou seja, λ, i (X ϕ) ( X ϕ). λ, 0 (X ϕ) ( X ϕ) λ (X ϕ) ( X ϕ) J. Ramos (DM-IST,SQIG-IT) Lógica temporal e aplicações SdM, 7Dez11 21 / 50
Lógica temporal linear Semântica Exemplos A fórmula (G(r g)) ((G r) (G g)) não é válida Com efeito, considere-se a seguinte interpretação λ: Não é difícil provar que λ, 0 G(r g). Dado que λ, 1 r podemos concluir que λ, 0 G r. De modo semelhante, como λ, 2 g então λ, 0 G g. Então, λ, 0 (G(r g)) ((G r) (G g)) o que implica que λ (G(r g)) (G r G g) e portanto a fórmula não é válida. J. Ramos (DM-IST,SQIG-IT) Lógica temporal e aplicações SdM, 7Dez11 22 / 50
Lógica temporal linear Semântica Algumas fórmulas importantes G F ϕ a fórmula ϕ é verdadeira num número infinito de instantes. Por exemplo G F r F r F r F r F r F r F r F r F r F r F G ϕ a fórmula ϕ é verdadeira a partir de um certo instante. Por exemplo F G g G g J. Ramos (DM-IST,SQIG-IT) Lógica temporal e aplicações SdM, 7Dez11 23 / 50
Lógica temporal linear Semântica Semântica Satisfação de conjunto de fórmulas A interpretação λ satisfaz o conjunto de fórmulas Γ, o que se denota por λ Γ, se λ ϕ, para toda a fórmula ϕ Γ. Consequência semântica A fórmula ϕ diz-se consequência semântica do conjunto de fórmulas Γ, o que se denota por Γ ϕ, se λ ϕ para toda a interpretação λ tal que λ Γ. J. Ramos (DM-IST,SQIG-IT) Lógica temporal e aplicações SdM, 7Dez11 24 / 50
Exemplo Lógica temporal linear Semântica Considere-se o conjunto de fórmulas para descrever o comportamento de um semáforo Γ = { G(g y r), G(g ( y r)), G(y ( g r)), G(r ( g y)), G(g X y), G(y X r), G(r X g) } Será que Γ (G F g) (G F y) (G F r)? Como é que podemos verificar este tipo de condições? J. Ramos (DM-IST,SQIG-IT) Lógica temporal e aplicações SdM, 7Dez11 25 / 50
Plano Aplicações 1 História 2 Lógica temporal linear Sintaxe Semântica 3 Aplicações Sistemas dedutivos Verificação de modelos 4 Outras lógicas temporais CTL CTL J. Ramos (DM-IST,SQIG-IT) Lógica temporal e aplicações SdM, 7Dez11 26 / 50
Aplicações Sistemas dedutivos Sistema axiomático Axiomas (A0) G ϕ, para toda a fórmula tautológica ϕ (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ência (MP) ϕ, ϕ ψ ψ J. Ramos (DM-IST,SQIG-IT) Lógica temporal e aplicações SdM, 7Dez11 27 / 50
Aplicações Sistemas dedutivos Sistema dedutivo Derivação A fórmula ϕ diz-se derivável do conjunto Γ, o que se denota por Γ ϕ, se existe uma sequência γ 1,..., γ n de fórmulas tal que: γ n é ϕ para i = 1,..., n, cada fórmula γ i ou é um axioma ou é uma fórmula de Γ ou foi obtida de γ j e γ k, com j, k < i, pela regra (MP). J. Ramos (DM-IST,SQIG-IT) Lógica temporal e aplicações SdM, 7Dez11 28 / 50
Aplicações Sistemas dedutivos 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 J. Ramos (DM-IST,SQIG-IT) Lógica temporal e aplicações SdM, 7Dez11 29 / 50
Aplicações Sistemas dedutivos Correcção e completude Correcção Sejam Γ um conjunto de formulas e ϕ uma fórmula. Se Γ ϕ então Γ ϕ. Completude fraca Seja ϕ uma fórmula. Se ϕ então ϕ. J. Ramos (DM-IST,SQIG-IT) Lógica temporal e aplicações SdM, 7Dez11 30 / 50
Completude forte? Aplicações Sistemas dedutivos Considere-se o conjunto Γ = {r, X r, X X r, X X X r,... } É fácil confirmar que Γ G r. No entanto, Γ G r uma vez que as derivações são sempre finitas. J. Ramos (DM-IST,SQIG-IT) Lógica temporal e aplicações SdM, 7Dez11 31 / 50
Verificação de modelos Aplicações Verificação de modelos Problema Dado um sistema T e uma propriedade ϕ, verificar se T ϕ? O sistema é descrito por um sistema de transição (ou por um programa). A propriedade é descrita por uma fórmula LTL (ou de outra lógica temporal). g r J. Ramos (DM-IST,SQIG-IT) Lógica temporal e aplicações SdM, 7Dez11 32 / 50
Verificação de modelos Aplicações Verificação de modelos Sistema Fórmula ϕ Modelo do sistema Fórmula negada ϕ Sistema de transição T Sist. de transição composto T A ϕ Autómato A ϕ T A ϕ F Sim Não + contra-exemplo J. Ramos (DM-IST,SQIG-IT) Lógica temporal e aplicações SdM, 7Dez11 33 / 50
Exemplo Aplicações Verificação de modelos Considere-se um sistem em que dois semáforos são colocados a controlar um cruzamento, mas sem estarem sincronizados. r 1, r 2 r 1, g 2 g 1, r 2 g 1, g 2 J. Ramos (DM-IST,SQIG-IT) Lógica temporal e aplicações SdM, 7Dez11 34 / 50
Exemplo Aplicações Verificação de modelos Queremos garantir que os dois semáforos não estão os dois verdes simultaneamente, o que pode ser expresso pela fórmula ϕ A negação desta fórmula é ϕ Um autómato A ϕ para ϕ G( (g 1 g 2 )). F(g 1 g 2 ). g 1, g 2 g 1 g 2 start q 0 q 1 J. Ramos (DM-IST,SQIG-IT) Lógica temporal e aplicações SdM, 7Dez11 35 / 50
Exemplo Aplicações Verificação de modelos Sistema de transição composto T A ϕ r 1, r 2, q 0 r 1, g 2, q 0 g 1, r 2, q 0 g 1, g 2, q 1 r 1, g 2, q 1 g 1, r 2, q 1 r 1, r 2, q 1 J. Ramos (DM-IST,SQIG-IT) Lógica temporal e aplicações SdM, 7Dez11 36 / 50
Exemplo Aplicações Verificação de modelos Queremos verificar se A ϕ nunca atinge um estado final, isto é, Mas tal não é verdade! Com efeito... T A ϕ q 1? J. Ramos (DM-IST,SQIG-IT) Lógica temporal e aplicações SdM, 7Dez11 37 / 50
Exemplo Aplicações Verificação de modelos Sistema de transição composto T A ϕ r 1, r 2, q 0 r 1, g 2, q 0 g 1, r 2, q 0 g 1, g 2, q 1 r 1, g 2, q 1 g 1, r 2, q 1 r 1, r 2, q 1 J. Ramos (DM-IST,SQIG-IT) Lógica temporal e aplicações SdM, 7Dez11 38 / 50
Exemplo Aplicações Verificação de modelos O sistema de transição atingiu um estado em que q 1 é verdadeiro. Isto significa que a fórmula G( (g 1 g 2 )) é falsificável. A resposta do sistema é Não juntamente com um contra-exemplo: r 1, r 2, q 0 r 1, g 2, q 0 g 1, g 2, q 1 J. Ramos (DM-IST,SQIG-IT) Lógica temporal e aplicações SdM, 7Dez11 39 / 50
Plano Outras lógicas temporais 1 História 2 Lógica temporal linear Sintaxe Semântica 3 Aplicações Sistemas dedutivos Verificação de modelos 4 Outras lógicas temporais CTL CTL J. Ramos (DM-IST,SQIG-IT) Lógica temporal e aplicações SdM, 7Dez11 40 / 50
Outras lógicas temporais CTL CTL - Computation Tree Logic Nesta lógica temporal, a estrutura temporal é ramificada. A linguagem inclui, para além dos operadores temporais, quantificadores sobre os caminhos. J. Ramos (DM-IST,SQIG-IT) Lógica temporal e aplicações SdM, 7Dez11 41 / 50
Outras lógicas temporais CTL - Computation Tree Logic CTL Sintaxe α := p α α α AX α EX α A(α U α) E(α U α). AX α em todos os sucessores α é verdadeira. EX α existe pelo menos um sucessor onde α é verdadeira. A(α 1 U α 2 ) α 1 U α 2 é verdadeira ao longo de todos os caminhos. E(α 1 U α 2 ) α 1 U α 2 é verdadeira ao longo de pelo menos um caminho. J. Ramos (DM-IST,SQIG-IT) Lógica temporal e aplicações SdM, 7Dez11 42 / 50
Outras lógicas temporais CTL - Computation Tree Logic CTL AX r J. Ramos (DM-IST,SQIG-IT) Lógica temporal e aplicações SdM, 7Dez11 43 / 50
Outras lógicas temporais CTL - Computation Tree Logic CTL EX r J. Ramos (DM-IST,SQIG-IT) Lógica temporal e aplicações SdM, 7Dez11 44 / 50
Outras lógicas temporais CTL - Computation Tree Logic CTL E(r U g) J. Ramos (DM-IST,SQIG-IT) Lógica temporal e aplicações SdM, 7Dez11 45 / 50
Outras lógicas temporais CTL - Computation Tree Logic CTL A(r U g) J. Ramos (DM-IST,SQIG-IT) Lógica temporal e aplicações SdM, 7Dez11 46 / 50
CTL vs LTL Outras lógicas temporais CTL As lógicas CTL e LTL não são comparáveis. Teorema Há propriedades que são expressáveis em CTL e que não são expressáveis em LTL. Teorema Há propriedades que são expressáveis em LTL e que não são expressáveis em CTL. J. Ramos (DM-IST,SQIG-IT) Lógica temporal e aplicações SdM, 7Dez11 47 / 50
CTL Outras lógicas temporais CTL Extensão da lógica CTL. Sintaxe α := p α α α X α α U α A α E α. Os quantificadores de caminho e os operadores temporais não têm que aparecem emparelhados. J. Ramos (DM-IST,SQIG-IT) Lógica temporal e aplicações SdM, 7Dez11 48 / 50
CTL vs LTL e CTL Outras lógicas temporais CTL A lógica CTL é mais expressável do que as lógicas CTL e LTL. Teorema Todas as propriedades expressáveis em LTL são expressáveis em CTL. Teorema Todas as propriedades expressáveis em CTL são expressáveis em CTL. Mas... há um preço a pagar! J. Ramos (DM-IST,SQIG-IT) Lógica temporal e aplicações SdM, 7Dez11 49 / 50
Referências Referências 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öger and S. Merz. Temporal logic and state systems. Springer, 2008. 25 Years of Model Checking Symposium. http://www.model.in.tum.de/um/25 J. Ramos (DM-IST,SQIG-IT) Lógica temporal e aplicações SdM, 7Dez11 50 / 50