Escolar Documentos
Profissional Documentos
Cultura Documentos
Laboratorio 4
Evaluacin de la complejidad de la
Bsqueda
-Utilizando algn editor de textos, crea el _chero
ex1a.pml, con el siguiente cdigo Promela:
$Spin -p -l ex1a pml
$Spin -p -l ex1a pml | less
Cuestin 1
Interpreta la salida del simulador, a qu es debido el
error producido? Razona tus respuestas.
2
-spin: ex1a.pml:8, Error: valu (256->0 (8)) trncate in assignment
449023: proc 0 (:init::1) ex1a.pml:6 (state 2) [i = (i+1)]
-nos indica que ha habido un error de truncamiento
porque al declarar la variable (i) de tipo byte esta tiene
un rando de 256 y al representar el conjunto de estado
solo llegamos a 255
Cuestin 2:
A la vista de la informacin anterior, cuntos estados
crees que generar el verificador?
Qu relacin guarda el no de estados y la definicin de
tipos, en el modelo anterior?
Cuntos estados deber inspeccionar la bsqueda
exhaustiva? Es un nmero finito o infinito?
-Unos 21 estado, mantiene una relacin lineal, debera
inspeccionar de (0 256) estado, es un numero finito.
3
Cuestin 3:
A la vista de la salida del verificador y en relacin al
nmero de estados stored, comenta el origen de estos
estados.
-El numero de estado es 256 esto es el numero de
estado que representan un byte.
Cuestin 4:
4
-Trata de explicar el motivo del mensaje error: max
search depth too small y su relacin con el nmero de
estados generado.
-El error es por la profundidad de bsqueda que no
puede llegar a realizar todas las operaciones posibles.
-Con opcin ./pan m1000000, podemos generar ms
bsqueda sea ampliar la bsqueda.
Cuestin 5:
Compara las dos salidas anteriores del verificador:
numero de estados generados, memoria utilizada, etc.
-Vemos que el consumo de memoria es mayor al realizar
un mayor nmero de bsquedas, y el nmero de estados
al ejecutar con m 1000000 realiza todos los estados que
se le indican.
5
Cuestin 6:
-A partir del diagrama de estados y rbol de
alcanzabilidad (Figura 4.2), justifica y explica la salida
proporcionada por el verificador en relacin al no de
estados generados:
-Store mached 8 son las veces por las que hemos pasado
por un estado anterior.
-State store 7 son los posibles estado del rbol de
alcanzabilidad.
-Transitions es la suma de mached + store = 15.
Cuestin 7:
-A partir del ltimo resultado del verificador, cul es
tamao de tabla Hash establecido por defecto por Spin?
-s=20^(7+1)-1=255.
6
Comparacin entre n=3y n=2;
-Utilizando en el modelo anterior y para N = 14, realiza
las verificaciones para los diferentes tamaos de tabla y
completa la siguiente tabla:
W H T S G V E M Conflictos
15
20
24
26
28
7
Cuestin 8:
Analiza los resultados de la tabla:
Cuestin 9:
Cunta memoria ser necesaria para la ejecucin con N
= 20? (Atencin: tanto el nmero de estados alcanzables
como el no de bytes por estado se incrementa con N.
Supongamos unos 30 bytes por estado para N = 20).
Suponiendo una memoria RAM de 8 Megabytes, qu
fraccin mxima de espacio de estados se podr
analizar?
-unos 2^(20+1)-1=2097151.
-Vamos a poner de manifest las limitaciones fsicas
(RAM) en la bsqueda en espacios de estados muy
8
extensos. Para ello vamos a verificar el modelo anterior
con N = 20.
-En el caso de limitacin de memoria que impide realizar
una verificacin completa, como ltima alternativa se
utiliza la opcin de supertraza con el parmetro bitstate.
Establece N = 20 en el modelo y realiza la verificacin
con las opciones bitstate y -w23:
Cuestin 10:
Qu porcentaje de estados se ha alcanzado con la
ejecucin utilizando -DBITSTATE?
-12546645 state,stored.
9
Cunta memoria se ha utilizado?
-1.730 Megabytes.
$ Spin -m -a ex1b.pml
$ gcc -DBITSTATE -o pan pan.c
$ . / pan -w26
-Vemos que la cantidad de memoria utilizada en el caso
de la opcin DBITSTATE es mucho menor, y los estado
son mayores.
Cuestin 11:
Comenta y compara los resultados de las dos
verificaciones anteriores.
10
Cuestin 12:
-Comenta los ltimos resultados.