La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Derivación de Contraejemplos para Model Checking Cuantitativo

Presentaciones similares


Presentación del tema: "Derivación de Contraejemplos para Model Checking Cuantitativo"— Transcripción de la presentación:

1 Derivación de Contraejemplos para Model Checking Cuantitativo
Miguel E. Andrés FaMAF – Córdoba Director: Pedro D’Argenio

2 Resumen Motivación El Problema Solución: Caso Determinista
Carriles Solución Reducción del Modelo Derivación del Contraejemplo Optimizaciones Solución: Caso No Determinista Implementación Conclusión Trabajos Futuros Primero voy a dar la motivación Luego voy a explicar el problema abordado por el presente trabajo Despues voy a dar la solución para el caso determinista Despues vemos la solucion para el caso no determinista Y finalmente voy a hablar acerca de la implementacion del proyecto, las conclusiones y trabajo futuros

3 Resumen Motivación El Problema Solución: Caso Determinista
Carriles Solución Reducción del Modelo Derivación del Contraejemplo Optimizaciones Solución: Caso No Determinista Implementación Conclusión Trabajos Futuros

4 Motivación ? Model Checking Clásico (Cualitativo) Ejemplo
Model Checking es una técnica de verificación tal que, una vez dado el modelo del sistema bajo estudio y una propiedad para verificar, permite decidir automáticamente si la propiedad se satisface o no Definición Ejemplo ? Contraejemplo La justificación de la violación de una propiedad no satisfecha es un feedback muy importante que nos permite corregir el diseño o la implementación del sistema modelado. En primer lugar introducimos la nocion de model checking … Blabla Explicar lo que es una propiedad cualitativa Ahora veamos el ejemplo… no se cumple Mas alla de que el objetivo de model checking sea conocer la validez de una propiedad, es igualmente importante conocer el poque de las propiedades que no son satisfechas. [Dar la definicion] En los model checkers tradicionales, esta justificación es obtenida en forma de una ejecucion detallada que lleva al sistema desde su estado inicial hasta un estado en el cual la propiedad no se satisface Un contraejemplo en este caso seria [bla bla]

5 Motivación Nuestro Problema: Model Checking Cuantitativo (mas complejo) Modelo No Determinista y Probabilista Propiedad Cuantitativa 2/3 1/3 1/2 Muestro el modelo Muestro la propiedad y explico porque cuantitativa Ecplico que en el ejemplo tenemos no determinismo en la decision de una distribucion de probabilidades desde s0 Ahora analicemos si se cumple la propiedad en el model. Si seleccionamos esta distribucion de probabilidades entonces si, pero si elegimos esta distribucion de probabilidades no Como podemos ver, en este caso, los contraejemplos no son sencillos de visualizar en este caso. El problema es que el contraejemplo en si es una arbol probabilistico. Podria sea mucho mas complejo que esto, por ejemplo, si tuviese ciclos. Concluimos que los contraejemplos no resultan muy utiles para localizar el error en el sistema. Por ultimo, es importante destacar que dado el no determinismo…[] Dado el NO DETERMINISMO, sólo podemos hablar de PROBABILIDADES MINIMAS y MAXIMAS

6 Motivación Problema No Explorado Trabajos Relacionados Sin Embargo
Counterexamples for Timed Probabilistic Reachability (Aljazzar,Hermanns,Leue) Sin Embargo Los contraejemplos se limitan a una única ejecución Es necesario especificar una cota para la longitud de la ejecución contraejemplo No contempla comportamientos No Deterministas en el sistema Probablemente por la complejidad el problema practicamente no ha sido explorado El unico trabajo relacionado es [] Sin embargo…[] Mas adelante voy a explicarles mas detalladamente la problemática de esta solucion

7 Resumen Motivación El Problema Solución: Caso Determinista
Carriles Solución Reducción del Modelo Derivación del Contraejemplo Optimizaciones Solución: Caso No Determinista Implementación Conclusión Trabajos Futuros

8 Testigo de Contraejemplo
El Problema Propiedad de Alcanzabilidad (acotada superiormente): La probabilidad de alcanzar una condición final es menor o igual que un valor probabilista dado. “Dado un modelo Probabilista y No Determinista, y una propiedad de alcanzabilidad no válida en dicho modelo, encontrar un contraejemplo” Testigo de Contraejemplo Para formalizar el problema veamos la definicion de probabilidad de alcanzabilidad En este trabajo nos enfocamos en [dado…] Pero como vimos antes, los contraejemplos son elementos muy complejos y en general no nos resultan de utilidad para identificar errores en el sistema original. Por lo que nos enfocaremos en encontrar testigos de contraejemplos. Los mismos son conjuntos de ejecuciones del sistema que en combinacion conforman un contraejemplo

9 Resumen Motivación El Problema Solución: Caso Determinista
Carriles Solución Reducción del Modelo Derivación del Contraejemplo Optimizaciones Solución: Caso No Determinista Implementación Conclusión Trabajos Futuros

10 El Modelo: Cadenas de Markov de Tiempo Discreto (CMTD)
Solución: Caso Determinista [Definiciones] El Modelo: Cadenas de Markov de Tiempo Discreto (CMTD) En primer lugar veamos la solucion para el caso determinista, luego extenderemos nuestro resultado a modelos no deterministas Para modelar sistemas probabilistas usamos cadenas de markov, estas son ternas tales que …[] En este ejemplo es posible observar el estado inicial [lo muestro], la matriz de probabilidades se encuentra representada por trancisiones con probabilidades. Como vemos, la suma de las probabilidades de todas las trancisiones asociadas a cada estado es 1

11 Solución: Caso Determinista [Definiciones]
Caminos: Probabilidad de Caminos: Probabilidad de Alcanzabilidad: Cálculo de Probabilidad de Alcanzabilidad: Ahora presentaremos varias definiciones utiles Un camino valido en una cadena de Markov es una sucesion finita de estados de la misma, donde existe una transición de cada estado hacia su sucesor. La probabilidad de un camino es el producto de las probabilidades asociadas a cada transición. La probabilidad de alcanzar un estado t desde otro s es la suma de las probabilidades de todos los caminos tales que su primer estado es s y t ocurre solo una vez en la ultima posicion Finalmente, es posible computar la probabilidad de alcanzabilidad resolviendo este sistema de ecuaciones lineales

12 Solución: Caso Determinista [Carriles]
Contraejemplo Problemas Resultados Menos precisos. Resultados aportan la misma información. Resultados muy distantes de un Contraejemplo. Infinitos resultados.

13 Carriles y sus Torrentes asociados
Solución: Caso Determinista [Carriles] Carriles y sus Torrentes asociados Un Carril es un camino sin ciclos. El conjunto de caminos que “fluyen” a través del carril se denomina Torrente asociado a . La probabilidad asociada a un Carril es la probabilidad de que ocurra alguno de los caminos de su torrente asociado.

14 Carriles y sus Torrentes asociados
Solución: Caso Determinista [Carriles] Carriles y sus Torrentes asociados

15 Resumen Motivación El Problema Solución: Caso Determinista
Carriles Solución Reducción del Modelo Derivación del Contraejemplo Optimizaciones Solución: Caso No Determinista Implementación Conclusión Trabajos Futuros

16 Solución: Caso Determinista
Pre Procesamiento Agregar información a cada estado que nos permita identificar los Carriles y Componentes Fuertemente Conexas Maximales. [DFS-E] Obtener una Cadena de Markov reducida. Búsqueda Búsqueda guiada del Carril con mayor probabilidad en la cadena reducida. [Z*] Una vez convencidos de que los carriles son de utilidad como testigos de contraejemplo veamos como localizar el que mayor probabilidad posee. Dicho trabajo se divide en dos etapas. En la primera realizamos un preprocesamiento recabando informacion de gran utilidad y derivando una cadena reducida a partir de la original y en la segunda se realiza la busqueda del carril sobre la cadena reducida.

17 Solución: Caso Determinista [Pre Procesamiento]

18 Solución: Caso Determinista [Pre Procesamiento]
alcanzado procesado no-alcanzado Lets see the first stage What is painted in red is the code added to the original DFS. Each state will have associated its predecessor (in the spanning tree). And its status, there are three possible status, the first one is not visited, which means that the state has not been yet reach by the algorithm; the second is visited which means that the algorithm reached the state, and the third is processed which means that the algorithm has finished processing the state. Now lets analyze the code. Initially the procedure is call with the initial state of the model; the first thing we do is to mark as visited the state s that we are processing, then for each t son of s we have to check its status. # in case it is not visited there are two possibilities: if t satisfies the condition of reachability (&)(this is the situation, this is s, and this is t, then we have to mark from the init state to t) then we have to mark from the initial state to t as states involves in one rail; in the opposite case, we call recursively to DFS_modified with the state t. # if the status is visited, then we are in presence of a cycle (&) (this is t, this is s, then we should back to the predecessors of s until we reach t marking all the covered states as cycle states. # the last case is when the status of t is processed (&), in this case we have to check if t is a rail or a cycle, or none of them. In the first , we have to mark from the initial state to t state as rail. In the second case we have to check if some of s predecessors form part of some cycle reachable along the cycles from t, if this is true we have to mark from s to the state that belongs to the cycle above mention. In the third case we do anything We haven’t estimated the cost yet, but it is important to emphasize that it is very inferior to the cost of the model checker process/done before.

19 carril_id dist pred suc
Solución: Caso Determinista [Pre Procesamiento] Flag: 0 Ninguno 1 Carril 2 Ciclo 3 Carril y Ciclo carril_id dist pred suc [(1,1,s1, s4), (2,1,s0, s4)] S2 [s3] suc_cfcm Ahora analicemos los datos obtenidos en el procesamiento de DFS-E. Cada estado contiene un flag que lo identifica como carril, ciclo, ambos o ninguna. Ademas cada estado posee dos listas asociadas, una con informacion de los carriles en los que se encuentra involucrado y otra con informacion inherente a sus cfcm. La lista primer lista esta conformada por 4-uplpas indicando … aca saco info de la tesis. En tanto la segunda … saco de la tesis En este ejemplo tenemos dos carriles, los resultados entregados por el programa son los siguientes : [leo] En sintesis, los datos recolectados por DFS-E son [hago click y leo]

20 Componente Fuertemente
Solución: Caso Determinista [Pre Procesamiento] Reducción de la Cadena Sacar estados no necesarios (flag=0) Reducir CFCM`s Componente Fuertemente Conexa Maximal *Ahora veamos como reducimos el espacio de estados, para ello eliminamos todas las componentes fuertemente conexas maximales de la cadena y los estados con flag=0, es decir aquellos que no se encuentran involucrados ni en carriles ni en cadenas *Cada CFCM es reducida de la siguiente forma: PENSAR COMO EXPLICARLO Ok, esto es todo lo que hacemos en la etapa de preprocesamiento.

21 Solución: Caso Determinista [Pre Procesamiento]
El Conjunto de todos los Carriles El conjunto de todas las CFCM La Cadena Reducida Información obtenida en Pre Procesamiento: En recumen la informacion obtenida en esta etapa es : [leo un poco] Veamos por ejemplo el caso de esta cadena de markov… su cadena reducida es esta, los estados en gris son aquellos que se han eliminado y observar este estado sink, el mismo se utiliza para acumular la probabilidad que se dirigia a los estados eliminnado (es una formalidad para seguir manejandonos con cadenas de marjov, en realidad no nos resulta impotante)

22 Resumen Motivación El Problema Solución: Caso Determinista
Carriles Solución Reducción del Modelo Derivación del Contraejemplo Optimizaciones Solución: Caso No Determinista Implementación Conclusión Trabajos Futuros

23 Búsqueda del Carril Máximo (Z*)
Solución: Caso Determinista [Búsqueda] Búsqueda del Carril Máximo (Z*) Recalcar que se ejecuta sobre la cadena reducida VER!!! (this is Z* code) (this is the part of the code that we had to add) and it is for (&) this type of situation in which the algorithm is processing the cycle state s. In this circunstances what we do is to find the component strongly connected to s and for each of the rails related the s, we identified the exit point t of the strongly connected component (in the case of this rail the point would be this) and we created a virtual transition form s to t.son with a probabilistic value given by P(s,t), the same will happen afterwards with this other rail. ESTO QUE VIENE ESTABA EN LA DIAPOSITIVA CON LA REDUCCION DE ESTADOS Now we will focus in finding the rails with the larger (smaller) probability. For this purpose we will use the algorithm Z*. To show its functioning we are going to introduce a sketch of an iterative search on trees? In this sketch we will work with a none specified structured call struct in which we will insert and remove states; we start inserting the initial state, then we startto process the states in struct until it is empty. In first place we get a s state of struct, then we remove it from the stuct and we mark it. After that we insert in the structure all the t succesors of s which are not marked. The interesting aspect of this algorithm is that if the structure behaves like a stack (&), then we would be performing an exploration of DFS style. If the structure is a queue we would be performing an exploration of BFS style. But if we use a priority queue then the method of exploration is very similar to Z*. The priorities of the queue is defined by the following function (&) where the function h is the one estimated before in DFS_modified Donde: y

24 Resultado del Programa
Solución: Caso Determinista [Resultados] Ejemplo (Z*) Resultado del Programa Propiedad Informac. Comienzo Terminar Z* Error Encontra- do? No Si Carril Modelo de Debugueo Otro Carril PrePro. Modelo Cadena R. Ahora volvamos al modelo presentado anteriormente, luego los resultados entregados por el programa son estos & [leer un poco] now we go back to the model presented before, the result obtained by my program are (&) these ones (muestro). El valor p indica la probabilidad de la transicion y el valor m indica la mas acumulada hasta el moment. Entre corchetes se encuentran los estados de componentes fuertemente conexas involucradas en el torrente del carril. Entre llaves tenemos los puentes. En resumen, el uso de la herramienta es el siguiente &. (we verify if it reflex any abnormal behaviour in the system)

25 Resumen Motivación El Problema Solución: Caso Determinista
Carriles Solución Reducción del Modelo Derivación del Contraejemplo Optimizaciones Solución: Caso No Determinista Implementación Conclusión Trabajos Futuros

26 Solución: Caso Determinista [Optimización]
h-Optimización La función h es una función que asocia a cada estado s una sobre estimación de la máxima probabilidad entre los caminos desde s hasta algún estado que satisfaga determinada condición (Goal), es decir: Obtención de h Primero leo la definicion Explicar que esto se hace con DFS-E, no cuesta mucho VER COMO CARAJO EXPLICAR!

27 Reducción por Demanda (2da Optimización)
Solución: Caso Determinista [Optimización] Reducción por Demanda (2da Optimización) Para la obtención del carril máximo no es necesario reducir todas las CFCM de la cadena!!! Empiezo leyendo Despues digo que en el preprocesamiento no reducimos ninguna cfcm, sino que simplemente nos quedamos con los estados que estan involucrados en algun carril o ciclo. En este caso [analizo la imagen] La reduccion se hace por demanda extendiendo el algoritmo Z* para que reduzca las cfcm que va encontrando en su busqueda del carril maximo, de esta forma no es necesario reducir todas las cfcm sino solo aquellas que resultan necesarias para el calculo del carril maximo La reducción se hace “por demanda” extendiendo Z*

28 Solución: Caso Determinista [Optimización]
VER COMO CARAJO EXPLICAR

29 Resumen Motivación El Problema Solución: Caso Determinista
Carriles Solución Reducción del Modelo Derivación del Contraejemplo Optimizaciones Solución: Caso No Determinista Implementación Conclusión Trabajos Futuros Finalmente hemos derivado testigos de contraejemplos utiles sobre modelos probabilistas. Ahora extendamos este resultado a los modelos probabilistas y no deterministas.

30 Solución: Caso No Determinista [Definiciones]
Modelo (Procesos de Decisión de Markov) Ejemplo 2/3 1/3 1/2 No Determinismo! Schedulers: El modelo usado para representar estos sistemas es el de procesos de decision de markov, los mismos son muy parecidos a las cadenas de markov, con la diferencia de que en lugar de asignar una distribucion de probabilidades a cada estado le asigna un conjunto de distribuciones de probabilidades. Formalmente son ternas donde [s es….y una funcion tau que asigna a cada estado el conjunto de distribuciones de probabilidad asociadas] Ahora veamos que esto es un pdm, en este caso este es el estado inicial, estos el espacio de estads y estas las distribuciones de probabilidad asociadas Ahora introducimos el concepto de esquedulers (&), un esqueduler es una funcion que asocia una distribucion de probabilidades de tau a cada camino. The schedulers induce markov chains(&); in this particular case we could have a scheduler that chooses this distribution, so, it would be inducing this markov chain. (I can also have schedulers that first choose a particular distribution and then another, but this type of schedulers are not interesting for us.) Los Schedulers inducen Cadenas de Markov!

31 Probabilidades Máximas y Mínimas
Solución: Caso No Determinista [Definiciones] Probabilidades Máximas y Mínimas El valor máximo entre todas las probabilidades obtenidas en las Cadenas de Markov inducidas por los distintos schedulers. As we had said, due to non determinism we can only speak of maximum and minimum probabilities. Now, lets see their definitions: [leo la de maximo y minima] Estas probabilidades puedes ser obtenidas resolviendo un problema de optimizacion linear El valor mínimo entre todas las probabilidades obtenidas en las Cadenas de Markov inducidas por los distintos schedulers.

32 Solución: Caso No Determinista [Ejemplo]
q s0 s1 s2 s3 s4 s5 s6 s7 ? Now lets consider this example, the model checker calculate (&) P+ =0.6, then inform that the property its not fulfilled in the model (&). What we do at this moment is to find the scheduler that maximizes this probability (&). For that purpose we use the obtained results in the stage of the model checker (more precisely in the calculation of the linear optimization) to identify the scheduler that maximices or minimices(&). Then we apply all the foundations of how to obtain rails already seen for markov chains in the induced markov chain In this example we would obtain in the first place the scheduler this who chooses distribution, then we would have this induced markov chain (mostrar). From this one we obtain this rail as show the data (&) provided by our program

33 Resumen Motivación El Problema Solución: Caso Determinista
Carriles Solución Reducción del Modelo Derivación del Contraejemplo Optimizaciones Solución: Caso No Determinista Implementación Conclusión Trabajos Futuros Ahora hablemos un poco de la implemetacion, conclusion y trabajos futuros

34 Implementación Se implementó un prototipo en C.
Sólo para modelos deterministas.[DFS-E,Z*-E] No se optimizaron las estructuras de Datos.

35 Conclusión Lo aportado: Se introdujo el concepto de Carriles.
Se definió una técnica para localizar el Carril Máximo en modelos No Deterministas y Probabilistas. Se definió una técnica para derivar CMTD`s con Contraejemplos a partir de PDM`s. Tratar de explicar mejor esto… mientras mas hable aca mejor

36 Trabajos Futuros Implementar una herramienta para la visualización de Carriles Estudiar el aporte de Carriles para propiedades de alcanzabilidad acotadas inferiormente. Extender la herramienta prototípica a una de uso real. Estudiar el uso de algoritmos alternativos a Z* para la obtención del Carril Máximo

37 Preguntas (Fáciles )


Descargar ppt "Derivación de Contraejemplos para Model Checking Cuantitativo"

Presentaciones similares


Anuncios Google