2. POR QUE
LÓGICA TEMPORAL ?
separação entre
ESPAÇO X TEMPO
(Geometria x Aritmética)
(Métrica x Ordem)
3. Se ninguém me perguntar, eu sei;
se o quiser explicar, ja não sei
Santo Agostinho - (354-430)
O QUE É O TEMPO ????
4. 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
BIBLIOGRAFIA
5. O TEMPO
em sistemas de informação
Modelagem
temporal
Modelagem
comportamental
Estuda os tempos
quando eventos ocorre
ou fatos existem
Estuda as ações
e reações do sistema
aos eventos
•Bancos de Dados Temporais
•Lógica temporal
•Lógica de intervalos
•Bancos de Dados Ativos
6. 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ço
e determinam o tempo
Calendários
Lógica do Tempo
dicotomia filosófica de visão do
TEMPO e ESPAÇO
7. aqui
t
Qual é o ‘ZERO’
do eixo do tempo da visão absolutista?
agora
passado futuro
Analogamente:
8. 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)
Além do zero o tempo deve ter
uma ordem e uma métrica.
9. 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 ->> 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.
10. 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
11. É 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
Lógica Temporal
12. EXEMPLOS
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 → <>Q) ?? [] (P → ~(~Q até ~P ))
2. <> (~P → R )
3. S até T ∧ (T → ()~S))
14. 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)
15. 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 programas
corretude (safety) P ⇒ []Q
vitalidade (liveness) P ⇒ <>Q
precedência P ⇒ Q com R
programação concorrente
INTELIGÊNCIA ARTIFICIAL
PROGRAMAÇÃO
16. 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) )
17. 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)
18. 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
19. 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 programas
P*
p?