NuSMV: Lógicas Temporales - Dpto. Ciencias de la Computación e

Anuncio
NuSMV: Lógicas Temporales
Francisco J. Martı́n Mateos
Dpto. Ciencias de la Computación e Inteligencia Artificial
Universidad de Sevilla
Razonamiento Automático – 2013/2014
NuSMV: Lógicas Temporales
¿Qué son las lógicas temporales?
Las lógicas temporales son lógicas diseñadas para modelar el
tiempo y expresar propiedades sobre el mismo
El tiempo se modela como secuencias infinitas de estados
Cada estado tiene propiedades estáticas que se expresan en
lógica proposicional o de primer orden
Las propiedades temporales se expresan con conectivas
especiales
Algunas de estas lógicas son
Lógica Temporal Lineal (LTL)
Lógica Temporal Computacional (CTL)
Razonamiento Automático – 2013/2014
NuSMV: Lógicas Temporales
Lógica Temporal Lineal (LTL)
LTL es una lógica temporal en la que el tiempo se modela
como una secuencia infinita de estados
s0
s1
s2
s3
s4
s5
s6
s7
s8
Se considera un conjunto infinito de propiedades atómicas A
que representan hechos que pueden ocurrir en algún estado
“La impresora Q5 está ocupada”
“El contenido del registro R1 es mayor que 6”
Estas propiedades pueden cambiar de un estado al siguiente
Razonamiento Automático – 2013/2014
NuSMV: Lógicas Temporales
LTL: Fórmulas
Cualquier propiedad atómica (elementos de A) es una fórmula
Los sı́mbolos ⊤ y ⊥ son fórmulas
Si φ y ψ son fórmulas entonces también son fórmulas:
(¬φ): negación de φ
(φ ∧ ψ): conjunción de φ y ψ
(φ ∨ ψ): disyunción de φ y ψ
(φ → ψ): φ implica ψ
(Xφ): φ ocurre en el siguiente estado
(Fφ): φ ocurre en algún estado futuro
(Gφ): φ ocurre en todos los estados futuros
(φUψ): φ ocurre hasta que ocurre ψ
(φWψ): φ ocurre mientras ψ no ocurra
(φRψ): ψ ocurre mientras φ no ocurra
Razonamiento Automático – 2013/2014
NuSMV: Lógicas Temporales
LTL: Fórmulas
Eliminación de paréntesis
Las conectivas unarias son más prioritarias que las binarias
La prioridad entre las conectivas binarias es la siguiente:
U, R, W, ∧, ∨ y → (de mayor a menor)
Los paréntesis externos se pueden eliminar
Ejemplos de fórmulas
FGφ: En algún momento la propiedad φ se cumplirá para
siempre
GFφ: La propiedad φ se cumple una cantidad infinita de veces
G(φ → Fψ): Siempre que φ se cumpla, en algún momento
después se cumplirá ψ
Razonamiento Automático – 2013/2014
NuSMV: Lógicas Temporales
LTL: Semántica
Los sistemas para los cuales utilizaremos la lógica LTL pueden
ser modelados como sistemas de transición
Sistemas de transición: M = (S, →M , L), donde S es un
conjunto finito de estados, →M es una relación binaria sobre
S tal que para todo s ∈ S existe un s′ ∈ S tal que s →M s′
y L es una función de etiquetado L : S ⇒ P(A)
→M representa las transiciones entre estados
P(A) es el conjunto formado por los subconjuntos de A
L(s) representa el conjunto de propiedades atómicas que son
ciertas en el estado s
En lo sucesivo diremos que M es un modelo
Razonamiento Automático – 2013/2014
NuSMV: Lógicas Temporales
LTL: Semántica
Los sistemas de transición se representan de forma concisa
usando grafos dirigidos cuyos nodos están etiquetados con
propiedades atómicas que son ciertas en el estado que
representa
s0
p,q
s1
s2
q,r
Razonamiento Automático – 2013/2014
r
NuSMV: Lógicas Temporales
LTL: Semántica
Un camino en un modelo M = (S, →M , L) es una
secuencia infinita de estados s1 , s2 , s3 , . . . tales que para cada
i ≥ 1, si →M si+1
Un camino representa un posible futuro de un sistema de
transición
Sea π = s1 , s2 , s3 , . . . un camino, entonces para todo i ≥ 1,
π i es el camino que comienza en el estado si , es decir,
π i = si , si+1 , si+3 , . . .
La semántica de las fórmulas LTL se expresa con respecto a
un camino π cualquiera
Razonamiento Automático – 2013/2014
NuSMV: Lógicas Temporales
LTL: Semántica
Dado un modelo M = (S, →M , L) y un camino
π = s1 , s2 , s3 , . . . en M, la semántica de las fórmulas LTL
se define como sigue:
π
π
π
π
π
π
π
|=
6|=
|=
|=
|=
|=
|=
⊤
⊥
p si y sólo si p ∈ L(s1 )
¬φ si y sólo si π |= φ
φ ∧ ψ si y sólo si π |= φ y π |= ψ
φ ∨ ψ si y sólo si π |= φ o π |= ψ
φ → ψ si y sólo si π |= ψ cuando π |= φ
Razonamiento Automático – 2013/2014
NuSMV: Lógicas Temporales
LTL: Semántica
Dado un modelo M = (S, →M , L) y un camino
π = s1 , s2 , s3 , . . . en M, la semántica de las fórmulas LTL
se define como sigue:
π |= Xφ si y sólo si π 2 |= φ
π |= Fφ si y sólo si existe i ≥ 1 tal que π i |= φ
π |= Gφ si y sólo si para todo i ≥ 1 se tiene que π i |= φ
π |= φUψ si y sólo si existe i ≥ 1 tal que π i |= ψ y para
todo j = 1, . . . , i − 1 se tiene que π j |= φ
π |= φWψ si y sólo si existe i ≥ 1 tal que π i |= ψ y para
todo j = 1, . . . , i − 1 se tiene que π j |= φ; o para todo i se
tiene que π i |= φ
π |= φRψ si y sólo si existe i ≥ 1 tal que π i |= φ y para todo
j = 1, . . . , i se tiene que π j |= ψ; o para todo i se tiene que
π i |= ψ
Razonamiento Automático – 2013/2014
NuSMV: Lógicas Temporales
LTL: Semántica
Dado un modelo M = (S, →M , L), s ∈ S y una fórmula
LTL φ, decimos que φ es válida en M a partir del estado s,
M, s |= φ, si y sólo si para cualquier camino π en M que
comience en s se tiene que π |= φ
Si el modelo M está claro en el contexto, se suele escribir
s |= φ en lugar de M, s |= φ
Razonamiento Automático – 2013/2014
NuSMV: Lógicas Temporales
LTL: Semántica
Consideremos el modelo M representado por el siguiente
sistema de transición
s0
p,q
s1
s2
q,r
r
Se verifican
M, s0
M, s0
M, s0
M, s0
|=
|=
|=
|=
p∧q
¬r
⊤
Xr
Razonamiento Automático – 2013/2014
NuSMV: Lógicas Temporales
LTL: Semántica
Consideremos el modelo M representado por el siguiente
sistema de transición
s0
p,q
s1
s2
q,r
r
Se verifican
M, s0 6|= X(q ∧ r)
M, s0 |= G¬(p ∧ r)
M, s2 |= Gr
Para cualquier s se tiene M, s |= F(¬q ∧ r) → FGr
Razonamiento Automático – 2013/2014
NuSMV: Lógicas Temporales
LTL: Semántica
Consideremos el modelo M representado por el siguiente
sistema de transición
s0
p,q
s1
s2
q,r
r
Se verifican
M, s0 |6 = GFp
M, s0 |= GFp → GFr
M, s0 6|= GFr → GFp
Razonamiento Automático – 2013/2014
NuSMV: Lógicas Temporales
LTL: Semántica
Decimos que dos fórmulas son equivalentes, φ ≡ ψ si y sólo
si para todo modelo M y para todo camino π en M se tiene
que π |= φ si y sólo si π |= ψ
Relaciones entre las conectivas
¬(φ ∧ ψ) ≡ ¬φ ∨ ¬ψ
¬(φ ∨ ψ) ≡ ¬φ ∧ ¬ψ
¬Fφ ≡ G¬φ
¬Gφ ≡ F¬φ
¬Xφ ≡ X¬φ
¬(φUψ) ≡ ¬φR¬ψ
¬(φRψ) ≡ ¬φU¬ψ
φWψ ≡ φUψ ∨ Gφ
Estas equivalencias permiten la interiorización de la negación
en las fórmulas LTL
Razonamiento Automático – 2013/2014
NuSMV: Lógicas Temporales
LTL: Semántica
Decimos que dos fórmulas son equivalentes, φ ≡ ψ si y sólo
si para todo modelo M y para todo camino π en M se tiene
que π |= φ si y sólo si π |= ψ
Relaciones entre las conectivas
F(φ ∨ ψ) ≡ Fφ ∨ Fψ
G(φ ∧ ψ) ≡ Gφ ∧ Gψ
Fφ ≡ ⊤Uφ
Gφ ≡ ⊥Rφ
φUψ ≡ φWψ ∧ Fψ
φWψ ≡ ψR(φ ∨ ψ)
φRψ ≡ ψW(φ ∧ ψ)
Razonamiento Automático – 2013/2014
NuSMV: Lógicas Temporales
Patrones de especificación
(Liveness) Si se realiza alguna petición, entonces es
finalmente atendida: G(peticion → Fatendida)
(Deadlock) Ocurra lo que ocurra, el proceso terminará
quedando permanentemente inactivo: FG¬activo
(Fairness) En cualquier situación el proceso se activará una
cantidad infinita de veces: GFactivo
(Fairness) Si un proceso queda activo una cantidad infinita de
veces entonces es ejecutado una cantidad infinita de veces:
GFactivo → GFejecucion
Razonamiento Automático – 2013/2014
NuSMV: Lógicas Temporales
Patrones de especificación
(Safety) Es imposible alcanzar una situación en la que el
proceso esté ejecutandose y no esté activo:
G¬(ejecucion ∧ ¬activo)
En LTL no se pueden expresar propiedades que afirme la
existencia de un camino con una propiedad concreta
(Reachability), ya que la semántica definida se establece sobre
todos los caminos existentes:
Es posible alcanzar un estado en el que hay una petición y el
proceso está inactivo
Razonamiento Automático – 2013/2014
NuSMV: Lógicas Temporales
Lógica Temporal Computacional (CTL)
CTL es una lógica temporal en la que el tiempo se modela
como un árbol en el que la ramificación de cada nodo
representa todos los posibles futuros que se pueden dar a
partir de un estado
s0
s1,1
s2,1
s1,2
s2,2
s2,3
s1,3
s2,4
s2,5
Se considera un conjunto infinito de propiedades atómicas A
que representan hechos que pueden ocurrir en algún estado
Razonamiento Automático – 2013/2014
NuSMV: Lógicas Temporales
CTL: Fórmulas
Cualquier propiedad atómica (elementos de A) es una fórmula
Los sı́mbolos ⊤ y ⊥ son fórmulas
Si φ y ψ son fórmulas entonces también son fórmulas:
(¬φ): negación de φ
(φ ∧ ψ): conjunción de φ y ψ
(φ ∨ ψ): disyunción de φ y ψ
(φ → ψ): φ implica ψ
(AX φ): φ inevitablemente ocurre en el estado siguiente
(EX φ): φ posiblemente ocurre en algún estado siguiente
(AF φ): φ inevitablemente ocurre en algún estado futuro
(EF φ): φ posiblemente ocurre en algún estado futuro
(AG φ): φ inevitablemente ocurre en todos los estados futuros
(EG φ): φ posiblemente ocurre en todos los estados futuros
A[φUψ]: φ inevitablemente ocurre hasta que ocurre ψ
E[φUψ]: φ posiblemente ocurre hasta que ocurre ψ
Razonamiento Automático – 2013/2014
NuSMV: Lógicas Temporales
CTL: Fórmulas
Eliminación de paréntesis
Las conectivas unarias son más prioritarias que las binarias
La prioridad entre las conectivas binarias es la siguiente:
∧, ∨, →, AU y EU (de mayor a menor)
Los paréntesis externos se pueden eliminar
Ejemplos de fórmulas
AF AG φ: Inevitablemente la propiedad φ se cumplirá para
siempre
EF AG φ: Posiblemente la propiedad φ se cumplirá para
siempre
AG AF φ: La propiedad φ se cumple una cantidad infinita de
veces
AX φ en CTL equivale a Xφ en LTL
AF φ en CTL equivale a Fφ en LTL
AG φ en CTL equivale a Gφ en LTL
A[φUψ] en CTL equivale a φUψ en LTL
Razonamiento Automático – 2013/2014
NuSMV: Lógicas Temporales
CTL: Semántica
Las fórmulas CTL se interpretan sobre sistemas de transición
Sea M = (S, →M , L) un modelo, s ∈ S y φ una fórmula
CTL, la definición de M, s |= φ es intuitivamente la
siguiente:
Si φ es atómica, su satisfaccibilidad está determinada por L
Si la conectiva principal de φ es booleana, su satisfaccibilidad
se resuelve como en lógica proposicional
Si la conectiva principal de φ comienza por A, su
satisfacibilidad se tiene si todos los caminos que comienzan en
s satisfacen la fórmula LTL obtenida eliminado el sı́mbolo A
Si la conectiva principal de φ comienza por E, su
satisfacibilidad se tiene si algún camino que comienze en s
satisface la fórmula LTL obtenida eliminado el sı́mbolo E
Razonamiento Automático – 2013/2014
NuSMV: Lógicas Temporales
CTL: Semántica
La satisfacibilidad de una fórmula CTL φ en un modelo
M = (S, →M , L) a partir de un estado s ∈ S, M, s |= φ,
se define como sigue:
M, s |= ⊤
M, s 6|= ⊥
M, s |= p si y sólo si p ∈ L(s)
M, s |= ¬φ si y sólo si M, s 6|= φ
M, s |= φ ∧ ψ si y sólo si M, s |= φ y M, s |= ψ
M, s |= φ ∨ ψ si y sólo si M, s |= φ o M, s |= ψ
M, s |= φ → ψ si y sólo si M, s 6|= φ o M, s |= ψ
M, s |= AX φ si y sólo si para todo s′ sucesor de s en M se
tiene M, s′ |= φ
M, s |= EX φ si y sólo si existe s′ sucesor de s en M tal que
M, s′ |= φ
Razonamiento Automático – 2013/2014
NuSMV: Lógicas Temporales
CTL: Semántica
La satisfacibilidad de una fórmula CTL φ en un modelo
M = (S, →M , L) a partir de un estado s ∈ S, M, s |= φ,
se define como sigue:
M, s |= AG φ si y sólo si para todo s′ en cualquier camino
que comience en s se tiene M, s′ |= φ
φ
φ
φ
φ
φ
φ
φ
φ
φ
φ
Razonamiento Automático – 2013/2014
NuSMV: Lógicas Temporales
CTL: Semántica
La satisfacibilidad de una fórmula CTL φ en un modelo
M = (S, →M , L) a partir de un estado s ∈ S, M, s |= φ,
se define como sigue:
M, s |= EG φ si y sólo si existe un camino que comienza en s
en el que todos los elementos s′ cumplen M, s′ |= φ
φ
φ
φ
Razonamiento Automático – 2013/2014
NuSMV: Lógicas Temporales
CTL: Semántica
La satisfacibilidad de una fórmula CTL φ en un modelo
M = (S, →M , L) a partir de un estado s ∈ S, M, s |= φ,
se define como sigue:
M, s |= AF φ si y sólo si existe s′ en cualquier camino que
comienze en s que cumple M, s′ |= φ
φ
φ
φ
φ
φ
Razonamiento Automático – 2013/2014
NuSMV: Lógicas Temporales
CTL: Semántica
La satisfacibilidad de una fórmula CTL φ en un modelo
M = (S, →M , L) a partir de un estado s ∈ S, M, s |= φ,
se define como sigue:
M, s |= EF φ si y sólo si existe un camino que comienza en s
en el que hay un elemento s′ que cumple M, s′ |= φ
φ
Razonamiento Automático – 2013/2014
NuSMV: Lógicas Temporales
CTL: Semántica
La satisfacibilidad de una fórmula CTL φ en un modelo
M = (S, →M , L) a partir de un estado s ∈ S, M, s |= φ,
se define como sigue:
M, s |= A[φUψ] si y sólo si todos los caminos que
comienzan en s se cumple la propiedad φ hasta que se alcanza
un estado en el que se cumple ψ
M, s |= E[φUψ] si y sólo si en algún camino que comienza
en s se cumple la propiedad φ hasta que se alcanza un estado
en el que se cumple ψ
Razonamiento Automático – 2013/2014
NuSMV: Lógicas Temporales
CTL: Semántica
Consideremos el modelo M representado por el siguiente
sistema de transición
s0
p,q
s1
s2
q,r
r
Se verifican
M, s0
M, s0
M, s0
M, s0
|=
|=
|=
|=
p∧q
¬r
⊤
EX (q ∧ r)
Razonamiento Automático – 2013/2014
NuSMV: Lógicas Temporales
CTL: Semántica
Consideremos el modelo M representado por el siguiente
sistema de transición
s0
p,q
s1
s2
q,r
r
Se verifican
M, s0
M, s0
M, s2
M, s0
|=
|=
|=
|=
¬AX (q ∧ r)
¬EF (p ∧ r)
EG r
AF r
Razonamiento Automático – 2013/2014
NuSMV: Lógicas Temporales
CTL: Semántica
Consideremos el modelo M representado por el siguiente
sistema de transición
s0
p,q
s1
s2
q,r
r
Se verifican
M, s0 |= E[(p ∧ q)Ur]
M, s0 |= A[pUr]
M, s0 |= AG (p ∨ q ∨ r → EF EG r)
Razonamiento Automático – 2013/2014
NuSMV: Lógicas Temporales
CTL: Semántica
Decimos que dos fórmulas son equivalentes, φ ≡ ψ si y sólo
si para todo modelo M y para todo estado s se tiene que
M, s |= φ si y sólo si M, s |= ψ
Relaciones entre las conectivas
¬AF φ ≡ EG ¬φ
¬EF φ ≡ AG ¬φ
¬AX φ ≡ EX ¬φ
AF φ ≡ A[⊤Uφ]
EF φ ≡ E[⊤Uφ]
Razonamiento Automático – 2013/2014
NuSMV: Lógicas Temporales
Patrones de especificación
(Liveness) Si se realiza alguna petición, entonces es
finalmente atendida: AG (peticion → AF atendida)
(Deadlock) Ocurra lo que ocurra, el proceso terminará
quedando permanentemente inactivo: AF AG ¬activo
(Fairness) En cualquier situación el proceso se activará una
cantidad infinita de veces: AG AF activo
(Fairness) Si un proceso queda activo una cantidad infinita de
veces entonces es ejecutado una cantidad infinita de veces:
AG AF activo → AG AF ejecucion
Razonamiento Automático – 2013/2014
NuSMV: Lógicas Temporales
Patrones de especificación
(Safety) Es imposible alcanzar una situación en la que el
proceso esté ejecutandose y no esté activo:
AG ¬(ejecucion ∧ ¬activo)
(Reachability) Es posible alcanzar un estado en el que hay una
petición y el proceso está inactivo: EF (peticion ∧ ¬activo)
(Reachability) En cualquier situación es posible alcanzar un
estado en el que el proceso está activo: AG EF activo
Razonamiento Automático – 2013/2014
NuSMV: Lógicas Temporales
Bibliografı́a
Huth, M. and Ryan, M. Logic in Computer Science:
Modelling and Reasoning about Systems. (Cambridge
University Press, 2004)
Razonamiento Automático – 2013/2014
NuSMV: Lógicas Temporales
Descargar