LÓGICA TEMPORAL COM RAMIFICAÇÕES - Inf

Propaganda
LÓGICA TEMPORAL COM RAMIFICAÇÕES
(Branching time temporal logics)
UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL
INSTITUTO DE INFORMÁTICA
Lógica para computação
Ananias Tessaro
Bruno Fernandes
Lucas Lopes
Lógica Temporal
●
●
O objetivo da lógica temporal é a especificação de
propriedades de sistemas dinâmicos.
Lógica Temporal permite que se raciocine sobre
uma seqüência de estados. Quando a lógica
permite expressar apenas a possibilidade ou
necessidade de ocorrência de algumas
(seqüências finitas de) ações, ela é de fato
chamada lógica modal. Quando ela permite além
disso, expressar que uma propriedade é sempre
verdadeira, ou verdadeira no futuro sobre
seqüências infinitas de comportamento, então ela é
chamada de lógica temporal
Lógica Temporal
●
●
Lógica temporal é uma extensão de lógica
convencional que incorpora operadores
especiais para relacionar a validade das
fórmulas lógicas à evolução do sistema.
Em argumentos informais sobre assuntos
não matemáticos, o tempo é algumas vezes
crucial. Podendo ser analogamente
verificado no exemplo: “José casa com
Maria, José casou com Maria, José casará
com Maria”.
Lógica Temporal
●
●
A lógica clássica trata de “verdades eternas",
no sentido em que a linguagem não dispõe
de nenhum mecanismo para representar
explicitamente o tempo e suas
conseqüências sobre os valores verdade de
fórmulas lógicas.
A principal característica de uma lógica
temporal é o fato de uma determinada
fórmula lógica poder apresentar valores
verdade distintos em instantes diferentes do
tempo.
Lógica Temporal
●
Seja A uma fórmula qualquer:
●
(i) FA - A será verdade em algum instante no
futuro;
●
(ii) PA - A foi verdade em algum instante no
passado;
Lógica Temporal
●
(iii) GA - A será verdade em todos os
●
instantes do futuro;
(iv) HA - A foi verdade em todos os instantes
do passado.
Lógica Linear Vs. Lógica
Ramificada
●
Existem dois grandes grupos de lógica
temporal: em lógica temporal linear,
operadores descrevem propriedades
presentes em todas as possíveis trajetórias
do sistema; em árvore de computação lógica
(CTL), operadores temporais inferem sobre
diferentes trajetórias a partir de um dado
estado.
Modelos para Lógica Temporal
●
●
●
Modelos de lógicas temporais contém
diversos estados e uma fórmula pode ser
verdadeira em alguns estados e falsa em
outros.
A noção estática de verdade é substituída
por uma noção dinâmica.
Modelos são espécies de sistemas de
transição e as propriedades são fórmulas em
lógica temporal.
Lógica Temporal CTL
●
●
●
●
●
Lógicas modais, como HML, podem expressar
capacidades e necessidades locais de processos.
HML não pode expressar propriedades duradouras
como “ um tick é sempre possivel como uma
próxima ação” ou propriedades inevitáveis com o
passar do tempo como “um tick acontecerá mais
cedo ou mais tarde”.
CTL significa Computation Tree Logic.
CTL contém operadores que nos permitem refererir
ao Futuro.
Modelo de computação é uma estrutura ramificada
(árvore), no sentido que diferentes caminhos são
possíveis no futuro.
CTL - Sintaxe - Formal
CTL - Sintaxe - Informal
●
●
●
●
●
●
As formulas em CTL são as fórmulas
acrescidas dos operadores temporais
AG,AF,EG,EF.
Cada conectivo é um par de símbolos.
A significa “ao longo de todos os caminhos”
(inevitavelmente).
E significa “ao longo de pelo menos um
caminho” (possivelmente).
F significa “em algum estado futuro”.
G significa “em todos os estados futuros
(globalmente)”.
CTL - Execuções (Runs)
●
●
Uma outra abstração para o comportamento
de um processo, além da noção de grafo de
transição, é o conceito de execução (run).
Uma execução de P0 é uma seqüência finita
ou infinita de transições.
CTL - Sintaxe - Informal
Exemplo
Exemplo
Referências
●
●
●
Lógica Proposicional disponivel em:
http://www.inf.pucrs.br/~alfio/ParadigmasFormais/temporal-logic.pdf.
MARTINI, Alfio. Lógica Proposicional - Lógicas Modais e Temporais Para
Computação.
SRINIVASAN, Jai. EMERSON, E. Allen. Branching Time Temporal Logic Lecture Notes In Computer Science 354 P.
Download