Compound Module ONU_Squeue

Package: red_wireless
File: ONU_Squeue.ned

El modulo compuesto ONU_Squeue representa el sistema de colas de cada ONU. Dentro de este modulo se crean dinamicamente tantos modulos simples ONU_SISTqueue como clases de servicio pueden tener los paquetes de datos ETHERNET generados en la subred optica, mas una cola adicional para los paquetes REPORT generados en la capa MAC.

ONU_SISTqueue

Usage diagram:

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

ONU_Squeue ONU_SISTqueue ONU

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.

ONU_Squeue

Used in compound modules:

If a module type shows up more than once, that means it has been defined in more than one NED file.

ONU (compound module)

El modulo compuesto ONU representa a las unidades opticas de red, situadas en las dependencias de los usuarios opticos. Hay 'numOnu' modulos ONU en la red, de los cuales 'numGW-1' actuan de pasarela entre las tecnologias optica e inalambrica.

Parameters:

Name Type Default value Description
numqueue int

Numero de clases de servicio del trafico optico

numcolas int

Numero de clases de servicio del trafico inalambrico

txrate double

Capacidad de los enlaces de la subred optica

Properties:

Name Value Description
display i=block/classifier;bgb=214,157

Gates:

Name Direction Size Description
queuegenIn [ ] input

Array de puertas de entrada que conectan este modulo con los modulos ONU_GENTraffic[]

queuewdmOut [ ] output

Array de puertas de salida que conectan este modulo con el splitter interno (ONU_WDMSplitter)

queuegatewayInOut [ ] inout

Array de puertas de entrada que conectan este modulo con una BS-pasarela (en caso de ser una ONU-pasarela)

Source code:

// El modulo compuesto ONU_Squeue representa el sistema de colas de cada ONU.
// Dentro de este modulo se crean dinamicamente tantos modulos simples ONU_SISTqueue como clases de servicio
// pueden tener los paquetes de datos ETHERNET generados en la subred optica, mas una cola adicional para los 
// paquetes REPORT generados en la capa MAC.
module ONU_Squeue
{
    parameters:
        @display("i=block/classifier;bgb=214,157");
        int numqueue; //Numero de clases de servicio del trafico optico
        int numcolas; //Numero de clases de servicio del trafico inalambrico
        double txrate; //Capacidad de los enlaces de la subred optica
    gates:
        input queuegenIn[]; //Array de puertas de entrada que conectan este modulo con los modulos ONU_GENTraffic[]
        output queuewdmOut[]; //Array de puertas de salida que conectan este modulo con el splitter interno (ONU_WDMSplitter)
        inout queuegatewayInOut[]; //Array de puertas de entrada que conectan este modulo con una BS-pasarela (en caso de ser una ONU-pasarela)
    submodules:
        onu_sistqueue[numqueue+1]: ONU_SISTqueue {
            parameters:
                numqueue = numqueue;
                numcolas = numcolas;
                txrate = txrate;
            gates:
                onuqueuegenIn[numqueue+1];
                onuqueuegatewayInOut[2];
        }
    connections allowunconnected:
        for i=0..numqueue {
            queuegenIn[i] --> onu_sistqueue[i].onuqueuegenIn[i];
            onu_sistqueue[i].onuqueuewdmOut --> queuewdmOut[i];
        }
        for j=0..numqueue-1 {
            queuegatewayInOut++ <--> onu_sistqueue[j].onuqueuegatewayInOut[0];
        }
        for j=0..numqueue-1 {
            queuegatewayInOut++ <--> onu_sistqueue[j].onuqueuegatewayInOut[1];
        }
}