Title: Slide sem t
1Lógica Temporal
por
Ulrich Schiel
? COPIN - Coordenação de Pós Graduação em
Informática - UFPB
2POR QUE LÓGICA TEMPORAL ?
separação entre ESPAÇO X
TEMPO (Geometria x
Aritmética) (Métrica x Ordem)
3O QUE É O TEMPO ????
Se ninguém me perguntar, eu sei se o quiser
explicar, ja não sei Santo Agostinho - (354-430)
4BIBLIOGRAFIA
N. Edelweiss J. Palazzo M. de Oliveira
Modelagem de Aspectos Temporais de Sistemas
de Informação IX Escola de Computação,
Recife, 1994 A. Galton Temporal Logics and their
Applications Academic Press, 1987 Z.
Manna A. Pnueli The Temporal Logic of Reactive
and Concurrent Systems Springer Verlag,
1991 U. Schiel Aspectos Temporais em Sistemas de
Informação, Relatório Técnico DSC
001/96, UFPB/DSC, 1996
5O TEMPO em sistemas de informação
Modelagem temporal
Modelagem comportamental
Estuda as ações e reações do sistema aos eventos
Estuda os tempos quando eventos ocorre ou fatos
existem
- Bancos de Dados Temporais
- Lógica temporal
- Lógica de intervalos
6dicotomia filosófica de visão do TEMPO e ESPAÇO
visão relativista (Leibnitz) As coisas
existem no espaço e determinam o
tempo Calendários Lógica do Tempo
visão absolutista (Newton) o tempo (e o espaço
vazio) existem a priori. Lógica Temporal
7t
agora
futuro
passado
Qual é o ZERO do eixo do tempo da visão
absolutista?
Analogamente
aqui
8Além do zero o tempo deve ter uma ordem e
uma métrica.
- O conjunto T do tempo é totalmente ordenado pela
- relação ? (antes ou ao mesmo tempo), ou seja
- ?t1, t2, t3?T vale
- t1 ? t1 (reflexividade)
- t1 ?t2 ? t2?t1 ? t1 t2 (antisimétrica)
- t1 ?t2 ? t2?t1 (linearidade)
- (t1 ?t2 ? t2?t3) ? t1?t3 (transitividade)
9Além do zero o tempo deve ter uma métrica.
Uma métrica para o conjunto T do tempo é uma
função d TxT -gtgt R que 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 t2 d(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.
10Consideraçõ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
Lógica Primeira Ordem ou Modal
11Lógica Temporal
É uma Lógica Modal
Principais operadores modais
P - P será sempre verdadeiro
ltgt P - P será verdadeiro alguma vez
() P - P será verdadeiro no próximo estado
P até Q - P será verdadeiro até Q ocorrer
P com Q - P será verdadeiro com a próxima
ocorrência de Q
FATOS P ? ltgt P P ? () P P até Q
? Q com (P ? Q) ? ()ltgt Q
12EXEMPLOS
1. Todo dia dou um passeio no parque 2. Alguma
noite irei busca-la 3. Vou chorar até você voltar
para, então, parar
Seja P é dia Q passeio no parque R
vou buscar você S estou chorando T sua volta
Então temos 1. (P ? ltgtQ) ??
(P ? (Q até P ))
2. ltgt (P ? R )
3. S até T ? (T ? ()S))
13 T1 p ? ltgtp T2 ltgtp ? p T3 ()p ?
()p T4 p ? ltgtp T5 p ? p T6 ltgtp ?
ltgtp
AXIOMAS
14Variantes da Lógica Temporal
Lógica Temporal com passado
P - sempre no futuro - P - sempre no passado
ltgt P - Alguma vez no futuro lt-gt 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)
15Aplicações
INTELIGÊNCIA ARTIFICIAL
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,
..)
PROGRAMAÇÃO
programação concorrente
verificação de programas corretude (safety) P
? Q vitalidade (liveness) P ?
ltgtQ precedência P ? Q com R
16BANCOS DE DADOS Consistência Temporal Um
carro deve ir para a revisão de 3 em 3
anos (revisão(c) ano-atual - 3 ?
ltgt(revisão(c) antes fim(ano-atual)
1) salários não podem baixar temSalário(x, s) ?
( s(temSalário(x,s) s s) ) 2) quem ja
foi empregado, nunca mais pode ser admitido lt-gt
( EXy(trabalhaPara(x,y))) ? EXECUTABLE(admitir(x)
)
17BANCOS DE DADOS Consistência Temporal Um
carro deve ir para a revisão de 3 em 3
anos (revisão(c) ano-atual - 3 ?
ltgt(revisão(c) antes fim(ano-atual)
Bancos de dados Temporais
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 a chuva de ontem (evento) - ontem
choveu (processo)
18Lógica de Intervalos de Allen
Dados dois intervalos I e J, vale um dos
predicados
BEFORE(I,J) MEETS(I,J) OVERLAP(I,J) BEGIN(I,J)
DURING(I,J) EQUIVALENT(I,J) END(I,J)
19Modelagem Comportamental
Lógica Dinâmica
programa pós-condição
Linguagem Programas P, Q, ... Proposições
p, q, r, ...
PQ ? P ? Q ? são programas P
? p? ?
p ? q ? ?p ? são proposições ltPgtp ?
Definição Pp ?def ?ltPgt?p
sempre que P terminar, p é verdadeiro