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