Modelado de SFNet, red WOBAN de San Francisco con 25 BSs, 25 usuarios, 16 ONUs, 1 OLT y 1 Splitter. 5 de BSs-pasarela conectan con 4 ONUs-pasarela.
The following diagram shows usage relationships between types. Unresolved types are missing from the diagram. Click here to see the full picture.
The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram. Click here to see the full picture.
Name | Type | Default value | Description |
---|---|---|---|
numBS | int |
Cada 0.26 píxeles del layout representan 1 metro -> Dimensiones del layout: 778x509px = 2992.3x1957.7m. |
|
numUser | int |
Numero de usuarios inalambricos conectados a las estaciones base |
|
numGW | int |
Numero de BSs que actuan como pasarelas entre la parte optica y la inalambrica |
|
criterio | int |
Criterio aplicado para realizar el encaminamiento (SPRA, MHRA, DARA). |
|
numcolas | int |
Numero de clases de servicio en la parte inalambrica |
|
longitud_media_paquete | int |
Longitud media de los paquetes generados en los modulos User_traffic[] (en Bytes) |
|
conexiones | int |
Longitud del array de puertas physicalBS[] del modulo compuesto BS |
|
caminos | int |
Parametro para elegir el numero de "caminos optimos" por el que se encaminan los paquetes inalambricos |
|
tasabinaria | double |
Capacidad de radio de las BSs |
|
delta_time | double |
Tiempo de ciclo de cada enlace de las BSs |
|
buffer_size | double |
Tamanyo del buffer de cada BS |
|
carga_nodo | double |
Carga de cada fuente de trafico de los usuarios inalambricos |
|
user_insercionmethod_separatequeue0_priorityqueue1 | int |
Parametro para elegir el metodo de insercion de los paquetes en los modulos BS_queue[] |
|
user_extractionmethod_StrictPQ0_Centralized1 | int |
Parametro para elegir el metodo de extraccion de los paquetes en los modulos BS_queue[] |
|
node_load | double |
Carga de las fuentes de trafico optico |
|
numOnu | int |
Numero de ONUs en la subred EPON |
|
longpon1 | double |
Longitud del enlace entre OLT y Splitter |
|
longpon2 | double |
Longitud del enlace entre SPlitter y ONUs |
|
numlong | int |
Numero de longitudes de onda que soporta la parte optica de la red |
|
tambuffer | double |
Tamanyo del buffer de cada ONU |
|
txrate | double |
Capacidad de transmision de cada enlace optico |
|
oltmethod_Centralized0_Polling1_wdm2_PollingPID3_DaSPID4 | int |
Parametro para elegir el mecanismo de gestion de ancho de banda dinamico implementado en la capa MAC del OLT |
|
extractionmethod_StrictPQ0_Centralized1 | int |
Parametro para elegir el metodo de extraccion de paquetes de los modulos ONU_SISTqueue[] |
|
insercionmethod_separatequeue0_priorityqueue1 | int |
Parametro para elegir el metodo de insercion de paquetes en los modulos ONU_SISTqueue[] |
|
methodlength_longvariable0_longfija1 | int |
Parametro para elegir la configuracion de los enlaces de la subred EPON (longitud fija o variable) |
|
longpacketfixed0_trimodal1 | int |
Parametro para elegir el modo de generacion de trafico Self-Similar (paquetes de longitud fija o trimodal) |
|
numstreamV2_32_128_256 | int |
Parametro para elegir el numero de streams de cada fuente optica Self-Similar |
|
numqueue | int |
Numero de clases de servicio en la parte optica de la red hibrida |
|
numSLA | int |
Numero de SLAs que soporta la subred optica |
|
w_sla0 | int |
Peso del SLA0 |
|
w_sla1 | int |
Peso del SLA1 |
|
w_sla2 | int |
Peso del SLA2 |
|
w_sla3 | int |
Peso del SLA3 |
|
w_sla4 | int |
Peso del SLA4 |
|
numonu_sla0 | int |
Numero de ONUs asociadas al SLA0 |
|
numonu_sla1 | int |
Numero de ONUs asociadas al SLA1 |
|
numonu_sla2 | int |
Numero de ONUs asociadas al SLA2 |
|
numonu_sla3 | int |
Numero de ONUs asociadas al SLA3 |
|
numonu_sla4 | int |
Numero de ONUs asociadas al SLA4 |
|
BW_garantizado0 | int |
Ancho de banda garantizado para el SLA0 |
|
BW_garantizado1 | int |
Ancho de banda garantizado para el SLA1 |
|
BW_garantizado2 | int |
Ancho de banda garantizado para el SLA2 |
Name | Value | Description |
---|---|---|
isNetwork | ||
display | bgl=6;bgs=0.26,m;i=misc/cloud;bgi=background/SFNet_nodes_2,s;bgb=2992.308,1957.692 |
Name | Type | Default value | Description |
---|---|---|---|
bs0.bs_rx_tx.numBS | int |
Numero de estaciones base en la parte inalambrica de la red hibrida |
|
bs0.bs_rx_tx.numUser | int |
Numero de usuarios inalambricos conectados a las estaciones base |
|
bs0.bs_rx_tx.numGW | int |
Numero de BSs que actuan de pasarelas con la parte optica de la red |
|
bs1.bs_rx_tx.numBS | int |
Numero de estaciones base en la parte inalambrica de la red hibrida |
|
bs1.bs_rx_tx.numUser | int |
Numero de usuarios inalambricos conectados a las estaciones base |
|
bs1.bs_rx_tx.numGW | int |
Numero de BSs que actuan de pasarelas con la parte optica de la red |
|
bs2.bs_rx_tx.numBS | int |
Numero de estaciones base en la parte inalambrica de la red hibrida |
|
bs2.bs_rx_tx.numUser | int |
Numero de usuarios inalambricos conectados a las estaciones base |
|
bs2.bs_rx_tx.numGW | int |
Numero de BSs que actuan de pasarelas con la parte optica de la red |
|
bs3.bs_rx_tx.numBS | int |
Numero de estaciones base en la parte inalambrica de la red hibrida |
|
bs3.bs_rx_tx.numUser | int |
Numero de usuarios inalambricos conectados a las estaciones base |
|
bs3.bs_rx_tx.numGW | int |
Numero de BSs que actuan de pasarelas con la parte optica de la red |
|
bs4.bs_rx_tx.numBS | int |
Numero de estaciones base en la parte inalambrica de la red hibrida |
|
bs4.bs_rx_tx.numUser | int |
Numero de usuarios inalambricos conectados a las estaciones base |
|
bs4.bs_rx_tx.numGW | int |
Numero de BSs que actuan de pasarelas con la parte optica de la red |
|
bs5.bs_rx_tx.numBS | int |
Numero de estaciones base en la parte inalambrica de la red hibrida |
|
bs5.bs_rx_tx.numUser | int |
Numero de usuarios inalambricos conectados a las estaciones base |
|
bs5.bs_rx_tx.numGW | int |
Numero de BSs que actuan de pasarelas con la parte optica de la red |
|
bs6.bs_rx_tx.numBS | int |
Numero de estaciones base en la parte inalambrica de la red hibrida |
|
bs6.bs_rx_tx.numUser | int |
Numero de usuarios inalambricos conectados a las estaciones base |
|
bs6.bs_rx_tx.numGW | int |
Numero de BSs que actuan de pasarelas con la parte optica de la red |
|
bs7.bs_rx_tx.numBS | int |
Numero de estaciones base en la parte inalambrica de la red hibrida |
|
bs7.bs_rx_tx.numUser | int |
Numero de usuarios inalambricos conectados a las estaciones base |
|
bs7.bs_rx_tx.numGW | int |
Numero de BSs que actuan de pasarelas con la parte optica de la red |
|
bs8.bs_rx_tx.numBS | int |
Numero de estaciones base en la parte inalambrica de la red hibrida |
|
bs8.bs_rx_tx.numUser | int |
Numero de usuarios inalambricos conectados a las estaciones base |
|
bs8.bs_rx_tx.numGW | int |
Numero de BSs que actuan de pasarelas con la parte optica de la red |
|
bs9.bs_rx_tx.numBS | int |
Numero de estaciones base en la parte inalambrica de la red hibrida |
|
bs9.bs_rx_tx.numUser | int |
Numero de usuarios inalambricos conectados a las estaciones base |
|
bs9.bs_rx_tx.numGW | int |
Numero de BSs que actuan de pasarelas con la parte optica de la red |
|
bs10.bs_rx_tx.numBS | int |
Numero de estaciones base en la parte inalambrica de la red hibrida |
|
bs10.bs_rx_tx.numUser | int |
Numero de usuarios inalambricos conectados a las estaciones base |
|
bs10.bs_rx_tx.numGW | int |
Numero de BSs que actuan de pasarelas con la parte optica de la red |
|
bs11.bs_rx_tx.numBS | int |
Numero de estaciones base en la parte inalambrica de la red hibrida |
|
bs11.bs_rx_tx.numUser | int |
Numero de usuarios inalambricos conectados a las estaciones base |
|
bs11.bs_rx_tx.numGW | int |
Numero de BSs que actuan de pasarelas con la parte optica de la red |
|
bs12.bs_rx_tx.numBS | int |
Numero de estaciones base en la parte inalambrica de la red hibrida |
|
bs12.bs_rx_tx.numUser | int |
Numero de usuarios inalambricos conectados a las estaciones base |
|
bs12.bs_rx_tx.numGW | int |
Numero de BSs que actuan de pasarelas con la parte optica de la red |
|
bs13.bs_rx_tx.numBS | int |
Numero de estaciones base en la parte inalambrica de la red hibrida |
|
bs13.bs_rx_tx.numUser | int |
Numero de usuarios inalambricos conectados a las estaciones base |
|
bs13.bs_rx_tx.numGW | int |
Numero de BSs que actuan de pasarelas con la parte optica de la red |
|
bs14.bs_rx_tx.numBS | int |
Numero de estaciones base en la parte inalambrica de la red hibrida |
|
bs14.bs_rx_tx.numUser | int |
Numero de usuarios inalambricos conectados a las estaciones base |
|
bs14.bs_rx_tx.numGW | int |
Numero de BSs que actuan de pasarelas con la parte optica de la red |
|
bs15.bs_rx_tx.numBS | int |
Numero de estaciones base en la parte inalambrica de la red hibrida |
|
bs15.bs_rx_tx.numUser | int |
Numero de usuarios inalambricos conectados a las estaciones base |
|
bs15.bs_rx_tx.numGW | int |
Numero de BSs que actuan de pasarelas con la parte optica de la red |
|
bs16.bs_rx_tx.numBS | int |
Numero de estaciones base en la parte inalambrica de la red hibrida |
|
bs16.bs_rx_tx.numUser | int |
Numero de usuarios inalambricos conectados a las estaciones base |
|
bs16.bs_rx_tx.numGW | int |
Numero de BSs que actuan de pasarelas con la parte optica de la red |
|
bs17.bs_rx_tx.numBS | int |
Numero de estaciones base en la parte inalambrica de la red hibrida |
|
bs17.bs_rx_tx.numUser | int |
Numero de usuarios inalambricos conectados a las estaciones base |
|
bs17.bs_rx_tx.numGW | int |
Numero de BSs que actuan de pasarelas con la parte optica de la red |
|
bs18.bs_rx_tx.numBS | int |
Numero de estaciones base en la parte inalambrica de la red hibrida |
|
bs18.bs_rx_tx.numUser | int |
Numero de usuarios inalambricos conectados a las estaciones base |
|
bs18.bs_rx_tx.numGW | int |
Numero de BSs que actuan de pasarelas con la parte optica de la red |
|
bs19.bs_rx_tx.numBS | int |
Numero de estaciones base en la parte inalambrica de la red hibrida |
|
bs19.bs_rx_tx.numUser | int |
Numero de usuarios inalambricos conectados a las estaciones base |
|
bs19.bs_rx_tx.numGW | int |
Numero de BSs que actuan de pasarelas con la parte optica de la red |
|
bs20.bs_rx_tx.numBS | int |
Numero de estaciones base en la parte inalambrica de la red hibrida |
|
bs20.bs_rx_tx.numUser | int |
Numero de usuarios inalambricos conectados a las estaciones base |
|
bs20.bs_rx_tx.numGW | int |
Numero de BSs que actuan de pasarelas con la parte optica de la red |
|
bs21.bs_rx_tx.numBS | int |
Numero de estaciones base en la parte inalambrica de la red hibrida |
|
bs21.bs_rx_tx.numUser | int |
Numero de usuarios inalambricos conectados a las estaciones base |
|
bs21.bs_rx_tx.numGW | int |
Numero de BSs que actuan de pasarelas con la parte optica de la red |
|
bs22.bs_rx_tx.numBS | int |
Numero de estaciones base en la parte inalambrica de la red hibrida |
|
bs22.bs_rx_tx.numUser | int |
Numero de usuarios inalambricos conectados a las estaciones base |
|
bs22.bs_rx_tx.numGW | int |
Numero de BSs que actuan de pasarelas con la parte optica de la red |
|
bs23.bs_rx_tx.numBS | int |
Numero de estaciones base en la parte inalambrica de la red hibrida |
|
bs23.bs_rx_tx.numUser | int |
Numero de usuarios inalambricos conectados a las estaciones base |
|
bs23.bs_rx_tx.numGW | int |
Numero de BSs que actuan de pasarelas con la parte optica de la red |
|
bs24.bs_rx_tx.numBS | int |
Numero de estaciones base en la parte inalambrica de la red hibrida |
|
bs24.bs_rx_tx.numUser | int |
Numero de usuarios inalambricos conectados a las estaciones base |
|
bs24.bs_rx_tx.numGW | int |
Numero de BSs que actuan de pasarelas con la parte optica de la red |
|
user.user_interface.numcolas | int |
Numero de clases se servicio del trafico de la parte inalambrica de la red hibrida |
|
olt.olt_mac.BW_garantizado0 | int |
Ancho de banda garantizado para el SLA0 |
|
olt.olt_mac.BW_garantizado1 | int |
Ancho de banda garantizado para el SLA1 |
|
olt.olt_mac.BW_garantizado2 | int |
Ancho de banda garantizado para el SLA2 |
//Modelado de SFNet, red WOBAN de San Francisco con 25 BSs, 25 usuarios, 16 ONUs, 1 OLT y 1 Splitter. // 5 de BSs-pasarela conectan con 4 ONUs-pasarela. network SFNet { @display("bgl=6;bgs=0.26,m;i=misc/cloud;bgi=background/SFNet_nodes_2,s;bgb=2992.308,1957.692"); //Cada 0.26 píxeles del layout representan 1 metro -> Dimensiones del layout: 778x509px = 2992.3x1957.7m. int numBS; //Numero de estaciones base en la parte inalambrica de la red de acceso int numUser; //Numero de usuarios inalambricos conectados a las estaciones base int numGW; //Numero de BSs que actuan como pasarelas entre la parte optica y la inalambrica int criterio; //Criterio aplicado para realizar el encaminamiento (SPRA, MHRA, DARA). int numcolas; //Numero de clases de servicio en la parte inalambrica int longitud_media_paquete; //Longitud media de los paquetes generados en los modulos User_traffic[] (en Bytes) int conexiones; //Longitud del array de puertas physicalBS[] del modulo compuesto BS int caminos; //Parametro para elegir el numero de "caminos optimos" por el que se encaminan los paquetes inalambricos double tasabinaria; // Capacidad de radio de las BSs double delta_time; // Tiempo de ciclo de cada enlace de las BSs double buffer_size; //Tamanyo del buffer de cada BS double carga_nodo; //Carga de cada fuente de trafico de los usuarios inalambricos int user_insercionmethod_separatequeue0_priorityqueue1; //Parametro para elegir el metodo de insercion de los paquetes en los modulos BS_queue[] int user_extractionmethod_StrictPQ0_Centralized1; //Parametro para elegir el metodo de extraccion de los paquetes en los modulos BS_queue[] double node_load; //Carga de las fuentes de trafico optico int numOnu; //Numero de ONUs en la subred EPON double longpon1; //Longitud del enlace entre OLT y Splitter double longpon2; //Longitud del enlace entre SPlitter y ONUs int numlong; //Numero de longitudes de onda que soporta la parte optica de la red double tambuffer; //Tamanyo del buffer de cada ONU double txrate; //Capacidad de transmision de cada enlace optico int oltmethod_Centralized0_Polling1_wdm2_PollingPID3_DaSPID4; //Parametro para elegir el mecanismo de gestion de ancho de banda dinamico implementado en la capa MAC del OLT int extractionmethod_StrictPQ0_Centralized1; //Parametro para elegir el metodo de extraccion de paquetes de los modulos ONU_SISTqueue[] int insercionmethod_separatequeue0_priorityqueue1; //Parametro para elegir el metodo de insercion de paquetes en los modulos ONU_SISTqueue[] int methodlength_longvariable0_longfija1; //Parametro para elegir la configuracion de los enlaces de la subred EPON (longitud fija o variable) int longpacketfixed0_trimodal1; //Parametro para elegir el modo de generacion de trafico Self-Similar (paquetes de longitud fija o trimodal) int numstreamV2_32_128_256; //Parametro para elegir el numero de streams de cada fuente optica Self-Similar int numqueue; //Numero de clases de servicio en la parte optica de la red hibrida int numSLA; //Numero de SLAs que soporta la subred optica int w_sla0; //Peso del SLA0 int w_sla1; //Peso del SLA1 int w_sla2; //Peso del SLA2 int w_sla3; //Peso del SLA3 int w_sla4; //Peso del SLA4 int numonu_sla0; //Numero de ONUs asociadas al SLA0 int numonu_sla1; //Numero de ONUs asociadas al SLA1 int numonu_sla2; //Numero de ONUs asociadas al SLA2 int numonu_sla3; //Numero de ONUs asociadas al SLA3 int numonu_sla4; //Numero de ONUs asociadas al SLA4 int BW_garantizado0; //Ancho de banda garantizado para el SLA0 int BW_garantizado1; //Ancho de banda garantizado para el SLA1 int BW_garantizado2; //Ancho de banda garantizado para el SLA2 types: channel wifi extends ned.DelayChannel { // Canal 'wifi': BS<-->User @display("ls=,0"); double distanceWifi; //Longitud del canal double Weight = 0.0; //Peso del canal double propag_delay = distanceWifi * 0.00000000333333333; //Retardo de propagacion del canal // retardo = distancia/velocidad_luz_en_aire(3*10^8m/s) delay = 0s; //Retardo inherente al canal // NOTA: Si quiere accederse remotamente al canal y a sus parametros, el indice de cada uno es: // getChannel()->par(0) = (bool) isDisabled // getChannel()->par(1) = (double) delay // getChannel()->par(2) = (double) distanceWifi // getChannel()->par(3) = (double) Weight // getChannel()->par(4) = (double) propag_delay } channel hops extends ned.DelayChannel { // Canal 'hops': BS<-->BS @display("ls=purple,1,da"); double distanceHops; //Longitud del canal double Weight = 0.0; //Peso del canal double propag_delay = distanceHops * 0.00000000333333333; //Retardo de propagacion del canal // retardo = distancia/velocidad_luz_en_aire(3*10^8m/s) delay = 0s; //Retardo inherente al canal // NOTA: Si quiere accederse remotamente al canal y a sus parametros, el indice de cada uno es: // getChannel()->par(0) = (bool) isDisabled // getChannel()->par(1) = (double) delay // getChannel()->par(2) = (double) distanceHops // getChannel()->par(3) = (double) Weight // getChannel()->par(4) = (double) propag_delay } channel pasarela extends ned.DelayChannel { @display("ls=orange,1,s"); // Canal 'pasarela': BS <--> ONU double distancePasarela = 0; //Longitud del canal double Weight = 0.0; //Peso del canal double propag_delay = distancePasarela * 0.000000005; //Retardo de propagacion del canal // retardo = distancia/velocidad_luz_en_aire(3*10^8m/s) delay = 0s; //Retardo inherente al canal // NOTA: Si quiere accederse remotamente al canal y a sus parametros, el indice de cada uno es: // getChannel()->par(0) = (bool) isDisabled // getChannel()->par(1) = (double) delay // getChannel()->par(2) = (double) distancePasarela // getChannel()->par(3) = (double) Weight // getChannel()->par(4) = (double) propag_delay } channel pon1 extends ned.DelayChannel { @display("ls=red,2,s"); // Canal 'pon1': OLT <--> SPLITTER delay = lengthpon1 * 0.000000005s; //Retardo inherente al canal optico // retardo = longitud/velocidad_luz_en_fibra(2*10^8m/s) double lengthpon1 = longpon1; //LOngitud del canal } channel pon2 extends ned.DelayChannel { @display("ls=red,2,s"); // Canal 'pon2': SPLITTER <--> ONUs delay = lengthpon2 * 0.000000005s; //Retardo inherente al canal optico // retardo = longitud/velocidad_luz_en_fibra(2*10^8m/s) double lengthpon2 = longpon2; //Longitud del canal } submodules: bs0: BS { parameters: @display("is=s;p=1061.5385,1230.7693"); numBS = numBS; numUser = numUser; numGW = numGW; numcolas = numcolas; carga_nodo = carga_nodo; delta_time = delta_time; buffer_size = buffer_size; longitud_media_paquete = longitud_media_paquete; user_insercionmethod_separatequeue0_priorityqueue1 = user_insercionmethod_separatequeue0_priorityqueue1; user_extractionmethod_StrictPQ0_Centralized1 = user_extractionmethod_StrictPQ0_Centralized1; tasabinaria = tasabinaria; indice = 0; conexiones = conexiones; gates: physicalBS[conexiones]; } bs1: BS { parameters: @display("is=s;p=1192.3077,969.23083"); numBS = numBS; numUser = numUser; numGW = numGW; numcolas = numcolas; carga_nodo = carga_nodo; delta_time = delta_time; buffer_size = buffer_size; longitud_media_paquete = longitud_media_paquete; user_insercionmethod_separatequeue0_priorityqueue1 = user_insercionmethod_separatequeue0_priorityqueue1; user_extractionmethod_StrictPQ0_Centralized1 = user_extractionmethod_StrictPQ0_Centralized1; tasabinaria = tasabinaria; indice = 1; conexiones = conexiones; gates: physicalBS[conexiones]; } bs2: BS { parameters: @display("is=s;p=1515.3846,1603.8462"); numBS = numBS; numUser = numUser; numGW = numGW; numcolas = numcolas; carga_nodo = carga_nodo; delta_time = delta_time; buffer_size = buffer_size; longitud_media_paquete = longitud_media_paquete; user_insercionmethod_separatequeue0_priorityqueue1 = user_insercionmethod_separatequeue0_priorityqueue1; user_extractionmethod_StrictPQ0_Centralized1 = user_extractionmethod_StrictPQ0_Centralized1; tasabinaria = tasabinaria; indice = 2; conexiones = conexiones; gates: physicalBS[conexiones]; } bs3: BS { parameters: @display("is=s;p=1880.7693,1538.4615"); numBS = numBS; numUser = numUser; numGW = numGW; numcolas = numcolas; carga_nodo = carga_nodo; delta_time = delta_time; buffer_size = buffer_size; longitud_media_paquete = longitud_media_paquete; user_insercionmethod_separatequeue0_priorityqueue1 = user_insercionmethod_separatequeue0_priorityqueue1; user_extractionmethod_StrictPQ0_Centralized1 = user_extractionmethod_StrictPQ0_Centralized1; tasabinaria = tasabinaria; indice = 3; conexiones = conexiones; gates: physicalBS[conexiones]; } bs4: BS { parameters: @display("is=s;p=1738.4615,1130.7693"); numBS = numBS; numUser = numUser; numGW = numGW; numcolas = numcolas; carga_nodo = carga_nodo; delta_time = delta_time; buffer_size = buffer_size; longitud_media_paquete = longitud_media_paquete; user_insercionmethod_separatequeue0_priorityqueue1 = user_insercionmethod_separatequeue0_priorityqueue1; user_extractionmethod_StrictPQ0_Centralized1 = user_extractionmethod_StrictPQ0_Centralized1; tasabinaria = tasabinaria; indice = 4; conexiones = conexiones; gates: physicalBS[conexiones]; } bs5: BS { parameters: @display("is=s;p=1415.3846,1188.4615"); numBS = numBS; numUser = numUser; numGW = numGW; numcolas = numcolas; carga_nodo = carga_nodo; delta_time = delta_time; buffer_size = buffer_size; longitud_media_paquete = longitud_media_paquete; user_insercionmethod_separatequeue0_priorityqueue1 = user_insercionmethod_separatequeue0_priorityqueue1; user_extractionmethod_StrictPQ0_Centralized1 = user_extractionmethod_StrictPQ0_Centralized1; tasabinaria = tasabinaria; indice = 5; conexiones = conexiones; gates: physicalBS[conexiones]; } bs6: BS { parameters: @display("is=s;p=1480.7693,838.46155"); numBS = numBS; numUser = numUser; numGW = numGW; numcolas = numcolas; carga_nodo = carga_nodo; delta_time = delta_time; buffer_size = buffer_size; longitud_media_paquete = longitud_media_paquete; user_insercionmethod_separatequeue0_priorityqueue1 = user_insercionmethod_separatequeue0_priorityqueue1; user_extractionmethod_StrictPQ0_Centralized1 = user_extractionmethod_StrictPQ0_Centralized1; tasabinaria = tasabinaria; indice = 6; conexiones = conexiones; gates: physicalBS[conexiones]; } bs7: BS { parameters: @display("is=s;p=1292.3077,673.07697"); numBS = numBS; numUser = numUser; numGW = numGW; numcolas = numcolas; carga_nodo = carga_nodo; delta_time = delta_time; buffer_size = buffer_size; longitud_media_paquete = longitud_media_paquete; user_insercionmethod_separatequeue0_priorityqueue1 = user_insercionmethod_separatequeue0_priorityqueue1; user_extractionmethod_StrictPQ0_Centralized1 = user_extractionmethod_StrictPQ0_Centralized1; tasabinaria = tasabinaria; txrate = txrate; indice = 7; conexiones = conexiones; gates: physicalBS[conexiones]; } bs8: BS { parameters: @display("is=s;p=1623.077,392.3077"); numBS = numBS; numUser = numUser; numGW = numGW; numcolas = numcolas; carga_nodo = carga_nodo; delta_time = delta_time; buffer_size = buffer_size; longitud_media_paquete = longitud_media_paquete; user_insercionmethod_separatequeue0_priorityqueue1 = user_insercionmethod_separatequeue0_priorityqueue1; user_extractionmethod_StrictPQ0_Centralized1 = user_extractionmethod_StrictPQ0_Centralized1; tasabinaria = tasabinaria; indice = 8; conexiones = conexiones; gates: physicalBS[conexiones]; } bs9: BS { parameters: @display("is=s;p=1992.3077,423.07693"); numBS = numBS; numUser = numUser; numGW = numGW; numcolas = numcolas; carga_nodo = carga_nodo; delta_time = delta_time; buffer_size = buffer_size; longitud_media_paquete = longitud_media_paquete; user_insercionmethod_separatequeue0_priorityqueue1 = user_insercionmethod_separatequeue0_priorityqueue1; user_extractionmethod_StrictPQ0_Centralized1 = user_extractionmethod_StrictPQ0_Centralized1; tasabinaria = tasabinaria; txrate = txrate; indice = 9; conexiones = conexiones; gates: physicalBS[conexiones]; } bs10: BS { parameters: @display("is=s;p=1992.3077,750"); numBS = numBS; numUser = numUser; numGW = numGW; numcolas = numcolas; carga_nodo = carga_nodo; delta_time = delta_time; buffer_size = buffer_size; longitud_media_paquete = longitud_media_paquete; user_insercionmethod_separatequeue0_priorityqueue1 = user_insercionmethod_separatequeue0_priorityqueue1; user_extractionmethod_StrictPQ0_Centralized1 = user_extractionmethod_StrictPQ0_Centralized1; tasabinaria = tasabinaria; indice = 10; conexiones = conexiones; gates: physicalBS[conexiones]; } bs11: BS { parameters: @display("is=s;p=2019.2308,1188.4615"); numBS = numBS; numUser = numUser; numGW = numGW; numcolas = numcolas; carga_nodo = carga_nodo; delta_time = delta_time; buffer_size = buffer_size; longitud_media_paquete = longitud_media_paquete; user_insercionmethod_separatequeue0_priorityqueue1 = user_insercionmethod_separatequeue0_priorityqueue1; user_extractionmethod_StrictPQ0_Centralized1 = user_extractionmethod_StrictPQ0_Centralized1; tasabinaria = tasabinaria; indice = 11; conexiones = conexiones; gates: physicalBS[conexiones]; } bs12: BS { parameters: @display("is=s;p=2330.7693,1469.2308"); numBS = numBS; numUser = numUser; numGW = numGW; numcolas = numcolas; carga_nodo = carga_nodo; delta_time = delta_time; buffer_size = buffer_size; longitud_media_paquete = longitud_media_paquete; user_insercionmethod_separatequeue0_priorityqueue1 = user_insercionmethod_separatequeue0_priorityqueue1; user_extractionmethod_StrictPQ0_Centralized1 = user_extractionmethod_StrictPQ0_Centralized1; tasabinaria = tasabinaria; indice = 12; conexiones = conexiones; gates: physicalBS[conexiones]; } bs13: BS { parameters: @display("is=s;p=2573.077,1665.3846"); numBS = numBS; numUser = numUser; numGW = numGW; numcolas = numcolas; carga_nodo = carga_nodo; delta_time = delta_time; buffer_size = buffer_size; longitud_media_paquete = longitud_media_paquete; user_insercionmethod_separatequeue0_priorityqueue1 = user_insercionmethod_separatequeue0_priorityqueue1; user_extractionmethod_StrictPQ0_Centralized1 = user_extractionmethod_StrictPQ0_Centralized1; tasabinaria = tasabinaria; indice = 13; conexiones = conexiones; txrate = txrate; gates: physicalBS[conexiones]; } bs14: BS { parameters: @display("is=s;p=2573.077,1188.4615"); numBS = numBS; numUser = numUser; numGW = numGW; numcolas = numcolas; carga_nodo = carga_nodo; delta_time = delta_time; buffer_size = buffer_size; longitud_media_paquete = longitud_media_paquete; user_insercionmethod_separatequeue0_priorityqueue1 = user_insercionmethod_separatequeue0_priorityqueue1; user_extractionmethod_StrictPQ0_Centralized1 = user_extractionmethod_StrictPQ0_Centralized1; tasabinaria = tasabinaria; indice = 14; conexiones = conexiones; gates: physicalBS[conexiones]; } bs15: BS { parameters: @display("is=s;p=2365.3848,1130.7693"); numBS = numBS; numUser = numUser; numGW = numGW; numcolas = numcolas; carga_nodo = carga_nodo; delta_time = delta_time; buffer_size = buffer_size; longitud_media_paquete = longitud_media_paquete; user_insercionmethod_separatequeue0_priorityqueue1 = user_insercionmethod_separatequeue0_priorityqueue1; user_extractionmethod_StrictPQ0_Centralized1 = user_extractionmethod_StrictPQ0_Centralized1; tasabinaria = tasabinaria; indice = 15; conexiones = conexiones; gates: physicalBS[conexiones]; } bs16: BS { parameters: @display("is=s;p=2265.3848,926.9231"); numBS = numBS; numUser = numUser; numGW = numGW; numcolas = numcolas; carga_nodo = carga_nodo; delta_time = delta_time; buffer_size = buffer_size; longitud_media_paquete = longitud_media_paquete; user_insercionmethod_separatequeue0_priorityqueue1 = user_insercionmethod_separatequeue0_priorityqueue1; user_extractionmethod_StrictPQ0_Centralized1 = user_extractionmethod_StrictPQ0_Centralized1; tasabinaria = tasabinaria; indice = 16; conexiones = conexiones; gates: physicalBS[conexiones]; } bs17: BS { parameters: @display("is=s;p=2234.6155,592.30774"); numBS = numBS; numUser = numUser; numGW = numGW; numcolas = numcolas; carga_nodo = carga_nodo; delta_time = delta_time; buffer_size = buffer_size; longitud_media_paquete = longitud_media_paquete; user_insercionmethod_separatequeue0_priorityqueue1 = user_insercionmethod_separatequeue0_priorityqueue1; user_extractionmethod_StrictPQ0_Centralized1 = user_extractionmethod_StrictPQ0_Centralized1; tasabinaria = tasabinaria; indice = 17; conexiones = conexiones; gates: physicalBS[conexiones]; } bs18: BS { parameters: @display("is=s;p=2550,673.07697"); numBS = numBS; numUser = numUser; numGW = numGW; numcolas = numcolas; carga_nodo = carga_nodo; delta_time = delta_time; buffer_size = buffer_size; longitud_media_paquete = longitud_media_paquete; user_insercionmethod_separatequeue0_priorityqueue1 = user_insercionmethod_separatequeue0_priorityqueue1; user_extractionmethod_StrictPQ0_Centralized1 = user_extractionmethod_StrictPQ0_Centralized1; tasabinaria = tasabinaria; indice = 18; conexiones = conexiones; gates: physicalBS[conexiones]; } bs19: BS { parameters: @display("is=s;p=2757.6924,1011.5385"); numBS = numBS; numUser = numUser; numGW = numGW; numcolas = numcolas; carga_nodo = carga_nodo; delta_time = delta_time; buffer_size = buffer_size; longitud_media_paquete = longitud_media_paquete; user_insercionmethod_separatequeue0_priorityqueue1 = user_insercionmethod_separatequeue0_priorityqueue1; user_extractionmethod_StrictPQ0_Centralized1 = user_extractionmethod_StrictPQ0_Centralized1; tasabinaria = tasabinaria; txrate = txrate; indice = 19; conexiones = conexiones; gates: physicalBS[conexiones]; } bs20: BS { parameters: @display("is=s;p=2857.6924,646.1539"); numBS = numBS; numUser = numUser; numGW = numGW; numcolas = numcolas; carga_nodo = carga_nodo; delta_time = delta_time; buffer_size = buffer_size; longitud_media_paquete = longitud_media_paquete; user_insercionmethod_separatequeue0_priorityqueue1 = user_insercionmethod_separatequeue0_priorityqueue1; user_extractionmethod_StrictPQ0_Centralized1 = user_extractionmethod_StrictPQ0_Centralized1; tasabinaria = tasabinaria; indice = 20; conexiones = conexiones; gates: physicalBS[conexiones]; } bs21: BS { parameters: @display("is=s;p=2823.0771,423.07693"); numBS = numBS; numUser = numUser; numGW = numGW; numcolas = numcolas; carga_nodo = carga_nodo; delta_time = delta_time; buffer_size = buffer_size; longitud_media_paquete = longitud_media_paquete; user_insercionmethod_separatequeue0_priorityqueue1 = user_insercionmethod_separatequeue0_priorityqueue1; user_extractionmethod_StrictPQ0_Centralized1 = user_extractionmethod_StrictPQ0_Centralized1; tasabinaria = tasabinaria; indice = 21; conexiones = conexiones; gates: physicalBS[conexiones]; } bs22: BS { parameters: @display("is=s;p=2507.6924,365.38464"); numBS = numBS; numUser = numUser; numGW = numGW; numcolas = numcolas; carga_nodo = carga_nodo; delta_time = delta_time; buffer_size = buffer_size; longitud_media_paquete = longitud_media_paquete; user_insercionmethod_separatequeue0_priorityqueue1 = user_insercionmethod_separatequeue0_priorityqueue1; user_extractionmethod_StrictPQ0_Centralized1 = user_extractionmethod_StrictPQ0_Centralized1; tasabinaria = tasabinaria; indice = 22; conexiones = conexiones; gates: physicalBS[conexiones]; } bs23: BS { parameters: @display("is=s;p=2300,150"); numBS = numBS; numUser = numUser; numGW = numGW; numcolas = numcolas; carga_nodo = carga_nodo; delta_time = delta_time; buffer_size = buffer_size; longitud_media_paquete = longitud_media_paquete; user_insercionmethod_separatequeue0_priorityqueue1 = user_insercionmethod_separatequeue0_priorityqueue1; user_extractionmethod_StrictPQ0_Centralized1 = user_extractionmethod_StrictPQ0_Centralized1; tasabinaria = tasabinaria; indice = 23; conexiones = conexiones; gates: physicalBS[conexiones]; } bs24: BS { parameters: @display("is=s;p=2734.6155,215.38463"); numBS = numBS; numUser = numUser; numGW = numGW; numcolas = numcolas; carga_nodo = carga_nodo; delta_time = delta_time; buffer_size = buffer_size; longitud_media_paquete = longitud_media_paquete; user_insercionmethod_separatequeue0_priorityqueue1 = user_insercionmethod_separatequeue0_priorityqueue1; user_extractionmethod_StrictPQ0_Centralized1 = user_extractionmethod_StrictPQ0_Centralized1; tasabinaria = tasabinaria; txrate = txrate; indice = 24; conexiones = conexiones; gates: physicalBS[conexiones]; } user[numUser]: User { parameters: @display("is=s"); caminos = caminos; numBS = numBS; numUser = numUser; numGW = numGW; tasabinaria = tasabinaria; numcolas = numcolas; buffer_size = buffer_size; carga_nodo = carga_nodo; location = 0.0; //uniform(1.0,250.00,0); longitud_media_paquete = longitud_media_paquete; user_insercionmethod_separatequeue0_priorityqueue1 = user_insercionmethod_separatequeue0_priorityqueue1; } olt: OLT { parameters: @display("p=69.230774,838.46155"); oltmethod_Centralized0_Polling1_wdm2_PollingPID3_DaSPID4 = oltmethod_Centralized0_Polling1_wdm2_PollingPID3_DaSPID4; extractionmethod_StrictPQ0_Centralized1 = extractionmethod_StrictPQ0_Centralized1; methodlength_longvariable0_longfija1 = methodlength_longvariable0_longfija1; numOnu = numOnu; numlong = numlong; txrate = txrate; numqueue = numqueue; longpon1 = longpon1; longpon2 = longpon2; numSLA = numSLA; w_sla0 = w_sla0; w_sla1 = w_sla1; w_sla2 = w_sla2; w_sla3 = w_sla3; w_sla4 = w_sla4; numonu_sla0 = numonu_sla0; numonu_sla1 = numonu_sla1; numonu_sla2 = numonu_sla2; numonu_sla3 = numonu_sla3; numonu_sla4 = numonu_sla4; gates: physicalolt[numlong]; } splitter: SPLITTER { parameters: @display("p=296.15387,838.46155;i=abstract/dispatcher;is=s"); numlong = numlong; gates: splitterIn[numlong]; splitterOut[numlong*numOnu]; } onu[numOnu]: ONU { parameters: @display("p=588.46155,61.538464,column,150;i=abstract/db;is=s"); extractionmethod_StrictPQ0_Centralized1 = extractionmethod_StrictPQ0_Centralized1; insercionmethod_separatequeue0_priorityqueue1 = insercionmethod_separatequeue0_priorityqueue1; methodlength_longvariable0_longfija1 = methodlength_longvariable0_longfija1; longpacketfixed0_trimodal1 = longpacketfixed0_trimodal1; numstreamV2_32_128_256 = numstreamV2_32_128_256; node_load = node_load; numlong = numlong; tambuffer = tambuffer; txrate = txrate; numqueue = numqueue; numcolas = numcolas; numOnu = numOnu; gates: physicalonu[numlong]; gatewirelessInOut[numqueue*2]; } connections allowunconnected: // Conexiones entre cada BS y su User asociado (distancias creadas aleatoriamente): user[0].physicalUser <--> wifi { distanceWifi = user[0].location; } <--> bs0.physicalBS++; user[1].physicalUser <--> wifi { distanceWifi = user[1].location; } <--> bs1.physicalBS++; user[2].physicalUser <--> wifi { distanceWifi = user[2].location; } <--> bs2.physicalBS++; user[3].physicalUser <--> wifi { distanceWifi = user[3].location; } <--> bs3.physicalBS++; user[4].physicalUser <--> wifi { distanceWifi = user[4].location; } <--> bs4.physicalBS++; user[5].physicalUser <--> wifi { distanceWifi = user[5].location; } <--> bs5.physicalBS++; user[6].physicalUser <--> wifi { distanceWifi = user[6].location; } <--> bs6.physicalBS++; user[7].physicalUser <--> wifi { distanceWifi = user[7].location; } <--> bs7.physicalBS++; user[8].physicalUser <--> wifi { distanceWifi = user[8].location; } <--> bs8.physicalBS++; user[9].physicalUser <--> wifi { distanceWifi = user[9].location; } <--> bs9.physicalBS++; user[10].physicalUser <--> wifi { distanceWifi = user[10].location; } <--> bs10.physicalBS++; user[11].physicalUser <--> wifi { distanceWifi = user[11].location; } <--> bs11.physicalBS++; user[12].physicalUser <--> wifi { distanceWifi = user[12].location; } <--> bs12.physicalBS++; user[13].physicalUser <--> wifi { distanceWifi = user[13].location; } <--> bs13.physicalBS++; user[14].physicalUser <--> wifi { distanceWifi = user[14].location; } <--> bs14.physicalBS++; user[15].physicalUser <--> wifi { distanceWifi = user[15].location; } <--> bs15.physicalBS++; user[16].physicalUser <--> wifi { distanceWifi = user[16].location; } <--> bs16.physicalBS++; user[17].physicalUser <--> wifi { distanceWifi = user[17].location; } <--> bs17.physicalBS++; user[18].physicalUser <--> wifi { distanceWifi = user[18].location; } <--> bs18.physicalBS++; user[19].physicalUser <--> wifi { distanceWifi = user[19].location; } <--> bs19.physicalBS++; user[20].physicalUser <--> wifi { distanceWifi = user[20].location; } <--> bs20.physicalBS++; user[21].physicalUser <--> wifi { distanceWifi = user[21].location; } <--> bs21.physicalBS++; user[22].physicalUser <--> wifi { distanceWifi = user[22].location; } <--> bs22.physicalBS++; user[23].physicalUser <--> wifi { distanceWifi = user[23].location; } <--> bs23.physicalBS++; user[24].physicalUser <--> wifi { distanceWifi = user[24].location; } <--> bs24.physicalBS++; // Conexiones entre las 5 BSs-pasarela y la correspondiente ONU-pasarela (distancia nula): for j=0..numcolas-1 { bs7.physicalBS++ <--> pasarela <--> onu[0].gatewirelessInOut++; } for j=0..numcolas-1 { bs9.physicalBS++ <--> pasarela <--> onu[0].gatewirelessInOut++; } for j=0..numcolas-1 { bs24.physicalBS++ <--> pasarela <--> onu[1].gatewirelessInOut++; } for j=0..numcolas-1 { bs19.physicalBS++ <--> pasarela <--> onu[2].gatewirelessInOut++; } for j=0..numcolas-1 { bs13.physicalBS++ <--> pasarela <--> onu[3].gatewirelessInOut++; } // Conexiones entre los 25 modulos BS de la red inalambrica en malla (distancias reales): bs0.physicalBS++ <--> hops { distanceHops = 269.23; } <--> bs1.physicalBS++; bs0.physicalBS++ <--> hops { distanceHops = 571.15; } <--> bs2.physicalBS++; bs0.physicalBS++ <--> hops { distanceHops = 344.23; } <--> bs5.physicalBS++; bs1.physicalBS++ <--> hops { distanceHops = 297.12; } <--> bs5.physicalBS++; bs1.physicalBS++ <--> hops { distanceHops = 317.69; } <--> bs6.physicalBS++; bs1.physicalBS++ <--> hops { distanceHops = 350.00; } <--> bs7.physicalBS++; bs2.physicalBS++ <--> hops { distanceHops = 380.77; } <--> bs3.physicalBS++; bs2.physicalBS++ <--> hops { distanceHops = 419.23; } <--> bs5.physicalBS++; bs3.physicalBS++ <--> hops { distanceHops = 435.77; } <--> bs4.physicalBS++; bs3.physicalBS++ <--> hops { distanceHops = 387.50; } <--> bs11.physicalBS++; bs3.physicalBS++ <--> hops { distanceHops = 444.23; } <--> bs12.physicalBS++; bs4.physicalBS++ <--> hops { distanceHops = 328.85; } <--> bs5.physicalBS++; bs4.physicalBS++ <--> hops { distanceHops = 388.85; } <--> bs6.physicalBS++; bs4.physicalBS++ <--> hops { distanceHops = 465.38; } <--> bs10.physicalBS++; bs4.physicalBS++ <--> hops { distanceHops = 280.77; } <--> bs11.physicalBS++; bs5.physicalBS++ <--> hops { distanceHops = 346.15; } <--> bs6.physicalBS++; bs6.physicalBS++ <--> hops { distanceHops = 257.69; } <--> bs7.physicalBS++; bs6.physicalBS++ <--> hops { distanceHops = 488.46; } <--> bs8.physicalBS++; bs6.physicalBS++ <--> hops { distanceHops = 515.38; } <--> bs10.physicalBS++; bs7.physicalBS++ <--> hops { distanceHops = 419.23; } <--> bs8.physicalBS++; bs8.physicalBS++ <--> hops { distanceHops = 396.15; } <--> bs9.physicalBS++; bs8.physicalBS++ <--> hops { distanceHops = 510.77; } <--> bs10.physicalBS++; bs9.physicalBS++ <--> hops { distanceHops = 318.08; } <--> bs10.physicalBS++; bs9.physicalBS++ <--> hops { distanceHops = 296.15; } <--> bs17.physicalBS++; bs9.physicalBS++ <--> hops { distanceHops = 395.00; } <--> bs23.physicalBS++; bs10.physicalBS++ <--> hops { distanceHops = 435.38; } <--> bs11.physicalBS++; bs10.physicalBS++ <--> hops { distanceHops = 339.23; } <--> bs16.physicalBS++; bs10.physicalBS++ <--> hops { distanceHops = 308.08; } <--> bs17.physicalBS++; bs11.physicalBS++ <--> hops { distanceHops = 440.77; } <--> bs12.physicalBS++; bs11.physicalBS++ <--> hops { distanceHops = 359.23; } <--> bs15.physicalBS++; bs11.physicalBS++ <--> hops { distanceHops = 351.54; } <--> bs16.physicalBS++; bs12.physicalBS++ <--> hops { distanceHops = 300.00; } <--> bs13.physicalBS++; bs12.physicalBS++ <--> hops { distanceHops = 371.15; } <--> bs14.physicalBS++; bs12.physicalBS++ <--> hops { distanceHops = 359.62; } <--> bs15.physicalBS++; bs13.physicalBS++ <--> hops { distanceHops = 454.23; } <--> bs14.physicalBS++; bs14.physicalBS++ <--> hops { distanceHops = 230.77; } <--> bs15.physicalBS++; bs14.physicalBS++ <--> hops { distanceHops = 269.23; } <--> bs19.physicalBS++; bs15.physicalBS++ <--> hops { distanceHops = 217.31; } <--> bs16.physicalBS++; bs15.physicalBS++ <--> hops { distanceHops = 405.77; } <--> bs19.physicalBS++; bs16.physicalBS++ <--> hops { distanceHops = 332.69; } <--> bs17.physicalBS++; bs16.physicalBS++ <--> hops { distanceHops = 390.38; } <--> bs18.physicalBS++; bs16.physicalBS++ <--> hops { distanceHops = 486.54; } <--> bs19.physicalBS++; bs17.physicalBS++ <--> hops { distanceHops = 315.38; } <--> bs18.physicalBS++; bs17.physicalBS++ <--> hops { distanceHops = 350.00; } <--> bs22.physicalBS++; bs18.physicalBS++ <--> hops { distanceHops = 384.62; } <--> bs19.physicalBS++; bs18.physicalBS++ <--> hops { distanceHops = 305.77; } <--> bs20.physicalBS++; bs18.physicalBS++ <--> hops { distanceHops = 351.92; } <--> bs21.physicalBS++; bs18.physicalBS++ <--> hops { distanceHops = 295.38; } <--> bs22.physicalBS++; bs19.physicalBS++ <--> hops { distanceHops = 372.12; } <--> bs20.physicalBS++; bs20.physicalBS++ <--> hops { distanceHops = 216.54; } <--> bs21.physicalBS++; bs21.physicalBS++ <--> hops { distanceHops = 313.85; } <--> bs22.physicalBS++; bs21.physicalBS++ <--> hops { distanceHops = 218.46; } <--> bs24.physicalBS++; bs22.physicalBS++ <--> hops { distanceHops = 272.31; } <--> bs23.physicalBS++; bs22.physicalBS++ <--> hops { distanceHops = 276.15; } <--> bs24.physicalBS++; bs23.physicalBS++ <--> hops { distanceHops = 429.62; } <--> bs24.physicalBS++; // Conexion entre el OLT y el SPLITTER for j=0..numlong-1 { olt.physicalolt[j] <--> pon1 <--> splitter.splitterIn[j]; } // Conexion entre el SPLITTER y todas las ONUs for j=0..(numlong*numOnu)-1 { splitter.splitterOut[j] <--> pon2 <--> onu[j/numlong].physicalonu[j%numlong]; } }