Compound Module BS

Package: red_wireless
File: BS.ned

El modulo compuesto BS representa a los nodos que forman la parte inalambrica (estaciones base). Hay 'numBS' modulos BS, de los cuales 'numGW' funcionan de pasarela con la parte óptica.

BS_table BS_queue BS_mac BS_rx_tx

Usage diagram:

The following diagram shows usage relationships between types. Unresolved types are missing from the diagram. Click here to see the full picture.

BS BS_queue BS_mac BS_table BS_rx_tx red_hibrida SFNet SFNet_small SFNet_small2

Inheritance diagram:

The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram. Click here to see the full picture.

BS

Networks:

red_hibrida (network)

Las conexiones entre BSs se realizan en función de la distancia entre las mismas DIFERENCIA CON 'wireless3': La distancia máxima se tiene en cuenta al crear el canal, en este .ned.

SFNet (network)

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.

SFNet_small (network)

Version reducida de la red SFNet, en la que se ha limitado el numero de BSs y Users a 15. De las 15 BSs, 3 son pasarelas que conectan en total con 2 ONUs-pasarela.

SFNet_small2 (network)

Version reducida de la red SFNet, en la que se ha limitado el numero de BSs y Users a 10. De las 10 BSs, 3 son pasarelas que conectan en total con 2 ONUs-pasarela.

Parameters:

Name Type Default value Description
numBS int

Numero de estaciones base en la parte inalambrica de la red hibrida

numUser int

Numero de usuarios inalambricos que se conectan a las estaciones base

numGW int

Numero de BSs que actuan de pasarela con la parte optica de la red

numcolas int

Numero de clases de servicio de la parte inalambrica

indice int

Indice de la BS dentro del conjunto total

criterio int

Criterio elegido para implementar un algoritmo de encaminamiento (SPRA, MHRA, DARA)

longitud_media_paquete int

Longitud media de los paquetes generados por los modulos User_traffic[]

conexiones int

Longitud del array physicalBS[]

delta_time double

Tiempo de ciclo para repartir entre los enlaces de salida activos de cada BS

buffer_size double

Tamanyo del buffer de cada BS

tasabinaria double

Capacidad de radio de cada BS

txrate double

Capacidad del enlace optico punto-a-punto con la ONU-pasarela

carga_nodo double

Carga de las fuentes de trafico inalambricas

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 decidir el metodo de extraccion de paquetes de los modulos BS_queue[]

aux int

Parametro auxiliar para incluir los modulos BS como nodos en la instancia de la clase cTopology

posicion double

Numero aleatorio para determinar la distancia entre dos BSs adyacentes en una red cualquiera

Properties:

Name Value Description
display i=device/antennatower;bgl=3;bgb=298,228

Gates:

Name Direction Size Description
physicalBS [ ] inout

Array de puertas de entrada/salida

Unassigned submodule parameters:

Name Type Default value Description
bs_rx_tx.numBS int

Numero de estaciones base en la parte inalambrica de la red hibrida

bs_rx_tx.numUser int

Numero de usuarios inalambricos conectados a las estaciones base

bs_rx_tx.numGW int

Numero de BSs que actuan de pasarelas con la parte optica de la red

Source code:

// El modulo compuesto BS representa a los nodos que forman la parte inalambrica (estaciones base).
// Hay 'numBS' modulos BS, de los cuales 'numGW' funcionan de pasarela con la parte óptica.
module BS
{
    parameters:
        @display("i=device/antennatower;bgl=3;bgb=298,228");
        int numBS; //Numero de estaciones base en la parte inalambrica de la red hibrida
        int numUser; //Numero de usuarios inalambricos que se conectan a las estaciones base
        int numGW; //Numero de BSs que actuan de pasarela con la parte optica de la red
        int numcolas; //Numero de clases de servicio de la parte inalambrica
        int indice; //Indice de la BS dentro del conjunto total
        int criterio; //Criterio elegido para implementar un algoritmo de encaminamiento (SPRA, MHRA, DARA)
        int longitud_media_paquete; //Longitud media de los paquetes generados por los modulos User_traffic[]
        int conexiones; //Longitud del array physicalBS[]
        double delta_time; //Tiempo de ciclo para repartir entre los enlaces de salida activos de cada BS
        double buffer_size; //Tamanyo del buffer de cada BS
        double tasabinaria; //Capacidad de radio de cada BS
        double txrate; //Capacidad del enlace optico punto-a-punto con la ONU-pasarela
        double carga_nodo; //Carga de las fuentes de trafico inalambricas
        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 decidir el metodo de extraccion de paquetes de los modulos BS_queue[]
        int aux; //Parametro auxiliar para incluir los modulos BS como nodos en la instancia de la clase cTopology
        double posicion; //Numero aleatorio para determinar la distancia entre dos BSs adyacentes en una red cualquiera
    gates:
        inout physicalBS[]; //Array de puertas de entrada/salida
    submodules:
        bs_table: BS_table {
            @display("p=34,34");
        }
        bs_queue[conexiones-1]: BS_queue {
            parameters:
                @display("i=block/subqueue;p=");
                numcolas = numcolas;
                delta_time = delta_time;
                buffer_size = buffer_size;
                tasabinaria = tasabinaria;
                user_extractionmethod_StrictPQ0_Centralized1 = user_extractionmethod_StrictPQ0_Centralized1;
        }
        bs_mac: BS_mac {
            parameters:
                @display("p=34,121");
                delta_time = delta_time;
            gates:
                bsmacInOut[conexiones-1];
        }
        bs_rx_tx: BS_rx_tx {
            @display("p=251,121;i=block/wrxtx");
            gates:
                bsRxTx[conexiones];
                queueRxTx[conexiones-1];
        }
    connections allowunconnected:
        for i=0..conexiones-1 {
            physicalBS++ <--> bs_rx_tx.bsRxTx++;
        }
        for i=0..conexiones-2 {
            bs_rx_tx.queueRxTx++ <--> bs_queue[i].bsqueueInOut;
        }
        for i=0..conexiones-2 {
            bs_mac.bsmacInOut[i] <--> bs_queue[i].withBsMac;
        }
}