NED File ONU_Source.ned

Name Description
ONU_Source (compound module)

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).

Source code:

////////////////////////////////////////////////////////////////////////////////////////
// PROYECTO FIN DE CARRERA															  //
// TITULO: Diseño e Implementacion de Nuevas Arquitecturas de Acceso Hibridas         //
//	       Opticas-wireless         												  //
// AUTOR: Ana Emma Lopez Mato														  //
// TUTOR: Noemi Merayo Alvarez														  //
// INGENIERIA TECNICA DE TELECOMUNICACIONES, SISTEMAS DE TELECOMUNICACION			  //
// UNIVERSIDAD DE VALLADOLID													      //
////////////////////////////////////////////////////////////////////////////////////////

package red_wireless;
// 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; 
}