bases formales de la computación - javeriana, cali

Post on 04-Nov-2021

2 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Gerardo M.Sarria M.

Logica Modal

LogicaTemporal

LogicaTemporalLineal

Bases Formales de la Computacion

Gerardo M. Sarria M.

Pontificia Universidad Javeriana

3 de abril de 2009

Gerardo M.Sarria M.

Logica Modal

LogicaTemporal

LogicaTemporalLineal

LOGICAS MODALES

Gerardo M.Sarria M.

Logica Modal

LogicaTemporal

LogicaTemporalLineal

Contenido

1 Logica Modal

2 Logica Temporal

3 Logica Temporal Lineal

Gerardo M.Sarria M.

Logica Modal

LogicaTemporal

LogicaTemporalLineal

¿Que es la logica Modal?

Variedad de diferentes sistemas

Dificultad para dar una definicion que cubra a todos

Respuesta superficial: una logica que tiene una modalidado muchas modalidades en ella.

Una modalidad es un conectivo que toma una formula (oformulas) y produce una nueva formula con un nuevosignificado.

Gerardo M.Sarria M.

Logica Modal

LogicaTemporal

LogicaTemporalLineal

¿Que es la logica Modal?

Variedad de diferentes sistemas

Dificultad para dar una definicion que cubra a todos

Respuesta superficial: una logica que tiene una modalidado muchas modalidades en ella.

Una modalidad es un conectivo que toma una formula (oformulas) y produce una nueva formula con un nuevosignificado.

Gerardo M.Sarria M.

Logica Modal

LogicaTemporal

LogicaTemporalLineal

¿Que es la logica Modal?

Similar los conectivos logicos clasicos: ¬ toma una formula A yproduce una nueva formula ¬A, o → toma dos formulas A y By produce una formula A→ B.

La unica diferencia es que en la logica clasica, el valor deverdad de ¬A esta determinado unicamente por el valor de A, yel valor de A→ B es una funcion de los valores de A y B.

¡Las modalidades no son funciones de verdad!

Gerardo M.Sarria M.

Logica Modal

LogicaTemporal

LogicaTemporalLineal

Ejemplos (Modalidades Unarias)

◻A: “es necesario que A”

◇A: “es posible que A”

G A: “siempre en el futuro, A sera cierto”

F A: “en algun momento en el futuro, A sera cierto”

P A: “en algun momento en el pasado, A fue cierto”

Ki A: “el agente i sabe que A”

Bi A: “el agente i cree que A”

[prog]A: “despues de cualquier ejecucion del programaprog , el estado satisface la propiedad A”

⟨prog⟩A: “existe una ejecucion del programa prog , cuyoresultado en un estado satisface la propiedad A”

Gerardo M.Sarria M.

Logica Modal

LogicaTemporal

LogicaTemporalLineal

Ejemplos (Modalidades Binarias)

A→ B

U(A, B): “hasta que A sea cierta, B es cierta”

t2t1B

A

Gerardo M.Sarria M.

Logica Modal

LogicaTemporal

LogicaTemporalLineal

Logica Modal Basica: Sintaxis

Alfabeto:

Un conjunto de variables proposicionalesProp = {p1, p2, . . . ,}Conectivos booleanos ¬ y → (∧, ∨ y ↔ se pueden definir)

Modalidad (unaria) ◻ (◇ se puede definir)

Una formula bien formada:

A, B, . . . ∶∶= p ∣ ¬A ∣ A→ B ∣ ◻A

Gerardo M.Sarria M.

Logica Modal

LogicaTemporal

LogicaTemporalLineal

Definiciones

A ∨ B = ¬A→ B

A ∧ B = ¬(A→ ¬B)A ↔ B = (A→ B) ∧ (B → A)◇A = ¬ ◻ ¬A

Gerardo M.Sarria M.

Logica Modal

LogicaTemporal

LogicaTemporalLineal

Semantica

¿Como describir axiomaticamente las formulas validas?

Respuesta: Las estructuras de los posibles mundos!

La idea es usar grafos (W , R), R ⊆ W ×W , como modelos parala logica modal y pensar en W como el conjunto de posiblesmundos y R como una relacion alternativa.

(W , R, x) ⊧ ◻A iff (W , R, y) ⊧ A ∀y . x R y

Gerardo M.Sarria M.

Logica Modal

LogicaTemporal

LogicaTemporalLineal

Semantica

¿Como describir axiomaticamente las formulas validas?

Respuesta: Las estructuras de los posibles mundos!

La idea es usar grafos (W , R), R ⊆ W ×W , como modelos parala logica modal y pensar en W como el conjunto de posiblesmundos y R como una relacion alternativa.

(W , R, x) ⊧ ◻A iff (W , R, y) ⊧ A ∀y . x R y

Gerardo M.Sarria M.

Logica Modal

LogicaTemporal

LogicaTemporalLineal

Semantica de Kripke

Una estructura de Kripke es una tupla M = ⟨W , R, V ⟩, donde

W es un conjunto no vacıo (posibles mundos)

R ⊆ W ×W es una relacion de accesibilidad

V ∶ (Prop ×W )→ {true,false} es una funcion devaluacion

El grafo proveera la informacion de cuales variablesproposicionales seran verdad en cuales vertices.

Gerardo M.Sarria M.

Logica Modal

LogicaTemporal

LogicaTemporalLineal

Ejemplo

w 4 w 5

w 2w 1 w 3

Gerardo M.Sarria M.

Logica Modal

LogicaTemporal

LogicaTemporalLineal

Ejemplo

w 4 w 5

w 2w 1 w 3

V (p, w1) = true, V (q, w1) = falseV (p, w2) = true, V (q, w2) = true

V (p, w3) = true, V (q, w3) = falseV (p, w4) = false, V (q, w4) = trueV (p, w5) = false, V (q, w5) = true

Gerardo M.Sarria M.

Logica Modal

LogicaTemporal

LogicaTemporalLineal

Ejemplo

w 4 w 5

= {p} w 2w 1 = {p}w 3

= {q} = {q}

= {p, q}

Gerardo M.Sarria M.

Logica Modal

LogicaTemporal

LogicaTemporalLineal

Significado de las Formulas

Dado M = ⟨W , R, V ⟩ y w ∈ W , se define lo que significa parauna formula ser verdad (nocion de satisfacer) en un mundo wde un modelo M:

M, w ⊧ p sii V (p, w) = trueM, w ⊧ ¬A sii M, w ⊭ AM, w ⊧ A→ B sii M, w ⊭ A o M, w ⊧ BM, w ⊧ ◻A sii para todo v accesible desde w

(∀v t.q. R(w , v)), M, v ⊧ A

Gerardo M.Sarria M.

Logica Modal

LogicaTemporal

LogicaTemporalLineal

Ejemplo

w 4 w 5

= {p} w 2w 1 = {p}w 3

= {q} = {q}

= {p, q}

M, w1 ⊧ ◻qM, w1 ⊧ ¬ ◻ p

M, w1 ⊧ ¬ ◻ ¬pM, w1 ⊧◇p

M, w1 ⊧◇◻ p

Gerardo M.Sarria M.

Logica Modal

LogicaTemporal

LogicaTemporalLineal

Validez (y Satisfacibilidad)

Una formula A es cierta en un modelo M si se satisface entodos los mundos de M.

Una formula A es valida si es cierta en todos los modelos.

Una formula es satisfacible si su negacion no es valida (sise satisface en por lo menos un mundo de un modelo)

Gerardo M.Sarria M.

Logica Modal

LogicaTemporal

LogicaTemporalLineal

Validez (y Satisfacibilidad)

Ejemplos:

◻p → ◻p es valido (tautologıa proposicional)

◻(p → p) es valido (porque p → p es verdad en todos lomundos accesibles, donde sea que se este)

◻p → p no es valido (el conjunto {◻p,¬p} es satisfacibleen algunos mundos).

Gerardo M.Sarria M.

Logica Modal

LogicaTemporal

LogicaTemporalLineal

¿Que se puede expresar en la logica modal?

Utilidades:

los posibles mundos son estados en una computacion,

R es una relacion de transicion,

V nos dice cuales propiedades son ciertas en cual estado.

Gerardo M.Sarria M.

Logica Modal

LogicaTemporal

LogicaTemporalLineal

¿Que se puede expresar en la logica modal?

Ejemplo:

Suponga que se tienen dos procesos/agentes A y B.

Cada uno tiene una variable booleana local (A tiene a, Btiene b).

Todo lo que hacen es: cambian el valor de su variable; sesuspenden; luego vuelven a cambiar el valor de nuevo.

Se asume que sus acciones son intercaladas (no seejecutan simultaneamente)

Gerardo M.Sarria M.

Logica Modal

LogicaTemporal

LogicaTemporalLineal

¿Que se puede expresar en la logica modal?

Ejemplo:

b

b

a a

w2

w1w4

w3

b

a a

b

Gerardo M.Sarria M.

Logica Modal

LogicaTemporal

LogicaTemporalLineal

¿Que se puede expresar en la logica modal?

¿Que podemos afirmar de este sistema en la logica modal?

◇¬a ∧ ◇a

◇¬b ∧ ◇b

a ∧ b → ◻(¬a ∨ ¬b)a ∧ b →◇◇ (a ∧ b)

Basicamente, cuales estados se pueden alcanzar y en cuantospasos.

Gerardo M.Sarria M.

Logica Modal

LogicaTemporal

LogicaTemporalLineal

¿Que se puede expresar en la logica modal?

¿Que podemos afirmar de este sistema en la logica modal?

◇¬a ∧ ◇a

◇¬b ∧ ◇b

a ∧ b → ◻(¬a ∨ ¬b)a ∧ b →◇◇ (a ∧ b)

Basicamente, cuales estados se pueden alcanzar y en cuantospasos.

Gerardo M.Sarria M.

Logica Modal

LogicaTemporal

LogicaTemporalLineal

¿Que se puede expresar en la logica modal?

¿Que podemos afirmar de este sistema en la logica modal?

◇¬a ∧ ◇a

◇¬b ∧ ◇b

a ∧ b → ◻(¬a ∨ ¬b)a ∧ b →◇◇ (a ∧ b)

Basicamente, cuales estados se pueden alcanzar y en cuantospasos.

Gerardo M.Sarria M.

Logica Modal

LogicaTemporal

LogicaTemporalLineal

¿Que se puede expresar en la logica modal?

¿Que podemos afirmar de este sistema en la logica modal?

◇¬a ∧ ◇a

◇¬b ∧ ◇b

a ∧ b → ◻(¬a ∨ ¬b)

a ∧ b →◇◇ (a ∧ b)

Basicamente, cuales estados se pueden alcanzar y en cuantospasos.

Gerardo M.Sarria M.

Logica Modal

LogicaTemporal

LogicaTemporalLineal

¿Que se puede expresar en la logica modal?

¿Que podemos afirmar de este sistema en la logica modal?

◇¬a ∧ ◇a

◇¬b ∧ ◇b

a ∧ b → ◻(¬a ∨ ¬b)a ∧ b →◇◇ (a ∧ b)

Basicamente, cuales estados se pueden alcanzar y en cuantospasos.

Gerardo M.Sarria M.

Logica Modal

LogicaTemporal

LogicaTemporalLineal

¿Que se puede expresar en la logica modal?

¿Que podemos afirmar de este sistema en la logica modal?

◇¬a ∧ ◇a

◇¬b ∧ ◇b

a ∧ b → ◻(¬a ∨ ¬b)a ∧ b →◇◇ (a ∧ b)

Basicamente, cuales estados se pueden alcanzar y en cuantospasos.

Gerardo M.Sarria M.

Logica Modal

LogicaTemporal

LogicaTemporalLineal

¿Que se puede expresar en la logica modal?

¿Que NO podemos afirmar?

No podemos decir que algo es alcanzable en principio:tenemos que decir “alcanzable en n pasos”.

No podemos decir cual accion (por cual proceso) nollevara a cual estado.

No podemos decir “existe una ejecucion que empieza enw1 donde b es siempre falso”.

No podemos decir lo que el agente A conoce del agente B.

Gerardo M.Sarria M.

Logica Modal

LogicaTemporal

LogicaTemporalLineal

¿Que se puede expresar en la logica modal?

¿Que NO podemos afirmar?

No podemos decir que algo es alcanzable en principio:tenemos que decir “alcanzable en n pasos”.

No podemos decir cual accion (por cual proceso) nollevara a cual estado.

No podemos decir “existe una ejecucion que empieza enw1 donde b es siempre falso”.

No podemos decir lo que el agente A conoce del agente B.

Gerardo M.Sarria M.

Logica Modal

LogicaTemporal

LogicaTemporalLineal

¿Que se puede expresar en la logica modal?

¿Que NO podemos afirmar?

No podemos decir que algo es alcanzable en principio:tenemos que decir “alcanzable en n pasos”.

No podemos decir cual accion (por cual proceso) nollevara a cual estado.

No podemos decir “existe una ejecucion que empieza enw1 donde b es siempre falso”.

No podemos decir lo que el agente A conoce del agente B.

Gerardo M.Sarria M.

Logica Modal

LogicaTemporal

LogicaTemporalLineal

¿Que se puede expresar en la logica modal?

¿Que NO podemos afirmar?

No podemos decir que algo es alcanzable en principio:tenemos que decir “alcanzable en n pasos”.

No podemos decir cual accion (por cual proceso) nollevara a cual estado.

No podemos decir “existe una ejecucion que empieza enw1 donde b es siempre falso”.

No podemos decir lo que el agente A conoce del agente B.

Gerardo M.Sarria M.

Logica Modal

LogicaTemporal

LogicaTemporalLineal

¿Que se puede expresar en la logica modal?

¿Que NO podemos afirmar?

No podemos decir que algo es alcanzable en principio:tenemos que decir “alcanzable en n pasos”.

No podemos decir cual accion (por cual proceso) nollevara a cual estado.

No podemos decir “existe una ejecucion que empieza enw1 donde b es siempre falso”.

No podemos decir lo que el agente A conoce del agente B.

Gerardo M.Sarria M.

Logica Modal

LogicaTemporal

LogicaTemporalLineal

Logica Temporal

El proposito de la logica temporal es razonar sobre el tiempo(en filosofıa), y sobre el comportamiento de sistemas queevolucionan en el tiempo (en ciencias de la computacion).

¿Cual es la estructura del tiempo?

Un flujo del tiempo es una pareja (T ,<), donde T es unconjunto no vacıo de puntos de tiempo, y < es una relacionbinaria e irreflexiva sobre T .

Gerardo M.Sarria M.

Logica Modal

LogicaTemporal

LogicaTemporalLineal

Logica Temporal

El proposito de la logica temporal es razonar sobre el tiempo(en filosofıa), y sobre el comportamiento de sistemas queevolucionan en el tiempo (en ciencias de la computacion).

¿Cual es la estructura del tiempo?

Un flujo del tiempo es una pareja (T ,<), donde T es unconjunto no vacıo de puntos de tiempo, y < es una relacionbinaria e irreflexiva sobre T .

Gerardo M.Sarria M.

Logica Modal

LogicaTemporal

LogicaTemporalLineal

Logica Temporal

El proposito de la logica temporal es razonar sobre el tiempo(en filosofıa), y sobre el comportamiento de sistemas queevolucionan en el tiempo (en ciencias de la computacion).

¿Cual es la estructura del tiempo?

Un flujo del tiempo es una pareja (T ,<), donde T es unconjunto no vacıo de puntos de tiempo, y < es una relacionbinaria e irreflexiva sobre T .

Gerardo M.Sarria M.

Logica Modal

LogicaTemporal

LogicaTemporalLineal

Logica Temporal

Decision fundamental: ¿lineal o ramificada?.

Lineal:(T ,<) es lineal si, para todo x , y ∈ T con x ≠ y , se tiene quex < y o y < x .

Propiedades:

Se puede limitar

Gerardo M.Sarria M.

Logica Modal

LogicaTemporal

LogicaTemporalLineal

Logica Temporal

Decision fundamental: ¿lineal o ramificada?.

Lineal:(T ,<) es lineal si, para todo x , y ∈ T con x ≠ y , se tiene quex < y o y < x .

Propiedades:

Se puede limitar

Al pasado: Existe un x ∈ T tal que x ≤ y para todo y ∈ T(genesis)

Al futuro: Existe un x ∈ T tal que x ≥ y para todo y ∈ T(dıa del juicio)

Gerardo M.Sarria M.

Logica Modal

LogicaTemporal

LogicaTemporalLineal

Logica Temporal

Decision fundamental: ¿lineal o ramificada?.

Lineal:(T ,<) es lineal si, para todo x , y ∈ T con x ≠ y , se tiene quex < y o y < x .

Propiedades:

Se puede limitar

Se puede discretizar

Si x ∈ T no es el genesis, entonces existe y ∈ T tal que y < x yy < z < x no se mantiene para ningun z ∈ T .

Si x ∈ T no es el dıa del juicio, entonces existe y ∈ T tal quex < y y x < z < y no se mantiene para ningun z ∈ T .

Gerardo M.Sarria M.

Logica Modal

LogicaTemporal

LogicaTemporalLineal

Logica Temporal

Decision fundamental: ¿lineal o ramificada?.

Lineal:(T ,<) es lineal si, para todo x , y ∈ T con x ≠ y , se tiene quex < y o y < x .

Propiedades:

Se puede limitar

Se puede discretizar

Tiene densidad

Para todo x , y ∈ T con x < y , existe un z ∈ T tal que x < z < y .

Gerardo M.Sarria M.

Logica Modal

LogicaTemporal

LogicaTemporalLineal

Logica Temporal

Decision fundamental: ¿lineal o ramificada?.

Lineal:(T ,<) es lineal si, para todo x , y ∈ T con x ≠ y , se tiene quex < y o y < x .

Propiedades:

Se puede limitar

Se puede discretizar

Tiene densidad

Completitud (tiene un mınimo lımite superior)

Gerardo M.Sarria M.

Logica Modal

LogicaTemporal

LogicaTemporalLineal

Logica Temporal

Ramificada:

al futuro

al pasado

Opcion mas popular: lineal al pasado y ramificada al futuro, i.e.

para cada x ∈ T , el conjunto {y ∈ T ∣ y < x} es lineal ordenadopor <

Gerardo M.Sarria M.

Logica Modal

LogicaTemporal

LogicaTemporalLineal

Logica Temporal

Ramificada:

al futuro

al pasado

Opcion mas popular: lineal al pasado y ramificada al futuro, i.e.

para cada x ∈ T , el conjunto {y ∈ T ∣ y < x} es lineal ordenadopor <

Gerardo M.Sarria M.

Logica Modal

LogicaTemporal

LogicaTemporalLineal

Logica Temporal

¿Que flujo de tiempo tenemos que usar?

¡Depende de la aplicacion!

Gerardo M.Sarria M.

Logica Modal

LogicaTemporal

LogicaTemporalLineal

Logica Temporal

¿Que flujo de tiempo tenemos que usar?

¡Depende de la aplicacion!

Gerardo M.Sarria M.

Logica Modal

LogicaTemporal

LogicaTemporalLineal

Sistemas Reactivos

La aplicacion principal de la logica temporal en ciencias de lacomputacion es la verificacion de sistemas concurrentes yreactivos de estado finito.

Ejemplos: microprocesadores, sistemas operativos, protocolosde redes, software de aviacion.

La verificacion de dichos sistemas es una tarea importante ydifıcil.

Gerardo M.Sarria M.

Logica Modal

LogicaTemporal

LogicaTemporalLineal

Sistemas Reactivos

Estado-Finito. Un estado es una “foto” del sistema, quecaptura los valores de las variables en un instantede tiempo. Sistemas de estado-finito solo puedentener un numero finito de estados.

Sistema Reactivo. Interactua con el ambiente de manerafrecuente y usualmente no termina.

Sistema Concurrente. Consiste en multiples procesos queinteraccionan entre sı. Un proceso no conoce elestado interno de los otros. Puede ser visto comouna coleccion de sistemas reactivos.

Verificacion. Dada la descripcion (formal) de un sistema y sucomportamiento esperado, se chequea si elsistema de verdad cumple con estecomportamiento.

Gerardo M.Sarria M.

Logica Modal

LogicaTemporal

LogicaTemporalLineal

Sistemas Reactivos

Estado-Finito. Un estado es una “foto” del sistema, quecaptura los valores de las variables en un instantede tiempo. Sistemas de estado-finito solo puedentener un numero finito de estados.

Sistema Reactivo. Interactua con el ambiente de manerafrecuente y usualmente no termina.

Sistema Concurrente. Consiste en multiples procesos queinteraccionan entre sı. Un proceso no conoce elestado interno de los otros. Puede ser visto comouna coleccion de sistemas reactivos.

Verificacion. Dada la descripcion (formal) de un sistema y sucomportamiento esperado, se chequea si elsistema de verdad cumple con estecomportamiento.

Gerardo M.Sarria M.

Logica Modal

LogicaTemporal

LogicaTemporalLineal

Sistemas Reactivos

Estado-Finito. Un estado es una “foto” del sistema, quecaptura los valores de las variables en un instantede tiempo. Sistemas de estado-finito solo puedentener un numero finito de estados.

Sistema Reactivo. Interactua con el ambiente de manerafrecuente y usualmente no termina.

Sistema Concurrente. Consiste en multiples procesos queinteraccionan entre sı. Un proceso no conoce elestado interno de los otros. Puede ser visto comouna coleccion de sistemas reactivos.

Verificacion. Dada la descripcion (formal) de un sistema y sucomportamiento esperado, se chequea si elsistema de verdad cumple con estecomportamiento.

Gerardo M.Sarria M.

Logica Modal

LogicaTemporal

LogicaTemporalLineal

Sistemas Reactivos

Estado-Finito. Un estado es una “foto” del sistema, quecaptura los valores de las variables en un instantede tiempo. Sistemas de estado-finito solo puedentener un numero finito de estados.

Sistema Reactivo. Interactua con el ambiente de manerafrecuente y usualmente no termina.

Sistema Concurrente. Consiste en multiples procesos queinteraccionan entre sı. Un proceso no conoce elestado interno de los otros. Puede ser visto comouna coleccion de sistemas reactivos.

Verificacion. Dada la descripcion (formal) de un sistema y sucomportamiento esperado, se chequea si elsistema de verdad cumple con estecomportamiento.

Gerardo M.Sarria M.

Logica Modal

LogicaTemporal

LogicaTemporalLineal

Estructuras de Kripke

Sea PL un conjunto finito de letras proposicionales. Unaestructura Kripke sobre PL es una tupla K = ⟨S , SI , R, V ⟩ con

S un conjunto no vacıo de estados,

SI ⊆ S un conjunto de estados iniciales,

R ⊆ S × S una relacion de transicion que es total, i.e. paracada estado s ∈ S , existe un estado s ′ ∈ S tal que s R s ′,

V ∶ S → 2PL una funcion valuacion.

Gerardo M.Sarria M.

Logica Modal

LogicaTemporal

LogicaTemporalLineal

Estructuras de Kripke

Ejemplo:Considere el siguiente protocolo de exclusion mutua:

task body ProcA isbeginloop

(0) Non Critical Section A;(1) loop exit when Turn = 0; end loop;(2) Critical Section A;(3) Turn := 1;

end loop;end ProcA;

Gerardo M.Sarria M.

Logica Modal

LogicaTemporal

LogicaTemporalLineal

Estructuras de Kripke

task body ProcB isbeginloop

(0) Non Critical Section B;(1) loop exit when Turn = 1; end loop;(2) Critical Section B;(3) Turn := 0;

end loop;end ProcB;

Se asume que los procesos corren de manera asıncrona. Elorden de ejecucion es indeterminado.

Gerardo M.Sarria M.

Logica Modal

LogicaTemporal

LogicaTemporalLineal

Estructuras de Kripke

Entonces definimos un conjunto de letras proposicionales:

PL ={(T = i) ∣ i ∈ {0, 1}}∪{(X = i) ∣ X ∈ {A, B} ∧ i ∈ {0, 1, 2, 3}}

Intuitivamente, (T = i) significa que Turn se le ha asignado i ,y (X = i) significa que el proceso X esta en la lınea i .

Gerardo M.Sarria M.

Logica Modal

LogicaTemporal

LogicaTemporalLineal

Estructuras de Kripke

Luego definimos una estructura Kripke K = ⟨S , SI , R, V ⟩ de lasiguiente manera:

S = {0, 1} × {0, 1, 2, 3} × {0, 1, 2, 3}SI = {(0, 0, 0), (1, 0, 0)}R = RA ∪ RB , donde

RA = {(t, pA, pB), (t ′, p′A, p′B) ∣ pB = p′B y

1 pA ∈ {0,2,3} Ô⇒ p′A = pA + 1 mod 4 ∧ t ′ = t2 t = 0 ∧ pA = 1 Ô⇒ p′A = 23 t = 1 ∧ pA = 1 Ô⇒ p′A = 14 pA = 3 Ô⇒ t ′ = 1}

RB es definido de la misma manera

V (t, pA, pB) = {(T = t), (A = pA),(B = pB)},∀(t, pA, pB) ∈ S

Gerardo M.Sarria M.

Logica Modal

LogicaTemporal

LogicaTemporalLineal

Estructuras de Kripke

Una computacion de K es una secuencia infinita s0s1⋯ deestados tal que s0 ∈ SI y si R si+1 para todo i ≥ 0.

Ejemplo:

(0, 0, 0), (0, 1, 0), (0, 1, 1), (0, 2, 1), (0, 3, 1), (1, 0, 1), (1, 0, 2), . . .

Dicha computacion corresponde a una ejecucion (asıncrona)del sistema concurrente con los procesos A y B.

Gerardo M.Sarria M.

Logica Modal

LogicaTemporal

LogicaTemporalLineal

Estructuras de Kripke

Propiedades interesantes derivadas del ejemplo:

Exclusion mutua: ¿pueden A y B estar en la lınea (2) almismo tiempo?

(cierto)

Accesibilidad garantizada: si el proceso X ∈ {A, B} esta enla lınea (2), ¿se garantiza que finalmente llegara a la lınea(3)? (cierto, pero solo en computaciones que ejecutanambos procesos A y B de manera infinita)

Gerardo M.Sarria M.

Logica Modal

LogicaTemporal

LogicaTemporalLineal

Estructuras de Kripke

Propiedades interesantes derivadas del ejemplo:

Exclusion mutua: ¿pueden A y B estar en la lınea (2) almismo tiempo? (cierto)

Accesibilidad garantizada: si el proceso X ∈ {A, B} esta enla lınea (2), ¿se garantiza que finalmente llegara a la lınea(3)? (cierto, pero solo en computaciones que ejecutanambos procesos A y B de manera infinita)

Gerardo M.Sarria M.

Logica Modal

LogicaTemporal

LogicaTemporalLineal

Estructuras de Kripke

Propiedades interesantes derivadas del ejemplo:

Exclusion mutua: ¿pueden A y B estar en la lınea (2) almismo tiempo? (cierto)

Accesibilidad garantizada: si el proceso X ∈ {A, B} esta enla lınea (2), ¿se garantiza que finalmente llegara a la lınea(3)?

(cierto, pero solo en computaciones que ejecutanambos procesos A y B de manera infinita)

Gerardo M.Sarria M.

Logica Modal

LogicaTemporal

LogicaTemporalLineal

Estructuras de Kripke

Propiedades interesantes derivadas del ejemplo:

Exclusion mutua: ¿pueden A y B estar en la lınea (2) almismo tiempo? (cierto)

Accesibilidad garantizada: si el proceso X ∈ {A, B} esta enla lınea (2), ¿se garantiza que finalmente llegara a la lınea(3)? (cierto, pero solo en computaciones que ejecutanambos procesos A y B de manera infinita)

Gerardo M.Sarria M.

Logica Modal

LogicaTemporal

LogicaTemporalLineal

Estructuras de Kripke

Las estructuras de Kripke pueden ser no deterministas, i.e. paraun s ∈ S , el conjunto {s ′∣s R s ′} puede tener una cardinalidadarbitraria.

En general hay mas de una computacion.

Podemos organizarlas todas en un arbol de computacion.

Informalmente, para s ∈ SI , el arbol (infinito) de computacionT (K , s) de K en s ∈ S es construido inductivamente ası:

use s como la raız;

para cada hoja s ′, agregue un sucesor {t ∈ S ∣s ′ R t}.

Gerardo M.Sarria M.

Logica Modal

LogicaTemporal

LogicaTemporalLineal

Estructuras de Kripke

El arbol de computacion para el ejemplo anterior que empiezaen (0, 0, 0) es:

(0,0,0)

(0,0,1)(0,1,0)

(0,2,0) (0,1,1)

(0,3,0) (0,2,1) (0,2,1) (0,1,1)

Para verificar propiedades se consideran las computacionessimples o el arbol entero.

Gerardo M.Sarria M.

Logica Modal

LogicaTemporal

LogicaTemporalLineal

Sintaxis

El conjunto de formulas en la logica temporal lineal (LTL) es elmenor conjunto donde

cada letra proposicional p ∈ PL es una formula,

si A y B son formulas, entonces A ∧ B y ¬A tambien loson,

si A y B son formulas, entonces ○A y AU B tambien loson.

Gerardo M.Sarria M.

Logica Modal

LogicaTemporal

LogicaTemporalLineal

Semantica

Una estructura LTL M es una secuencia infinita S0S1⋯ conSi ∈ 2PL para todo i ≥ 0.

Una formula LTL en M en un tiempo n ∈ N se satisface en lossiguientes casos:

M, n ⊧ p sii p ∈ Sn,∀p ∈ PLM, n ⊧ ¬A sii M, n ⊭ AM, n ⊧ A ∧B sii M, n ⊧ A y M, n ⊧ BM, n ⊧ ○A sii M, n + 1 ⊧ AM, n ⊧ AU B sii ∃m ≥ n ∶ M, m ⊧ A ∧

∀k ∈ {n, . . . , m − 1} ∶ M, k ⊧ B

Gerardo M.Sarria M.

Logica Modal

LogicaTemporal

LogicaTemporalLineal

Abreviaciones

El Diamante futuro

◇A ∶= trueU A

M, n ⊧◇A sii ∃m ≥ n ∶ M, m ⊧ A

La caja futuro◻A ∶= ¬◇ ¬A

M, n ⊧ ◻A sii ∀m ≥ n ∶ M, m ⊧ A

Gerardo M.Sarria M.

Logica Modal

LogicaTemporal

LogicaTemporalLineal

Abreviaciones

El Diamante futuro◇A ∶= trueU A

M, n ⊧◇A sii ∃m ≥ n ∶ M, m ⊧ A

La caja futuro◻A ∶= ¬◇ ¬A

M, n ⊧ ◻A sii ∀m ≥ n ∶ M, m ⊧ A

Gerardo M.Sarria M.

Logica Modal

LogicaTemporal

LogicaTemporalLineal

Abreviaciones

El Diamante futuro◇A ∶= trueU A

M, n ⊧◇A sii ∃m ≥ n ∶ M, m ⊧ A

La caja futuro

◻A ∶= ¬◇ ¬A

M, n ⊧ ◻A sii ∀m ≥ n ∶ M, m ⊧ A

Gerardo M.Sarria M.

Logica Modal

LogicaTemporal

LogicaTemporalLineal

Abreviaciones

El Diamante futuro◇A ∶= trueU A

M, n ⊧◇A sii ∃m ≥ n ∶ M, m ⊧ A

La caja futuro◻A ∶= ¬◇ ¬A

M, n ⊧ ◻A sii ∀m ≥ n ∶ M, m ⊧ A

Gerardo M.Sarria M.

Logica Modal

LogicaTemporal

LogicaTemporalLineal

Abreviaciones

Ejercicio:¿Como se expresarıa el operador release R ?

ARB, significa que B siempre es cierto a menos que sealiberado (released) por A.

ARB ∶= ¬(¬AU ¬B)

M, n ⊧ ARB sii ∀m ≥ n ∶ M, k ⊧ A ∀k < m Ô⇒ M, m ⊧ B

Gerardo M.Sarria M.

Logica Modal

LogicaTemporal

LogicaTemporalLineal

Abreviaciones

Ejercicio:¿Como se expresarıa el operador release R ?

ARB, significa que B siempre es cierto a menos que sealiberado (released) por A.

ARB ∶= ¬(¬AU ¬B)

M, n ⊧ ARB sii ∀m ≥ n ∶ M, k ⊧ A ∀k < m Ô⇒ M, m ⊧ B

Gerardo M.Sarria M.

Logica Modal

LogicaTemporal

LogicaTemporalLineal

Abreviaciones

Ejercicio:¿Como se expresarıa el operador release R ?

ARB, significa que B siempre es cierto a menos que sealiberado (released) por A.

ARB ∶= ¬(¬AU ¬B)

M, n ⊧ ARB sii ∀m ≥ n ∶ M, k ⊧ A ∀k < m Ô⇒ M, m ⊧ B

Gerardo M.Sarria M.

Logica Modal

LogicaTemporal

LogicaTemporalLineal

Equivalencias

Algunas equivalencias importantes:

¬○A ≡ ○¬A auto-dualidad del next◇◇A ≡ ◇A idempotencia del diamante○◇A ≡ ◇○A conmutacion de next con diamanteAU B ≡ ¬(¬AR¬B) until y release son dualesAU B ≡ B ∨ (A ∧ ○(AU B)) desarrollo del untilARB ≡ (A ∧B) ∨ (B ∧ ○(ARB)) desarrollo del release

Gerardo M.Sarria M.

Logica Modal

LogicaTemporal

LogicaTemporalLineal

Propiedades Temporales

Una propiedad temporal es un conjunto de estructuras LTL(aquellas en las cuales la propiedad es cierta).

Entonces una propiedad temporal P puede ser definida usandouna formula A:

P = {M ∣ M, 0 ⊧ A}

Dada una estructura de Kripke K que representa un sistemareactivo y una formula LTL A que representa una propiedadtemporal, K satisface A si M, 0 ⊧ A para todas las trazas M deK . Notacion: K ⊧ A.

Gerardo M.Sarria M.

Logica Modal

LogicaTemporal

LogicaTemporalLineal

Propiedades Temporales

Una propiedad temporal es un conjunto de estructuras LTL(aquellas en las cuales la propiedad es cierta).

Entonces una propiedad temporal P puede ser definida usandouna formula A:

P = {M ∣ M, 0 ⊧ A}

Dada una estructura de Kripke K que representa un sistemareactivo y una formula LTL A que representa una propiedadtemporal, K satisface A si M, 0 ⊧ A para todas las trazas M deK . Notacion: K ⊧ A.

Gerardo M.Sarria M.

Logica Modal

LogicaTemporal

LogicaTemporalLineal

Propiedades Temporales: Safety

Intuitivamente, una propiedad safety afirma que “nada malopasa”.

Exclusion mutua: E.g.

◻¬((A = 2) ∧ (B = 2))

No Deadlocks: En cualquier momento algun proceso debeestar activo:

◻(activo1 ∨ . . . ∨ activok)

Correctitud parcial: Si A se satisface cuando el programaempieza, entonces B sera satisfecho si el programa alcanzaun determinado estado:

A→ ◻(dist → B)

donde dist ∈ PL marque el determinado estado.

Gerardo M.Sarria M.

Logica Modal

LogicaTemporal

LogicaTemporalLineal

Propiedades Temporales: Liveness

Intuitivamente, una propiedad liveness afirma que “algo buenopasara”.

Accesibilidad Garantizada: E.g.

◻(A = 1→◇(A = 2)) ∧ ◻(B = 1→◇(B = 2))

Respuesta: Si se hace una peticion, sera otorgada:

◻(pet →◇(otorg))

Correctitud Total: Si A se satisface cuando el programaempieza, el programa termina en un determinado estadodonde B se satisface:

A→◇(dist ∧B)

Gerardo M.Sarria M.

Logica Modal

LogicaTemporal

LogicaTemporalLineal

Propiedades Temporales: Fairness

Cuando se modelan sistemas concurrentes, usualmente esimportante hacer algunas suposiciones imparciales o justas.

Se asume que existen k procesos, que activoi ∈ PL es cierto enun estado s si el proceso #i esta activo en s, y que ejecutadoi

es cierto en un estado s si el proceso #i ha sido ejecutado paraalcanzar s.

Gerardo M.Sarria M.

Logica Modal

LogicaTemporal

LogicaTemporalLineal

Model Checking

El problema de model checking en LTL es el siguiente:

Dada una estructura de Kripke K = (S , SI , R, V ) y una formulaLTL A, chequear cuando K ⊧ A. (Si todas las trazas M de Ksatisfacen M, 0 ⊧ A).

Ejemplo: La siguiente estructura de Kripke satisface◻(q → ○○○p). Pero no satisface ◻(p → pU q).

q q

p

p

p

q

Gerardo M.Sarria M.

Logica Modal

LogicaTemporal

LogicaTemporalLineal

Model Checking

El problema de model checking en LTL es el siguiente:

Dada una estructura de Kripke K = (S , SI , R, V ) y una formulaLTL A, chequear cuando K ⊧ A. (Si todas las trazas M de Ksatisfacen M, 0 ⊧ A).

Ejemplo: La siguiente estructura de Kripke satisface◻(q → ○○○p). Pero no satisface ◻(p → pU q).

q q

p

p

p

q

Gerardo M.Sarria M.

Logica Modal

LogicaTemporal

LogicaTemporalLineal

Satisfacibilidad

Una formula LTL A es satisfacible si existe una estructura LTLM tal que M, n ⊧ A, para algun n ∈ N.

Dicha estructura es llamada un modelo de A.

En verificacion, la satisfacibilidad es usada para detectarpropiedades contradictorias, i.e. propiedades que no sonsatisfechas por ninguna computacion en ningun sistemareactivo.

Ejercicio:p ∧ ◻(p → ○p) ∧◇¬p

Gerardo M.Sarria M.

Logica Modal

LogicaTemporal

LogicaTemporalLineal

Satisfacibilidad

Una formula LTL A es satisfacible si existe una estructura LTLM tal que M, n ⊧ A, para algun n ∈ N.

Dicha estructura es llamada un modelo de A.

En verificacion, la satisfacibilidad es usada para detectarpropiedades contradictorias, i.e. propiedades que no sonsatisfechas por ninguna computacion en ningun sistemareactivo.

Ejercicio:p ∧ ◻(p → ○p) ∧◇¬p

Gerardo M.Sarria M.

Logica Modal

LogicaTemporal

LogicaTemporalLineal

Fin de la Presentacion

top related