Lógica temporal

19
Dados Temporais por Ulrich Schiel COPIN - Coordenação de Pós Graduação em Informática - UFCG

description

Análise do conceito de tempo em Sistemas de Informação

Transcript of Lógica temporal

Page 1: Lógica temporal

Dados Temporais

por

Ulrich Schiel

COPIN - Coordenação de Pós Graduação em Informática - UFCG

Page 2: Lógica temporal

POR QUE

LÓGICA TEMPORAL ?

separação entre

ESPAÇO X TEMPO

(Geometria x Aritmética)(Métrica x Ordem)

Page 3: Lógica temporal

Se ninguém me perguntar, eu sei;se o quiser explicar, ja não sei

Santo Agostinho - (354-430)

O QUE É O TEMPO ????

Page 4: Lógica temporal

N. Edelweiss & J. Palazzo M. de Oliveira “Modelagem de Aspectos Temporais de Sistemas de Informação” IX Escola de Computação, Recife, 1994A. Galton “Temporal Logics and their Applications” Academic Press, 1987Z. Manna & A. Pnueli “The Temporal Logic of Reactive and Concurrent Systems” Springer Verlag, 1991U. Schiel “Aspectos Temporais em Sistemas de Informação”, Relatório Técnico DSC 001/96, UFPB/DSC, 1996

BIBLIOGRAFIA

Page 5: Lógica temporal

O TEMPO em sistemas de informação

Modelagemtemporal

Modelagem comportamental

Estuda os temposquando eventos ocorreou fatos existem

Estuda as açõese reações do sistemaaos eventos

•Bancos de Dados Temporais•Lógica temporal•Lógica de intervalos

•Bancos de Dados Ativos

Page 6: Lógica temporal

visão absolutista (Newton)

o tempo (e o espaço vazio) existem a priori.

Lógica Temporal

visão relativista (Leibnitz)

As ’coisas’ existem no espaçoe determinam o tempo

CalendáriosLógica do Tempo

dicotomia filosófica de visão do TEMPO e ESPAÇO

Page 7: Lógica temporal

aqui

t

Qual é o ‘ZERO’ do eixo do tempo da visão absolutista?

agorapassado futuro

Analogamente:

Page 8: Lógica temporal

O conjunto T do tempo é totalmente ordenado pela relação (antes ou ao mesmo tempo), ou seja

t1, t2, t3T vale t1 t1 (reflexividade) t1 t2 t2t1 t1 = t2 (antisimétrica) t1 t2 t2t1 (linearidade) (t1 t2 t2t3) t1t3 (transitividade)

Além do zero o tempo deve ter uma ordem e uma métrica.

Page 9: Lógica temporal

Além do zero o tempo deve ter uma métrica.

Uma métrica para o conjunto T do tempo é uma função

d : TxT ->> Rque associa a cada par de elementos de T um número real tal que, para todo t1, t2 e t3 em T, temos

d(t1,t2) = 0 t1 = t2d(t1,t2) = d(t2,t1)d(t1,t2) + d(t2,t3) d(t1,t3)

Se o tempo é um conjunto discreto a métrica é dada por uma constante associada a dois pontos adjacentes, denominada chronon. Pode ser um segundo, uma hora, um século, etc.

Page 10: Lógica temporal

Lógica: Primeira Ordem ou Modal

Considerações/modelos sobre o tempo:

elemento primitivo: Ponto ou Intervalo

Densidade: Discreto (enumerável) ou Contínuo

Espaço: Presente ou Futuro ou Passado ou Presente e Futuro ou todos os tempos

Ordem: Linear ou Ramificado ou Paralelo

Page 11: Lógica temporal

É uma Lógica Modal

Principais operadores modais

[] P - P será sempre verdadeiro

<> P - P será verdadeiro alguma vez

() P - P será verdadeiro no próximo estado

P até Q - P será verdadeiro até Q ocorrer

FATOS: [] P ~<> ~P[] P ()[] P P até Q Q com (P Q) ()<> Q

P com Q - P será verdadeiro com a próxima ocorrência de Q

Lógica Temporal

Page 12: Lógica temporal

EXEMPLOS

1. Todo dia dou um passeio no parque2. Alguma noite irei busca-la3. Vou chorar até você voltar para, então, parar

Seja: P = é diaQ = passeio no parqueR = vou buscar vocêS = estou chorandoT = sua volta

Então temos: 1. [](P <>Q) ?? [] (P ~(~Q até ~P ))

2. <> (~P R )

3. S até T (T ()~S))

Page 13: Lógica temporal

AXIOMAS

T1: []p ~<>~p

T2: <>p ~[]~p

T3: ()~p ~()p

T4: p <>p

T5: []p p

T6: <>[]p []<>p

Page 14: Lógica temporal

Variantes da Lógica Temporal

Lógica Temporal com passado

[+] P - sempre no futuro [-] P - sempre no passado

<+> P - Alguma vez no futuro <-> P - alguma vez no passado

Lógica Temporal ramificada

T - em todo futuro A - em algum futuro

EXEMPLO: o programa pode dar um deadlock (D). Neste caso, vou interromper o sistema (IS)

A(D () IS) Ou melhor: A(D) (D () IS)

Page 15: Lógica temporal

Raciocínio temporal[](trovão (-) raios) “todo trovão é precedido por raios”

Processamento de linguagem natural(Termos quando, enquanto, ontem, sempre, depois, conjugação

dos verbos, ..)

Aplicações:

verificação de programascorretude (safety) P []Qvitalidade (liveness) P <>Qprecedência P Q com R

programação concorrente

INTELIGÊNCIA ARTIFICIAL

PROGRAMAÇÃO

Page 16: Lógica temporal

BANCOS DE DADOS

Consistência Temporal Um carro deve ir para a revisão de 3 em 3 anos:

[](revisão(c) = ano-atual - 3 <>(revisão(c) antes fim(ano-atual)

1) salários não podem baixar

temSalário(x, s) [+] (V s’(temSalário(x,s’) s<= s’) )

2) quem ja foi empregado, nunca mais pode ser admitido

<-> ( EXy(trabalhaPara(x,y))) ~EXECUTABLE(admitir(x) )

Page 17: Lógica temporal

Teoria Geral de Ações e Tempo de Allen

1) Entidades e relacionamentos vale(p,I) I’ I (vale(p, I’)

2) Eventos (longos) ocorre(E, I) I’ I (~ocorre(E, I’))

3) Processos: ocorrendo(P, I) I’ I (ocorrendo(p, I’)

EXEMPLOS: - ontem choveu (processo) ocorrendo(almoço, 12hs-14hs)

EXEMPLOS: a chuva de ontem (evento) ocorre(SBBD2005, 3-7.10.2005)

EXEMPLOS: vale(ESTUDANTE-PG(Valéria), 1.3.2003-28.2.2005)

Page 18: Lógica temporal

Lógica de Intervalos de Allen

BEFORE(I,J)

MEETS(I,J)

OVERLAP(I,J)

BEGIN(I,J)

DURING(I,J)

EQUIVALENT(I,J)

END(I,J)

Dados dois intervalos I e J, vale um dos predicados

Page 19: Lógica temporal

Definição: [P]p def <P>p “toda execução de P torna p é verdadeiro”

Modelagem Comportamental

Lógica Dinâmica: [programa] pós-condição

Linguagem:Programas: P, Q, ...Proposições: p, q, r, ...

p q p são proposições<P>p

P::Q P Q são programasP* p?