• No se han encontrado resultados

Analisis del Protocolo de Comunicaciones

C.1

Introducción

Un cuidadoso diseño y analisis del protocolo de comunicaciones es impre-

scindible cuando el sistema alcanza cierta complejidad. La utilización de métodos formales para esta tarea permite eliminar la imprecisión de las de- scripciones informales, realizar demostraciones formales de la validez de un

protocolo y utilizar computadores en el proceso de diseño y validación. De los numerosos métodos propuestos para la validación de protocolos [54)[53)

[371nosotros hemos adoptado el propuesto por Zafiropulo et al. [77] para realizar una validación automática del protocolo que ya estaba en un avan-

zado estado de desarrollo. El método usado está basado en el analisis de alcanzabilidad y utiliza una técnica de perturbaciones.

C.2

Tipos de errores de Diseño

Supondremos que los procesadoresestá inicializados correctamente antes de

comenzar las interacciones. En este marco, podemos tratar cuatro tipos de errores potenciales de diseño: estados de bloqueo, recepciones no especifi- cadas, interacciones no ejecutables y estados ambiguos.

• Estado de bloqueo

Aparece cuando todos y cada uno de los procesos tiene como única

178 C. Analisis del Protocolo de Comunicaciones

alternativa permanecer indefinidamente en el mismo estado. Los es- tados de bloqueo generalmente representan errores, pero pude haber excepciones. Pueden diseñarse protocolos que terminan en estado sin

salida al completar su función.

• Recepción No Especificada

Se produce cuando un arco etiquetado con un entero positivo no ha sido especificado en el diseño. Las recepciones no especificadas son

peligrosas porque pueden llevar al proceso receptor a un estado de- sconocido en que tendrá un comportamiento imprevisible. Los proto- colos pueden protegerse mediante un mecanismo que considere toda

recepción no especificada. Sin embargo, si se introduce este meca- nismo, las recepciones no especificadas que no sean causadas por un mal funcionamiento será tratadas de la misma forma. Por ejemplo, si la petición de una nueva conexión se hace mediante un nuevo identi- ficativo, se tratará de una recepción no especificada pero correcta,

• Interaciones No Ejecutables

Se producen cuando el diseño incluye transmisión y recepción de men- sajes que no pueden producirse bajo condiciones normales de operación. Una interacción no ejecutable es equivalente a la existencia de código muerto en un programa. Pueden deberse a errores de diseño o a la con-

sideración de condiciones de funcionamiento anormales. Para distin- guir entre la condiciones normales y anormales, es una buena práctica de diseño, diseñar y validar un protocolo para la operatividad normal

antes de introducir el tratamiento de la excepciones.

• Estados Ambiguos

Se produce cuando un estado de un proceso puede cobexistir de forma estable con diferentes estado de otro proceso. No representan nece-

sanamente un error.

C.3

Analisis de Perturbaciones

El analisis de perturbaciones es una técnica para detectar la presencia de potenciales errores de diseño en un protocolo. Cada estado del sistema se representa por un array de dimensión igual al número de procesos que inter- accionan cuyos elementos de la. diagonal principal representan el estado de

C.3. Analisis de Perturbaciones 179

un proceso 1-’, y cada elemento i, kno perteneciente a la diagonal representa el mensaje enviado por el proceso p, al proceso Pk~

( ESTADO C—.WO C-.W1

CONTROL CANAL CANAL

ESTADODEL WO—C ESTADO WO—.W1

SISTEMA CANAL WO CANAL

(SS)

W1—.C W1-.WO ESTADO

CANAL CANAL W1

C: control WO(i): procesador básico 0(1)

El proceso comienza definiendo el estado inicial SSO que consiste en los

procesos en estado SO y con los canales yacios (representado por E). SSO se perturba a todos los posibles estado sucesores alcanzablesejecutando una

única transmisión en uno de los procesos individuales IN, i~2, .., P,. Así, cada una de la posibles transmisiones a partir de SSO genera una rama de un árbol llamado de alcanzabilidad. El procedimiento continua perturbando cada

uno de los nuevos estados del sistema y termina cuando no se crean nuevos

estados del sistema. Una vez que se ha generado el árbol de alcanzabilidad, los errores de diseño se detectan de la siguiente forma:

• Estado de bloqueo

Los bloqueos se identifican en el árbol de alcanzabilidad por estados

que tienen todos los canales yacios y no tiene transiciones de salida.

• Recepción No Especificada

Se identifican por estados sin transiciones de salida que absorban el mensaje pendiente de transmisión de un canal.

• Interaciones No Ejecutables

Se identifican por transiciones de estado presentes en el diseño que no

aparecen en el árbol de alcanzabilidad.

• Estados Ambiguas

Se identifican por el estado de un proceso concreto que aparece en

C. AnaLisis del Protocolo de Comunicaciones mensaje numero CODIGO 1 PETICION 2 TRABAJO 3 CONFIRMACION 4 INTERCAMBIO 5 NEGACION 6 RESPUESTA 7 BORRAR 8 NUEVOSRABAJO 9

Tabla Cl: Numeración de los mensajes de PDP

C.4

Modelización del protocolo de PDP

Para realizar la validación del protocolo vamos a modelizarlo utilizando una

simplificación de la representación dada en el capítulo 5, en la que los pro-

cesos que interaccionan se modelan por un grafo de estados finito. Los mensajes intercambiados entre los procesos se representan por enteros. La

emisión de mensajes se representa por valores negativos del entero correspon- diente y la recepción por su valor positivo. La Tabla C.l y C.2 representan la numeración de los mensajes de PDP y de sus estados, respectivamente. Para realizar el analisis se han considerado tras procesos: el controlador y dos procesadores básicos. De esta forma aparece toda la gama de mensajes y situaciones posibles en el sistema. El analisis se ha realizado sobre el proto- colo de comunicaciones correspondiente a la explotación del paralalismoX, ya que el del paraleismofl es una simplicficación de este.

La forma en que queda representado el protocolo de comunicaciones de PDP aparece en la Figura Cl. Se han introducido algunos estados ficticios, como el tratamiento de peticiones (Tarta.pet) en el diagrama que representa los intercambios entre el controlador y un procesador básico, para ajustarse al esquema del método y evitra recibir y enviar mensajes desde un mismo estado. De la misma forma en el protocolo entre procesadores básicos se han introducido los nuevos estadosderecepción de trabajo (Recvtra), activo con petición (AcLpet), activo con trabajo (Act..tra), recepción de ¿a orden

de intercambio (Recvint) y recepción de respuesta (Recvses).