Compound Module ONU_Source

Package: red_wireless
File: ONU_Source.ned

El modulo compuesto ONU_Source representa la fuente de trafico optico (modulos ONU_GENTraffic) y el envio de este trafico hacia el OLT (mediante el modulo ONU_Rx_Report).

ONU_GENTraffic ONU_Rx_Report

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_Source IdealChannel ONU_GENTraffic ONU_Rx_Report 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_Source

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

longpacketfixed0_trimodal1 int

Parametro para elegir el modo de generar trafico Self-Similar (longitud fija o trimodal)

numstreamV2_32_128_256 int

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

node_load double

Carga de cada fuente de trafico optico

numlong int

Numero de longitudes de onda soportadas en la parte optica

tambuffer double

Tamanyo del buffer de cada ONU

txrate double

Capacidad de transmision de cada enlace optico

numqueue int

Numero de clases de servicio del trafico optico

numOnu int

Numero de ONUs presentes en la parte optica de la red hibrida

Properties:

Name Value Description
display i=block/tx

Gates:

Name Direction Size Description
sourcemac input

Puerta de entrada que conecta este modulo con la capa MAC de la ONU

sourceOut [ ] output

Array de puertas de salida que conectan este modulo con el modulo compuesto ONU_Squeue

queue_report output

Puerta de salida que conecta este modulo con el modulo simple interno ONU_Rx_Report

Source code:

// El modulo compuesto ONU_Source representa la fuente de trafico optico (modulos ONU_GENTraffic) y el envio de 
// este trafico hacia el OLT (mediante el modulo ONU_Rx_Report).
module ONU_Source
{
    parameters:
        @display("i=block/tx");
        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 longpacketfixed0_trimodal1; //Parametro para elegir el modo de generar trafico Self-Similar (longitud fija o trimodal)
        int numstreamV2_32_128_256; //Parametro para elegir el numero de streams de cada fuente de trafico Self-Similar
        double node_load; //Carga de cada fuente de trafico optico
        int numlong; //Numero de longitudes de onda soportadas en la parte optica
        double tambuffer; //Tamanyo del buffer de cada ONU
        double txrate; //Capacidad de transmision de cada enlace optico
        int numqueue; //Numero de clases de servicio del trafico optico
        int numOnu; //Numero de ONUs presentes en la parte optica de la red hibrida
    gates:
        input sourcemac; //Puerta de entrada que conecta este modulo con la capa MAC de la ONU
        output sourceOut[]; //Array de puertas de salida que conectan este modulo con el modulo compuesto ONU_Squeue
        output queue_report;  //Puerta de salida que conecta este modulo con el modulo simple interno ONU_Rx_Report
    submodules:
        onu_gentraffic[numqueue]: ONU_GENTraffic {
            parameters:
                extractionmethod_StrictPQ0_Centralized1 = extractionmethod_StrictPQ0_Centralized1;
                insercionmethod_separatequeue0_priorityqueue1 = insercionmethod_separatequeue0_priorityqueue1;
                longpacketfixed0_trimodal1 = longpacketfixed0_trimodal1;
                numstreamV2_32_128_256 = numstreamV2_32_128_256;
                node_load = node_load;
                numlong = numlong;
                tambuffer = tambuffer;
                txrate = txrate;
                numqueue = numqueue;
                numOnu = numOnu;
            gates:
                onugenOut[numqueue];
        }
        onu_rx_report: ONU_Rx_Report {
            parameters:
                extractionmethod_StrictPQ0_Centralized1 = extractionmethod_StrictPQ0_Centralized1;
                numqueue = numqueue;
        }
    connections allowunconnected:
        for i=0..numqueue-1 {
            onu_gentraffic[i].onugenOut[i] --> sourceOut[i];
        }
        onu_rx_report.rxqueuereportOut --> queue_report;
        sourcemac --> onu_rx_report.rxmacIn;
}