LÓGICA TEMPORAL

53
ADDSON ARAUJO DA COSTA IGOR LINNIK CAMARA ARAUJO LUANA WANDECY PEREIRA SILVA MARCOS AURÉLIO C. DOS SANTOS ROSANA CAETANO DE FARIA MONTEIRO SILVIO ROMERO DE AZEVEDO COSTA LÓGICA TEMPORAL

description

LÓGICA TEMPORAL. ADDSON ARAUJO DA COSTA IGOR LINNIK CAMARA ARAUJO LUANA WANDECY PEREIRA SILVA MARCOS AURÉLIO C. DOS SANTOS ROSANA CAETANO DE FARIA MONTEIRO SILVIO ROMERO DE AZEVEDO COSTA. LÓGICA TEMPORAL. Introdução Histórico Motivação Estrutura de Kripke Caminhos Padrões LTL - PowerPoint PPT Presentation

Transcript of LÓGICA TEMPORAL

Page 1: LÓGICA TEMPORAL

ADDSON ARAUJO DA COSTA

IGOR LINNIK CAMARA ARAUJO

LUANA WANDECY PEREIRA SILVA

MARCOS AURÉLIO C. DOS SANTOS

ROSANA CAETANO DE FARIA MONTEIRO

SILVIO ROMERO DE AZEVEDO COSTA

LÓGICA TEMPORAL

Page 2: LÓGICA TEMPORAL

IntroduçãoHistóricoMotivaçãoEstrutura de KripkeCaminhosPadrõesLTLCTL*/CTLExpressividadeAplicaçõesVerificação de modelosConclusão

LÓGICA TEMPORAL

Page 3: LÓGICA TEMPORAL

Introdução

Histórico

Motivação

Estrutura de Kripke

LÓGICA TEMPORAL

Page 4: LÓGICA TEMPORAL

Tempo Linear X Tempo Ramificado

Modelos de Tempo

Page 5: LÓGICA TEMPORAL

Na lógica temporal, o tempo não é mencionado explicitamente, mas visto como possíveis seqüências de estados associados às suas transições.

Estado é a descrição do sistema em um dado instante de tempo, ou seja, os valores associados às suas variáveis naquele instante, enquanto transição é uma relação entre dois estados.

Tipicamente, as afirmações sobre o comportamento do sistema em um determinado estado são feitas através de propriedades, e estas por sua vez são expressas como fórmulas de uma linguagem de lógica temporal, que especificam os comportamentos desejados.

A maneira como é feita a representação do tempo nas propriedades, isto é, de maneira linear ou ramificada, faz com que haja dois modelos básicos de lógicas temporais: Linear Temporal Logic (LTL) e Computation Tree Logic (CTL).

Lógica Temporal

Page 6: LÓGICA TEMPORAL

Tempo Linear

É aquele em que o comportamento do sistema consiste no conjunto de traços infinitos que começam no estado inicial i.

Todo o comportamento do sistema é representado por uma árvore computacional de profundidade ilimitada cuja raiz é o estado inicial i.

Tempo Linear X Tempo Ramificado

Tempo Ramificado

Page 7: LÓGICA TEMPORAL

Exemplo:

Tempo Linear

Page 8: LÓGICA TEMPORAL

Exemplo:

Tempo Ramificado

Page 9: LÓGICA TEMPORAL

É uma lógica temporal de tempo linear que interpreta fórmulas sobre funcionamentos do sistema, e faz a caracterização de cada caminho linear proporcionado pelas máquinas de estados finitos.

A lógica LTL considera que há somente um único estado sucessor, ou seja, um único futuro possível, a cada momento do tempo.

As fórmulas LTL são avaliadas sobre caminhos lineares, e uma fórmula somente é considerada verdadeira em um modelo se ela é verdadeira para todos os caminhos iniciando num dos estados iniciais daquele modelo.

Linear Temporal Logic - LTL

Page 10: LÓGICA TEMPORAL

Sintaxe:

Uma fórmula LTL sintaticamente válida é formada pelas variáveis proposicionais p1, p2, (...), os conectivos usuais da lógica proposicional (, , , ), e os seguintes operadores temporais:

o Next: X - é verdadeiro no próximo estado;o Future: F - é eventualmente válida (em algum estado do caminho);o Globally: G - é sempre válida (em todo estado no caminho);o Until: U - é verdadeira no caminho até que seja verdadeira;o Release: R - quando a ocorrência de um estado onde é válida liberta de o ser.o Exists: E - é verdadeiro num caminho S se existe um caminho começando em um

estado So All: A - é verdadeiro para todo caminho começando no estado S.

Os conectivos são X, F e G são usados algumas vezes através dos símbolos , , , respectivamente.

Linear Temporal Logic - LTL

Page 11: LÓGICA TEMPORAL

Caminho - Um caminho em M é uma

seqüência infinita de estados s0 , s1 , s2 , ...

tal que s0 ∈ I e (si , si+1 ∈ R para todo i ≥

0).

LÓGICA TEMPORAL - LTL

Page 12: LÓGICA TEMPORAL

LÓGICA TEMPORAL - LTL

Page 13: LÓGICA TEMPORAL

Semântica - Sejam p ∈ AP uma proposição

atômica, σ caminho infinito e φ, ψ fórmulas

LTL, a relação “satisfaz”, denotada por |=, é

definida por:

LÓGICA TEMPORAL - LTL

Page 14: LÓGICA TEMPORAL

σ |= p ⇔ p ∈ Label(σ[0])

σ |= ¬φ ⇔ not(σ |= φ)

σ |= φ ∧ ψ ⇔ (σ |= φ) and (σ |= ψ)

σ |=Xφ ⇔ σ 1 |= φ

σ |= φUψ ⇔ ∃j ≥ 0, (σ j |= ψ and (∀0 ≤ k < j, σ k |= φ))

LÓGICA TEMPORAL - LTL

Page 15: LÓGICA TEMPORAL

Os padrões mais freqüentes são:

Ausência: quando no contexto se pretende que não ocorram certos eventos ou estados.

Universalidade: quando se pretende que em todo o contexto certa propriedade se verifique.

Existência: quando se pretende que uma propriedade ocorra alguma vez no contexto.

Resposta: dentro do contexto a ocorrência de certo evento (causa) deve ser seguida da ocorrência de outro (efeito).

 

LÓGICA TEMPORAL - LTL

Page 16: LÓGICA TEMPORAL

Axiomas:

- Leis de distribuitividade

 

X ( ) X X X ( ) X X X X F ( ) F F

LÓGICA TEMPORAL - LTL

Page 17: LÓGICA TEMPORAL

Leis de distribuitividade  

F G G( ) G G G F ( ) U ( U ) ( U ) U ( ) ( U ) ( U )

LÓGICA TEMPORAL - LTL

Page 18: LÓGICA TEMPORAL

- Leis de idempotência

 

FF F GG G FGF GF GFG FG U ( U ) U  

LÓGICA TEMPORAL - LTL

Page 19: LÓGICA TEMPORAL

- Leis de expansão

 

F XF G XG U ( X ( U ))  

LÓGICA TEMPORAL - LTL

Page 20: LÓGICA TEMPORAL

Verificação de modelos usando LTL:

Dado um modelo M formalmente representado pela estrutura de Kripke M = ( S, I, R, Label) e uma fórmula LTL φ:

 

M |= φ se e somente se ∀s ∈ I, (∀ Caminhos(s), σ |= φ)

LÓGICA TEMPORAL - LTL

Page 21: LÓGICA TEMPORAL

LTL considera apenas um único estado

Em meados de 80, Clarke e Emerson

Considerar diferentes estados possíveis

Utilizada em vários verificadores de modelos

LÓGICA TEMPORAL

Page 22: LÓGICA TEMPORAL

LTL considera apenas um único estado

Em meados de 80, Clarke e Emerson

Considerar diferentes estados possíveis

Utilizada em vários verificadores de modelos

Full Computation Tree Logic – CTL*

Page 23: LÓGICA TEMPORAL

Possibilidade de descrever MEF como uma árvore de estados infinita

Desdobramento de uma estrutura de Kripke em árvore de computação infinita

Full Computation Tree Logic – CTL*

Page 24: LÓGICA TEMPORAL

Composta por:Fórmulas de estados (ФS)Fórmulas de caminhos (ФP)

• Acrescenta a LTL, quantificadores de caminho: Existencial (E) Universal (A)

Linguagem de uma CTL*

Page 25: LÓGICA TEMPORAL

EαÉ verdadeira em um estado s se existe um

caminho começando em s tal que α é verdadeira neste caminho;

AαÉ verdadeira em um estado s se para todo um

caminho começando em s, α é verdadeira neste caminho.

Fórmulas de estados (ФS)

Page 26: LÓGICA TEMPORAL

Operadores

X

F

G

U

Fórmulas de caminhos (ФP)

Page 27: LÓGICA TEMPORAL

Xα: é verdadeira em um caminho π, se no próximo estado do caminho α é verdadeira

Exemplos…

α

Page 28: LÓGICA TEMPORAL

Fα: é verdadeira em um caminho π, se em algum estado no caminho α é verdadeira

Exemplos…

α

Page 29: LÓGICA TEMPORAL

Gα: é verdadeira em um caminho π, se em todo estado no caminho α é verdadeira

Exemplos…

αα αα

Page 30: LÓGICA TEMPORAL

αUβ: é verdadeira em um caminho π, se α é verdadeira no caminho até que β seja verdadeira

Exemplos…

αα β

Page 31: LÓGICA TEMPORAL

Gerada pela BNF:

ФS ::= P | (¬ФS) | (ФS ∧ ФS) | (ФS ∨ ФS) | (ФS → ФS) | (EФP) | (AФP)

ФP ::= ФS | (¬ФP) | (ФP ∧ ФP) | (ФP ∨ ФP) | (ФP → ФP) | (XФP) | (FФP) | (GФP) | (ФP U ФP)

Definição da Linguagem de CTL*

Page 32: LÓGICA TEMPORAL

Dada pela definição ⊨ de CTL

Satisfação em estadoK ⊨s α

Satisfação em caminhoK ⊨π α

Semântica da CTL*

Page 33: LÓGICA TEMPORAL

K ⊨s P ⇔ P ∈ L(s)

K ⊨s (¬α) ⇔ NOT K ⊨s α

K ⊨s (α ∧ β) ⇔ K ⊨s α E K ⊨s β

K ⊨s (α ∨ β) ⇔ K ⊨s α OU K ⊨s β

K ⊨s (α → β) ⇔ SE K ⊨s α ENTÃO K ⊨s β

K ⊨s (Eα) ⇔ Existe um caminho π a partir de s tal que K ⊨π α

K ⊨s (Aα) ⇔ Para todo caminho π a partir de s vale que K ⊨π α

Satisfação em Estado:Semântica de CTL*

Page 34: LÓGICA TEMPORAL

K ⊨π α ⇔ se α é uma fórmula da linguagem Фs, K ⊨π0 α

K ⊨π (¬α) ⇔ NOT K ⊨π α

K ⊨π (α ∧ β) ⇔ K ⊨π α E K ⊨π β

K ⊨π (α ∨ β) ⇔ K ⊨π α OU K ⊨π β

K ⊨s (α → β) ⇔ SE K ⊨π α ENTÃO K ⊨π β

K ⊨π (Xα) ⇔ K ⊨π1,∞ α

K ⊨π (Fα) ⇔ Existe um k ≥ 0 tal que K ⊨πk,∞ α

K ⊨π (Gα) ⇔ Para todo k ≥ 0 vale que K ⊨πk,∞ α

K ⊨π (αUβ) ⇔ Existe k ≥ 0 tal que K ⊨πk,∞ β e para todo 0 ≤ l < k vale que K ⊨πl,∞ α

Satisfação em Caminho:Semântica de CTL*

Page 35: LÓGICA TEMPORAL

Subconjunto da CTL*

Operador temporal precedido por quantificador de caminho

Semântica e operadores = CTL*

Computation Tree Logic - CTL

Page 36: LÓGICA TEMPORAL

[EX]α – existe um caminho tal que no próximo estado vale α

Linguagem de CTL:

α

Page 37: LÓGICA TEMPORAL

[AX]α – para todo caminho no próximo estado vale α

Linguagem de CTL:

α α

Page 38: LÓGICA TEMPORAL

[EF]α – existe um caminho tal que no futuro vale α

Linguagem de CTL:

α

Page 39: LÓGICA TEMPORAL

[AF]α – para todo caminho no futuro vale α

Linguagem de CTL:

α α

α

Page 40: LÓGICA TEMPORAL

[EG]α – existe um caminho tal que sempre vale α

Linguagem de CTL:

α

α

α

Page 41: LÓGICA TEMPORAL

[AG]α – para todo caminho vale sempre α

Linguagem de CTL:

α

αα

α α α α

Page 42: LÓGICA TEMPORAL

E(αUβ) – existe um caminho tal que vale α até que vale β

Linguagem de CTL:

α

β

Page 43: LÓGICA TEMPORAL

A(αUβ) – para todo caminho vale α até que vale β

Linguagem de CTL:

β β

αβ

α

Page 44: LÓGICA TEMPORAL

Existe uma discussão sobre a melhor lógica para expressar propriedades, LTL ou CTL. Contudo, as propriedades usualmente utilizadas na verificação de tais sistemas podem ser expressas nas duas lógicas. Propriedades podem ser descritas em uma lógica e não podem na outra, e vice-versa. A maior parte das propriedades pode ser expressa tanto em CTL quanto em LTL.

Expressividade [ CTL x LTL ]

Page 45: LÓGICA TEMPORAL

Por exemplo, a invertibilidade apenas pode ser expressa em CTL.

Propriedades existenciais não podem ser expressas na lógica LTL. Este tipo de propriedade é muito útil na procura de possíveis deadlocks em um sistema. Já a lógica CTL, não é capaz de expressar algumas propriedades de razoabilidade.

Expressividade [ CTL x LTL ]

Page 46: LÓGICA TEMPORAL

Cada uma destas lógicas é usada em situações diferentes, pois o uso de uma lógica ou da outra depende do tipo de propriedade que se quer verificar.

O quantificador existencial (E) foi incluso na lógica CTL, mas isso não faz com que a mesma tenha um poder de expressividade maior do que a lógica LTL. As expressividades de LTL e CTL são incomparáveis.

Expressividade [ CTL x LTL ]

Page 47: LÓGICA TEMPORAL

APLICAÇÕES

Page 48: LÓGICA TEMPORAL

Sistema de controle de uma aeronaveSistema de controle de uma usina nuclearSistema de controle de tráfego aéreo

Sistemas de segurança crítica

Page 49: LÓGICA TEMPORAL

Produção em massa de produtos eletrônicos.Programa de Estimativa de vendasSimulador de investimentos

Sistemas críticos de comercialização

Page 50: LÓGICA TEMPORAL

Principal aplicaçãoExemplos:

"será sempre o caso que...“será o caso que...“"sempre foi o caso que...“"foi o caso que..."

Formalização de sentenças envolvendo o tempo

Page 51: LÓGICA TEMPORAL

VERIFICAÇÃO DE MODELOSExemplos de implementações de verificação de modelos:SMV: Symbolic Model VerifierSMVNu: software livreSPINUPPAAL: trata de tempo-realHYTECH: autômatos híbridosPRISM: autômatos estocásticos

Page 52: LÓGICA TEMPORAL

Lógicas temporais formalizam de modo natural problemas computacionais.

A verificação das especificações de modelos pode ser feita automaticamente, através de provadores de teorema ou checagem de modelos.

CONCLUSÃO

Page 53: LÓGICA TEMPORAL

http://poesiagnosticaefilosofia.blogspot.com/2006/05/lgica-temporal-algo-descartavel-frente_12.html

http://es.wikipedia.org/wiki/L%C3%B3gica_temporal http://pt.wikipedia.org/wiki/Regra_de_infer%C3%AAncia http://en.wikipedia.org/wiki/Temporal_logic http://plato.stanford.edu/entries/logic-temporal/ http://pt.wikibooks.org/wiki/L%C3%B3gica:_L%C3%B3gicas_N%C3%A3o-cl

%C3%A1ssicas:_Introdu%C3%A7%C3%A3o http://books.google.com.br/books?id=ZFY3S8iinfMC&pg=PA2842&lpg=PA2842&dq=l

%C3%B3gica+temporal&source=bl&ots=MomERmQf3j&sig=_bbRg7A7GNx8Tr8tZkvQNAgBXkQ&hl=pt-BR&ei=HGB3SqCbMcmptgfVgc2WCQ&sa=X&oi=book_result&ct=result&resnum=9#v=onepage&q=l%C3%B3gica%20temporal&f=false

http://www.itl.nist.gov/div897/sqg/dads/HTML/temporllogic.html http://lat.inf.tu-dresden.de/teaching/ss2006/tl/ http://books.google.com.br/books?id=ghy2CMU2FIoC&pg=PA995&lpg=PA995&dq=E.

+Allen+Emerson:+Temporal+and+Modal+Logic.+In+J.+van+Leeuwen&source=bl&ots=5dMvWy4Aih&sig=XyaR2rJ-KHN7C4pTcbGgRioOM5o&hl=pt-BR&ei=Rox4Su-BLYajtgfFh92WCQ&sa=X&oi=book_result&ct=result&resnum=1#v=onepage&q=&f=false

Slides explicativos relacionados ao tema.

Referências