NuSMV: Verificacio´n basada en modelos (Model …NuSMV:Verificacio´n basada en modelos (Model...

23
NuSMV: Verificaci´ on basada en modelos (Model Checking) Francisco J. Mart´ ın Mateos Dpto. Ciencias de la Computaci´on e Inteligencia Artificial Universidad de Sevilla Razonamiento Autom´ atico – 2013/2014 NuSMV: Verificaci´ on basada en modelos (Model Checking)

Transcript of NuSMV: Verificacio´n basada en modelos (Model …NuSMV:Verificacio´n basada en modelos (Model...

Page 1: NuSMV: Verificacio´n basada en modelos (Model …NuSMV:Verificacio´n basada en modelos (Model Checking) Francisco J. Mart´ın Mateos Dpto. Ciencias de la Computaci´on e Inteligencia

NuSMV: Verificacion basada en modelos(Model Checking)

Francisco J. Martın Mateos

Dpto. Ciencias de la Computacion e Inteligencia ArtificialUniversidad de Sevilla

Razonamiento Automatico – 2013/2014 NuSMV: Verificacion basada en modelos (Model Checking)

Page 2: NuSMV: Verificacio´n basada en modelos (Model …NuSMV:Verificacio´n basada en modelos (Model Checking) Francisco J. Mart´ın Mateos Dpto. Ciencias de la Computaci´on e Inteligencia

Algoritmos de verificacion para logicas temporales

Distintos planteamientos del proceso de verificacion:¿M, s |= ψ?

Dado un modelo M, un estado s en dicho modelo y unaformula φ, devolver T si M, s |= ψ o F si M, s 6|= ψ

Dado un modelo M y una formula φ, devolver el conjunto deestados del modelo que cumplen M, s |= ψ

El segundo planteamiento es mas general

Razonamiento Automatico – 2013/2014 NuSMV: Verificacion basada en modelos (Model Checking)

Page 3: NuSMV: Verificacio´n basada en modelos (Model …NuSMV:Verificacio´n basada en modelos (Model Checking) Francisco J. Mart´ın Mateos Dpto. Ciencias de la Computaci´on e Inteligencia

Algoritmo de etiquetado para CTL

Entrada:

Un modelo M = (S,→M, L)Una formula CTL φ

Salida:

El conjunto de estados de M que satisfacen la formula φ

El algoritmo analiza recursivamente la formula φ, decidiendosi un estado satisface dicha formula a partir de los estados quesatisfacen sus subformulas inmediatas

Razonamiento Automatico – 2013/2014 NuSMV: Verificacion basada en modelos (Model Checking)

Page 4: NuSMV: Verificacio´n basada en modelos (Model …NuSMV:Verificacio´n basada en modelos (Model Checking) Francisco J. Mart´ın Mateos Dpto. Ciencias de la Computaci´on e Inteligencia

Algoritmo de etiquetado para CTL

Primer paso: Transformar la formula de entrada usandounicamente las conectivas ∧, ¬, ⊥, AF, EU y EX, teniendoen cuenta las siguientes equivalencias

φ ∨ ψ ≡ ¬(¬φ ∧ ¬ψ)φ → ψ ≡ ¬φ ∨ ψ ≡ ¬(φ ∧ ¬ψ)⊤ ≡ ¬⊥AX φ ≡ ¬EX ¬φEF φ ≡ E[⊤Uφ]AG φ ≡ ¬EF ¬φ ≡ ¬E[⊤U¬φ]EG φ ≡ ¬AF ¬φA[φUψ] ≡ AF ψ ∧ ¬E[¬ψU(¬φ ∧ ¬ψ)]

Razonamiento Automatico – 2013/2014 NuSMV: Verificacion basada en modelos (Model Checking)

Page 5: NuSMV: Verificacio´n basada en modelos (Model …NuSMV:Verificacio´n basada en modelos (Model Checking) Francisco J. Mart´ın Mateos Dpto. Ciencias de la Computaci´on e Inteligencia

Algoritmo de etiquetado para CTL

Segundo paso: Etiquetar todos los estados del modelo con lassubformulas de φ que se verifican en ellos

Supongamos que ψ es una subformula de φ y los estados quesatisfacen todas las subformulas inmediatas de ψ ya han sidoetiquetados

Si ψ es

⊥: No se etiqueta ningun estadop ∈ A: Etiquetamos con p todos los estados s tales quep ∈ L(s)ψ1 ∧ ψ2: Etiquetamos con ψ todos los estados que hayan sidoetiquetados con ψ1 y ψ2

¬ψ1: Etiquetamos con ψ todos los estados que no hayan sidoetiquetados con ψ1

Razonamiento Automatico – 2013/2014 NuSMV: Verificacion basada en modelos (Model Checking)

Page 6: NuSMV: Verificacio´n basada en modelos (Model …NuSMV:Verificacio´n basada en modelos (Model Checking) Francisco J. Mart´ın Mateos Dpto. Ciencias de la Computaci´on e Inteligencia

Algoritmo de etiquetado para CTL

Segundo paso: Etiquetar todos los estados del modelo con lassubformulas de φ que se verifican en ellos

Supongamos que ψ es una subformula de φ y los estados quesatisfacen todas las subformulas inmediatas de ψ ya han sidoetiquetados

Si ψ esAF ψ1: Aplicar hasta que no haya ningun cambio en lasetiquetas

Etiquetamos con ψ todos los estados etiquetados con ψ1

Etiquetamos con ψ todos los estados con todos sus sucesores

etiquetados con ψ

EX ψ1: Etiquetamos con ψ todos los estados que tengan unsucesor etiquetado con ψ1

Razonamiento Automatico – 2013/2014 NuSMV: Verificacion basada en modelos (Model Checking)

Page 7: NuSMV: Verificacio´n basada en modelos (Model …NuSMV:Verificacio´n basada en modelos (Model Checking) Francisco J. Mart´ın Mateos Dpto. Ciencias de la Computaci´on e Inteligencia

Algoritmo de etiquetado para CTL

Segundo paso: Etiquetar todos los estados del modelo con lassubformulas de φ que se verifican en ellos

Supongamos que ψ es una subformula de φ y los estados quesatisfacen todas las subformulas inmediatas de ψ ya han sidoetiquetados

Si ψ esE[ψ1Uψ2]: Aplicar hasta que no haya ningun cambio en lasetiquetas

Etiquetamos con ψ todos los estados etiquetados con ψ2

Etiquetamos con ψ cualquier estado etiquetado con ψ1 con

un sucesor etiquetado con ψ

Razonamiento Automatico – 2013/2014 NuSMV: Verificacion basada en modelos (Model Checking)

Page 8: NuSMV: Verificacio´n basada en modelos (Model …NuSMV:Verificacio´n basada en modelos (Model Checking) Francisco J. Mart´ın Mateos Dpto. Ciencias de la Computaci´on e Inteligencia

Algoritmo de etiquetado para CTL

Consideremos el modelo M representado por el siguientesistema de transicion

p,q

q,r r

s0

s2s1

Aplicar el algoritmo a las siguientes formulas

p ∧ q¬rEX (q ∧ r)¬AX (q ∧ r)¬EF (p ∧ r)

Razonamiento Automatico – 2013/2014 NuSMV: Verificacion basada en modelos (Model Checking)

Page 9: NuSMV: Verificacio´n basada en modelos (Model …NuSMV:Verificacio´n basada en modelos (Model Checking) Francisco J. Mart´ın Mateos Dpto. Ciencias de la Computaci´on e Inteligencia

Algoritmo de etiquetado para CTL

Consideremos el modelo M representado por el siguientesistema de transicion

p,q

q,r r

s0

s2s1

Aplicar el algoritmo a las siguientes formulas

EG rAF rE[(p ∧ q)Ur]A[pUr]AG (p ∨ q ∨ r → EF EG r)

Razonamiento Automatico – 2013/2014 NuSMV: Verificacion basada en modelos (Model Checking)

Page 10: NuSMV: Verificacio´n basada en modelos (Model …NuSMV:Verificacio´n basada en modelos (Model Checking) Francisco J. Mart´ın Mateos Dpto. Ciencias de la Computaci´on e Inteligencia

Algoritmo de etiquetado para CTL

Podemos incluir en el algoritmo la conectiva EG de lasiguiente forma

Si ψ es:EG ψ1: Etiquetamos todos los estados con ψ y aplicamoshasta que no haya ningun cambio en las etiquetas

Eliminamos la etiqueta ψ de cualquier estado no etiquetado

con ψ1

Eliminamos la etiqueta ψ de cualquier estado que no tenga

ningun sucesor etiquetado con ψ

Razonamiento Automatico – 2013/2014 NuSMV: Verificacion basada en modelos (Model Checking)

Page 11: NuSMV: Verificacio´n basada en modelos (Model …NuSMV:Verificacio´n basada en modelos (Model Checking) Francisco J. Mart´ın Mateos Dpto. Ciencias de la Computaci´on e Inteligencia

Algoritmo de verificacion para LTL

Una formula LTL se evalua en los caminos de un modelo queparten de un estado dado

Las subformulas de una formula LTL se han de evaluar en loscaminos del modelo

El algoritmo de etiquetado para CTL no se puede utilizar paraformulas LTL

Dicho algoritmo se basa en que las subformulas se evaluan dela misma forma que la formula original: sobre estados delmodeloPor ejemplo: Fφ → Fψ

Razonamiento Automatico – 2013/2014 NuSMV: Verificacion basada en modelos (Model Checking)

Page 12: NuSMV: Verificacio´n basada en modelos (Model …NuSMV:Verificacio´n basada en modelos (Model Checking) Francisco J. Mart´ın Mateos Dpto. Ciencias de la Computaci´on e Inteligencia

Algoritmo de verificacion para LTL

Entrada:

Un modelo M = (S,→M, L)Un estado s ∈ SUna formula LTL φ

Salida:

Respuesta afirmativa si M, s |= φ y respuesta negativa (juntocon un camino contraejemplo) si M, s 6|= φ

Idea intuitiva:

Construir un automata A¬φ que codifica los caminos en Mque satisfacen ¬φCombinar el automata A¬φ con el modelo M de forma quelos caminos en el automata resultante sean caminos en M yen A¬φ

Si hay algun camino aceptado por el automata combinado,comenzando en s entonces dicho camino es un contraejemplode M, s |= φ

Razonamiento Automatico – 2013/2014 NuSMV: Verificacion basada en modelos (Model Checking)

Page 13: NuSMV: Verificacio´n basada en modelos (Model …NuSMV:Verificacio´n basada en modelos (Model Checking) Francisco J. Mart´ın Mateos Dpto. Ciencias de la Computaci´on e Inteligencia

Algoritmo de verificacion para LTL

Paso previo: Transformar la formula de entrada usandounicamente las conectivas ∨, ∧, ¬, ⊥, U y X, teniendo encuenta las siguientes equivalencias

φ → ψ ≡ ¬φ ∨ ψ ≡ ¬(φ ∧ ¬ψ)⊤ ≡ ¬⊥Fφ ≡ ⊤UφGφ ≡ ¬F¬φ ≡ ¬(⊤U¬φ)φWψ ≡ φUψ ∨ Gφ ≡ φUψ ∨ ¬(⊤U¬φ)φRψ ≡ ψW(φ ∧ ψ) ≡ ψU(φ ∧ ψ) ∨ ¬(⊤U¬ψ)

Razonamiento Automatico – 2013/2014 NuSMV: Verificacion basada en modelos (Model Checking)

Page 14: NuSMV: Verificacio´n basada en modelos (Model …NuSMV:Verificacio´n basada en modelos (Model Checking) Francisco J. Mart´ın Mateos Dpto. Ciencias de la Computaci´on e Inteligencia

Construyendo el automata Aφ

Entrada:

Un modelo M = (S,→M, L)Una formula LTL φ en la que las unicas conectivas temporalesson U y X

Salida:

Un automata Aφ que acepta aquellos caminos en M quesatisfacen φ

Razonamiento Automatico – 2013/2014 NuSMV: Verificacion basada en modelos (Model Checking)

Page 15: NuSMV: Verificacio´n basada en modelos (Model …NuSMV:Verificacio´n basada en modelos (Model Checking) Francisco J. Mart´ın Mateos Dpto. Ciencias de la Computaci´on e Inteligencia

Construyendo el automata Aφ

Dada una formula LTL, φ, definimos su cierre C(φ) como elconjunto formado por todas las subformulas de φ y suscomplementarias (identificando ¬¬ψ y ψ)

C(aUb) = {a,¬a, b,¬b, aUb,¬(aUb)}

Los estados q de Aφ son los subconjuntos maximales de C(φ)satisfaciendo las siguientes condiciones:

Si ψ1Uψ2 ∈ q entonces ψ1 ∈ q o ψ2 ∈ qSi ¬(ψ1Uψ2) ∈ q entonces ¬ψ2 ∈ qSi ψ1 ∧ ψ2 ∈ q entonces ψ1 ∈ q y ψ2 ∈ qSi ¬(ψ1 ∧ ψ2) ∈ q entonces ¬ψ1 ∈ q o ¬ψ2 ∈ qSi ψ1 ∨ ψ2 ∈ q entonces ψ1 ∈ q o ψ2 ∈ qSi ¬(ψ1 ∨ ψ2) ∈ q entonces ¬ψ1 ∈ q y ¬ψ2 ∈ qPara todo ψ ∈ C(φ) positiva, ψ ∈ q o ¬ψ ∈ q pero noambos

Los estados de AaUb son: {aUb, a, b}, {aUb, a,¬b},{aUb,¬a, b}, {¬(aUb),¬b, a}, {¬(aUb),¬b,¬a}

Razonamiento Automatico – 2013/2014 NuSMV: Verificacion basada en modelos (Model Checking)

Page 16: NuSMV: Verificacio´n basada en modelos (Model …NuSMV:Verificacio´n basada en modelos (Model Checking) Francisco J. Mart´ın Mateos Dpto. Ciencias de la Computaci´on e Inteligencia

Construyendo el automata Aφ

Los estados iniciales de Aφ son aquellos que contienen laformula φ

La relacion de transicion en Aφ se define de forma queq →Aφ

q′ si y solo si se tienen las siguientes condiciones:

Si Xψ ∈ q entonces ψ ∈ q′

Si ¬Xψ ∈ q entonces ¬ψ ∈ q′

Si ψ1Uψ2 ∈ q y ψ2 6∈ q entonces ψ1Uψ2 ∈ q′

Si ¬(ψ1Uψ2) ∈ q y ψ1 ∈ q entonces ¬(ψ1Uψ2) ∈ q′

Razonamiento Automatico – 2013/2014 NuSMV: Verificacion basada en modelos (Model Checking)

Page 17: NuSMV: Verificacio´n basada en modelos (Model …NuSMV:Verificacio´n basada en modelos (Model Checking) Francisco J. Mart´ın Mateos Dpto. Ciencias de la Computaci´on e Inteligencia

Construyendo el automata Aφ

La condicion de aceptacion del automata Aφ se define deforma que asegure que despues de cualquier estadoconteniendo una formula del tipo ψ1Uψ2 se alcanzara enalgun momento un estado conteniendo la formula ψ2

Un camino en el automata es aceptado si para todas lassubformulas de φ del tipo ψ1Uψ2, el camino tiene unacantidad infinita de estados conteniendo ¬(ψ1Uψ2) o ψ2

Razonamiento Automatico – 2013/2014 NuSMV: Verificacion basada en modelos (Model Checking)

Page 18: NuSMV: Verificacio´n basada en modelos (Model …NuSMV:Verificacio´n basada en modelos (Model Checking) Francisco J. Mart´ın Mateos Dpto. Ciencias de la Computaci´on e Inteligencia

Construyendo el automata Aφ

Automata para la formula aUb:

¬(aUb)¬b

a

¬b

aaUb

aaUbb

aUbb

¬a¬a¬(aUb)

¬b

Ejercicio: Automata para la formula (aUb) ∨ (¬aUb)

Razonamiento Automatico – 2013/2014 NuSMV: Verificacion basada en modelos (Model Checking)

Page 19: NuSMV: Verificacio´n basada en modelos (Model …NuSMV:Verificacio´n basada en modelos (Model Checking) Francisco J. Mart´ın Mateos Dpto. Ciencias de la Computaci´on e Inteligencia

Combinando automata y modelo

Entrada:

Un modelo M = (S,→M, L)Un automata Aφ

Salida:

Un sistema de transicion en el que todo camino es un caminoen Aφ y tiene asociado un camino en M

Proceso:

Todo estado q en Aφ esta asociado con un unico estado qMen M tal que L(qM) = q ∩ LEliminar de Aφ todas las transiciones q →Aφ

q′ tales queqM 6→M q′

M

Eliminar la caracterıstica de estado inicial de todo estado q talque qM no sea estado inicial en M

Razonamiento Automatico – 2013/2014 NuSMV: Verificacion basada en modelos (Model Checking)

Page 20: NuSMV: Verificacio´n basada en modelos (Model …NuSMV:Verificacio´n basada en modelos (Model Checking) Francisco J. Mart´ın Mateos Dpto. Ciencias de la Computaci´on e Inteligencia

Combinando automata y modelo

Modelo M:

¬ab¬b

b

¬a

aa¬b

Automata AaUb:

¬(aUb)¬b

a

¬b

aaUb

aaUbb

aUbb

¬a¬a¬(aUb)

¬b

Razonamiento Automatico – 2013/2014 NuSMV: Verificacion basada en modelos (Model Checking)

Page 21: NuSMV: Verificacio´n basada en modelos (Model …NuSMV:Verificacio´n basada en modelos (Model Checking) Francisco J. Mart´ın Mateos Dpto. Ciencias de la Computaci´on e Inteligencia

Combinando automata y modelo

La combinacion de M y AaUb es

¬(aUb)¬b

a

¬b

aaUb

¬a¬(aUb)

¬baUbb

¬a

aaUbb

Razonamiento Automatico – 2013/2014 NuSMV: Verificacion basada en modelos (Model Checking)

Page 22: NuSMV: Verificacio´n basada en modelos (Model …NuSMV:Verificacio´n basada en modelos (Model Checking) Francisco J. Mart´ın Mateos Dpto. Ciencias de la Computaci´on e Inteligencia

Algoritmo de verificacion para LTL

Entrada:

Un modelo M = (S,→M, L)Un estado s ∈ SUna formula LTL φ

Salida:

Respuesta afirmativa si M, s |= φ y respuesta negativa (juntocon un camino contraejemplo) si M, s 6|= φ

Proceso:

Construir el automata A¬φ y combinarlo con el modelo MSi queda algun camino en el automata resultado de lacombinacion anterior, aceptado por el automata A¬φ,entonces M, s 6|= φ y el camino asociado en M lo atestigua

Razonamiento Automatico – 2013/2014 NuSMV: Verificacion basada en modelos (Model Checking)

Page 23: NuSMV: Verificacio´n basada en modelos (Model …NuSMV:Verificacio´n basada en modelos (Model Checking) Francisco J. Mart´ın Mateos Dpto. Ciencias de la Computaci´on e Inteligencia

Bibliografıa

Huth, M. and Ryan, M. Logic in Computer Science:

Modelling and Reasoning about Systems. (CambridgeUniversity Press, 2004)

Razonamiento Automatico – 2013/2014 NuSMV: Verificacion basada en modelos (Model Checking)