Compound Module User

Package: red_wireless
File: User.ned

El modulo compuesto User representa a los usuarios finales asociados a cada BS en la red inalambrica. Modela a los usuarios individuales y tiene como prinicipal funcion generar trafico hacia la BS mas cercana. A cada BS y/o GW, se asocia uno de los modulos del array User[numUser].

User_traffic User_Interface

Usage diagram:

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

User IdealChannel User_traffic User_Interface 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.

User

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 en la parte inalambrica

numGW int

Numero de BSs que actuan de pasarela con la parte optica

caminos int

Parametro para elegir el numero de "rutas optimas" por las que se encaminan los paquetes inalambricos

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[]

location double

Variable para generar aleatoriamente la longitud del canal entre User y BS

buffer_size double

Tamanyo del buffer de cada BS

tasabinaria double

Capacidad de radio de cada BS

carga_nodo double

Carga de cada fuente de trafico inalambrica

user_insercionmethod_separatequeue0_priorityqueue1 int

Parametro para elegir el metodo de insercion de paquetes en los modulos BS_queue[]

user_longpacketfixed0_trimodal1 int

Parametro para elegir el modo de generacion de paquetes Self-Similar (longitud fija o trimodal)

user_numstreamV2_32_128_256 int

Parametro para elegir el numero de streams de cada fuente de trafico Self-Similar

aux int

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

Properties:

Name Value Description
display i=device/wifilaptop;bgb=209,171

Gates:

Name Direction Size Description
physicalUser inout

Puerta de entrada/salida que conecta el esterior del modulo User con el exterior del modulo BS, y el interior del modulo User con el modulo User_interface

Unassigned submodule parameters:

Name Type Default value Description
user_interface.numcolas int

Numero de clases se servicio del trafico de la parte inalambrica de la red hibrida

Source code:

// El modulo compuesto User representa a los usuarios finales asociados a cada BS en la red inalambrica.
// Modela a los usuarios individuales y tiene como prinicipal funcion generar trafico hacia la BS mas cercana.
// A cada BS y/o GW, se asocia uno de los modulos del array User[numUser].
module User
{
    parameters:
        @display("i=device/wifilaptop;bgb=209,171");
        int numBS; //Numero de estaciones base en la parte inalambrica de la red hibrida
        int numUser; //Numero de usuarios en la parte inalambrica
        int numGW; //Numero de BSs que actuan de pasarela con la parte optica
        int caminos; //Parametro para elegir el numero de "rutas optimas" por las que se encaminan los paquetes inalambricos
        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[]
        double location; //Variable para generar aleatoriamente la longitud del canal entre User y BS
        double buffer_size; //Tamanyo del buffer de cada BS
        double tasabinaria; //Capacidad de radio de cada BS
        double carga_nodo; //Carga de cada fuente de trafico inalambrica
        int user_insercionmethod_separatequeue0_priorityqueue1; //Parametro para elegir el metodo de insercion de paquetes en los modulos BS_queue[]
        int user_longpacketfixed0_trimodal1; //Parametro para elegir el modo de generacion de paquetes Self-Similar (longitud fija o trimodal)
        int user_numstreamV2_32_128_256; //Parametro para elegir el numero de streams de cada fuente de trafico Self-Similar
        int aux; //Parametro auxiliar para incluir los modulos User como nodos en la instancia de la clase cTopology
    gates:
        inout physicalUser; //Puerta de entrada/salida que conecta el esterior del modulo User con el exterior del modulo BS, y el interior del modulo User con el modulo User_interface
    submodules:
        user_traffic[numcolas]: User_traffic {
            parameters:
                numcolas = numcolas;
                buffer_size = buffer_size;
                user_insercionmethod_separatequeue0_priorityqueue1 = user_insercionmethod_separatequeue0_priorityqueue1;
                @display("p=99,43");
        }
        user_interface: User_Interface {
            parameters:
                @display("p=99,129");
            gates:
                itf_in[numcolas];
        }
    connections allowunconnected:
        for i=0..numcolas-1 {
            user_traffic[i].traffic --> user_interface.itf_in[i];
        }
        user_interface.interface <--> physicalUser;
}