Ver Mensaje Individual
  #1 (permalink)  
Antiguo 25/05/2012, 09:03
fhernandoecheverria
 
Fecha de Ingreso: mayo-2012
Mensajes: 1
Antigüedad: 12 años
Puntos: 0
Pregunta Problemas con codigo PROMELA ayudaa plis

Tngo un problema con codigo de PROMELA, este tipo de codigo es para programar las simulaciones de los protocolos de red. Todo esta programado con el C++. Alguno me podria decir si alguno de uds. conoce del tema para Q puede ayudarme a resolver esto

mtype = {MSG, ACK}

chan canal = [3] of {mtype, int, int}

proctype Usuario(int user) {
int dato;
int usuario = user;
int acuse_user;

do
:: canal ! MSG, 1105, usuario ->
printf("mensaje enviado");
//if
canal ? ACK, dato, acuse_user;
//if
//:: usuario == acuse_user ->
//printf ("vamos bien xD ");
//:: else ->
//skip;
//fi
//:: timeout -> skip;
//fi
od
}

proctype Servidor() {
int dato;
int acuse_user;
do
:: canal ? MSG, dato, acuse_user ->
printf("mensaje recibido: %d", dato);
canal ! ACK, dato, acuse_user;
od
}


init {

run Usuario(1200);
run Usuario(2100);
run Servidor();
}


Estoy programando el protocolo ALOHA, el cual dice que siempre habra un canal llamado servidor escuchando cualquier mensaje emitido por todos los clientes, sin embargo cuando dos o mas clientes envian mensage al mismo tiempo se crea una colision y ambos clientes esperan un tiempo aleatorio (time out aleatorio) para poder reenviar su paquete y es ahi donde tngo problemas en no saber como crear la colision y como crear el tiempo aleatorio. Desde ya muchas GRACIAS por su ayuda y su tiempo. Saludos a todos.