BackgroundTrafficGenerator

Package: simu5g.background.trafficGenerator

BackgroundTrafficGenerator

compound module

Part of a BackgroundCell module and is responsible for instantiating a configurable number of background UEs (see BackgroundUe module) and setting up their method for computing the channel status information required by the BackgroundScheduler module.

bgUE[numBgUes] : BackgroundUe

Lightweight model for 4G or 5G User Equipment (UE).

Source:
bgUE[numBgUes]: BackgroundUe {
    @display("p=77,118");
} manager : like IBackgroundTrafficManager

BackgroundTrafficManager: Manages the background traffic generated by ~BackgroundUe in a ~eNodeB or ~gNodeB.

IBackgroundTrafficManager: Defines the contract for a traffic generator manager within the ~BackgroundTrafficGenerator module...

Source:
manager: <default("BackgroundTrafficManager")> like IBackgroundTrafficManager {
    @display("p=77,41");
}

Usage diagram

The following diagram shows usage relationships between types. Unresolved types are missing from the diagram.

Used in compound modules

Name Type Description
BackgroundCell compound module

Implements a lightweight model for a 4G eNodeB or 5G gNodeB for generating configurable inter-cell interference in the simulated network.

LteNicEnb compound module

The LteNicEnb module is a network interface that provides LTE connectivity within an eNodeB. It implements the data and signaling planes of the LTE stack, which includes the PDCP, RLC, MAC, and PHY layers. The parameters and submodules allow customization of the eNodeB's behavior, including whether it supports D2D communication, CoMP (Coordinated MultiPoint), or dual connectivity.

Parameters

Name Type Default value Description
numBgUes int 0
enablePeriodicCqiUpdate bool true
useProbabilisticCqi bool false
computeAvgInterference bool false

Properties

Name Value Description
display i=block/source

Source code

//
// Part of a ~BackgroundCell module and is responsible for instantiating a
// configurable number of background UEs (see ~BackgroundUe module) and setting up
// their method for computing the channel status information required by the
// ~BackgroundScheduler module.
//
module BackgroundTrafficGenerator
{
    parameters:
        @display("i=block/source");
        int numBgUes = default(0);
        bool enablePeriodicCqiUpdate = default(true);
        bool useProbabilisticCqi = default(false);
        bool computeAvgInterference = default(false);
        *.computeAvgInterference = this.computeAvgInterference;
        *.enablePeriodicCqiUpdate = this.enablePeriodicCqiUpdate;
        *.useProbabilisticCqi = this.useProbabilisticCqi;
        *.numBgUes = this.numBgUes;

    submodules:
        bgUE[numBgUes]: BackgroundUe {
            @display("p=77,118");
        }
        manager: <default("BackgroundTrafficManager")> like IBackgroundTrafficManager {
            @display("p=77,41");
        }
}

File: src/simu5g/background/trafficGenerator/BackgroundTrafficGenerator.ned