Xspin

Páginas: 7 (1741 palabras) Publicado: 17 de octubre de 2011
Instalación de X-SPIN
1.- Descargar el compilador de TCL/TK de la pagina:
http://www.activestate.com/activetcl/downloads
Página principal

En la página principal se busca la última opción: ActivePerl Community Edition

Elegir el ActivePerl de acuerdo al sistema operativo y a los bits que maneja


Ejecutar el archivo

2.- Instalación del compilador de TCL/TK. A continuacion semuestran las siguientes ventanas; se elige la opción: Next





Aparece la ventana que muestra Notas de ayuda acerca de ActivePerl. Se cierra esta opción


3.- Descargar el compilador de C++ de la siguiente página: www.bloodshed.net/dev/devcpp.html
Página principal; aquí se muestran diferentes opciones para descargar

Se ejecuta el archivo


Se selecciona el idioma;en este caso nosotros elegimos el español

En esta ventana se aceptan los términos de licencia

4.- Instalación del el compilador de C++. A continuacion se muestra la siguiente ventana; se elegi la opcion: Siguiente. De ahí la opción Instalar

A continuacion se muestran las siguientes ventanas; se elige la opción: Next

Se da OK para terminar la Instalación; de ahí la opciónClose

5.- Descargar X spin de la siguiente página: www.spinroot.com/spin/src/index.html
Página principal





























Ping pong

Diagrama de comunicación



Código de programación
mtype = {MSG, ACK}
chan canal = [1] of {mtype, int}
proctype emisor() {
int recibido;
do
:: canal ! MSG, 666 -> canal ? ACK, recibido;od
}
proctype receptor() {
int recibido;
do
:: canal ? MSG(recibido) -> canal ! ACK(recibido);
printf("MSC: Caracter recibido: %d\n", recibido);
od
}
init {
run receptor();
run emisor();
}




Ejecución de programa



Ping pong con control de flujo (5 paquetes)
Diagrama de comunicación


Código de programación

mtype = {MSG, ACK}
chan canal = [1] of {mtype,int}
int i = 0;
proctype sender() {
int mensaje[5];
mensaje[0] = 10;
mensaje[1] = 20;
mensaje[2] = 30;
mensaje[3] = 40;
mensaje[4] = 50;
int recibido;

do
:: canal ! MSG, mensaje[i] ->
canal ? ACK, recibido;
i++;
if
:: (i == 5) -> break;
:: else -> skip;
fi
od
}

proctype receiver() {
int recibido;
do
:: canal ? MSG(recibido) -> canal !ACK(recibido);
printf("MSC: Caracter recibido: %d\n", recibido);
od
}
init {
run sender();
run receiver();
}



Ejecución de programa



Ping pong con Demonio
Código de programación
mtype = {MSG, ACK}
chan canal = [1] of {mtype, int}
proctype emisor() {
int recibido;
do
:: canal ! MSG, 666 -> canal ? ACK, recibido;
od
}

proctype receptor() {
int recibido;
do
::canal ? MSG(recibido) -> canal ! ACK(recibido);
printf("MSC: Caracter recibido: %d\n", recibido);
od
}

proctype demonio()
{
int recibido;
canal ? MSG(recibido);
printf("MSC: Mensaje perdido!");
}

init {
run receptor();
run emisor();
run demonio();
}



Ejecución de programa


Protocolo de Ventana Deslizante
La Ventana deslizante es un mecanismo dirigido al control deflujo de datos que existe entre un emisor y un receptor pertenecientes a una red informática.
El Protocolo de Ventana Deslizante es un protocolo de transmisión de datos bidireccional de la capa del nivel de enlace (modelo OSI).
La ventana deslizante es un dispositivo de control de flujo de tipo software, es decir, el control del flujo se lleva a cabo mediante el intercambio específico decaracteres o tramas de control, con los que el receptor indica al emisor cuál es su estado de disponibilidad para recibir datos.
Este dispositivo es necesario para no inundar al receptor con envíos de tramas de datos. El receptor al recibir datos debe procesarlo, si no lo realiza a la misma velocidad que el transmisor los envía se verá saturado de datos, y parte de ellos se pueden perder. Para evitar...
Leer documento completo

Regístrate para leer el documento completo.

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS