Verificación de Protocolos

9
Diego Peralta Carlos Román

Transcript of Verificación de Protocolos

Page 1: Verificación de Protocolos

Diego PeraltaCarlos Román

Page 2: Verificación de Protocolos

Los protocolos que se utilizan en la práctica, y los programas que los implementan, con frecuencia son complicados. En consecuencia, se requiere mucha investigación para encontrar técnicas matemáticas formales con las cuales especificar y verificar los protocolos. A continuación se detallará modelos y técnicas, plenamente enmarcadas en el contexto de la capa de enlace de datos, pero aclarando que pueden ser empleados en otras capas

Page 3: Verificación de Protocolos

Con ésta técnica cada máquina de protocole (emisor y receptor) siempre está en un estado específico en cualquier instante. Su estado consiste en todos los valores de sus variables, incluido el contador de programa.

En la mayoría de los casos puede agruparse un gran número de estados a fin de analizarlos. Por ejemplo, considerando el receptor del protocolo 3, podemos abstraer dos estados importantes de todos los posibles: en espera de la trama 0 y en espera de la trama 1. Todos los demás estados pueden considerarse como transitorios: pasos en el camino hacia uno de los estados principales. Es decir, la ejecución de la llamada de procedimiento wait(event) en nuestros ejemplos. En éste punto, el estado de la máquina de protocolo está determinado por completo por los estados de sus variables. El número de estado es entonces, 2^n donde n es el número de bits necesarios para representar todas las variables combinadas.

Page 4: Verificación de Protocolos

Formalmente, un modelo de máquina de estados finitos de un protocolo se puede considerar como un cuádruple (S, M, I, T), donde:

S es el conjunto de estados en que pueden estar los procesos y el canal

M es el conjunto de tramas que pueden intercambiarse a través del canal.

I es el conjunto de estados iníciales de los procesos

T es el conjunto de transiciones entre los estados

Page 5: Verificación de Protocolos
Page 6: Verificación de Protocolos

La máquina de estados finitos no es la única técnica para especificar protocolos formalmente. A continuación se detallará una técnica completamente diferente, la red de Petri. Una red de Petri tiene cuatro elementos básico: lugares, transiciones, arcos y tokens. Un lugar representa un estado en el que puede estar parte del sistema. El sistema actualmente está en el estado A, indicado por el token (punto grueso) en el lugar A. Se utiliza una barra horizontal o vertical para indicar una transición. Cada transición tiene cero o más arcos de entrada, que llegan de sus lugares de entrada, y cero o más arcos de salida, que van a sus lugares de salida.

Page 7: Verificación de Protocolos
Page 8: Verificación de Protocolos
Page 9: Verificación de Protocolos

Las redes de Petri pueden representarse convenientemente en una forma algebraica semejante a una gramática. Cada transición contribuye con una regla a la gramática. Cada regla especifica lugares de entrada y salida de la transición. Si se tiene una gráfica con 11 transiciones, su gramática deberá tener obligatoriamente 11 reglas, numeradas del 1 al 11, y cada una corresponde a la transición del mismo número. La gramática de la Red de Petri de 11 transiciones quedará entonces de ésta manera:

BD AC→ A A→ AD BE→ B B→ C → D → E → CF DF→ EG DG→ CG DF→ EF DG→