UeRequestApp

Package: simu5g.apps.mec.MecRequestResponseApp

UeRequestApp

simple module

This application is to be instantiated on the UE side. It requires that a DeviceApp is also instantiated at the UE. This module requests the DeviceApp to instantiate a MecResponseApp in the MEC system. Once the peer MEC application is up and running, this module sends periodic messages to the MEC application and waits for a response. It collects metrics such as round-trip time.

Inheritance diagram

The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram.

Parameters

Name Type Default value Description
localPort int 4000

Connection parameters

deviceAppPort int 4000

Port of the DeviceApp

deviceAppAddress string

IP address of the DeviceApp

requestPacketSize int 10B
tos int -1

If not -1, set the Type of Service (IPv4) / Traffic Class (IPv6) field of sent packets to this value

period double 0.2s

Auto-scheduling parameters

startTime double 0s
stopTime double 120s
mecAppName string "MecResponseApp"

Stats

Properties

Name Value Description
display i=block/source

Gates

Name Direction Size Description
socketOut output
socketIn input

Signals

Name Type Unit Description
responseTime
processingTime
serviceResponseTime
upLinkTime
downLinkTime

Statistics

Name Title Source Record Unit Interpolation Mode Description
responseTime responseTime responseTime stats, mean, vector s
processingTime processingTime processingTime stats, mean, vector s
serviceResponseTime serviceResponseTime serviceResponseTime stats, mean, vector s
upLinkTime upLinkTime upLinkTime stats, mean, vector s
downLinkTime downLinkTime downLinkTime stats, mean, vector s

Source code

//
// This application is to be instantiated on the UE side. It requires that a ~DeviceApp is
// also instantiated at the UE. This module requests the ~DeviceApp to instantiate a
// ~MecResponseApp in the MEC system.
// Once the peer MEC application is up and running, this module sends periodic messages to
// the MEC application and waits for a response. It collects metrics such as round-trip time.
//
simple UeRequestApp like IApp
{
    parameters:
        @display("i=block/source");

        // Connection parameters
        int localPort = default(4000);
        int deviceAppPort = default(4000); // Port of the DeviceApp
        string deviceAppAddress; // IP address of the DeviceApp

        int requestPacketSize @unit(B) = default(10B);

        int tos = default(-1); // If not -1, set the Type of Service (IPv4) / Traffic Class (IPv6) field of sent packets to this value

        // Auto-scheduling parameters
        double period @unit("s") = default(0.2s);
        double startTime @unit("s") = default(0s);
        double stopTime @unit("s") = default(120s);

        string mecAppName = default("MecResponseApp");

        // Stats

        @signal[responseTime];
        @statistic[responseTime](title="responseTime"; unit="s"; source="responseTime"; record=stats,mean,vector);

        @signal[processingTime];
        @statistic[processingTime](title="processingTime"; unit="s"; source="processingTime"; record=stats,mean,vector);

        @signal[serviceResponseTime];
        @statistic[serviceResponseTime](title="serviceResponseTime"; unit="s"; source="serviceResponseTime"; record=stats,mean,vector);

        @signal[upLinkTime];
        @statistic[upLinkTime](title="upLinkTime"; unit="s"; source="upLinkTime"; record=stats,mean,vector);

        @signal[downLinkTime];
        @statistic[downLinkTime](title="downLinkTime"; unit="s"; source="downLinkTime"; record=stats,mean,vector);



    gates:
        output socketOut;
        input socketIn;
}

File: src/simu5g/apps/mec/MecRequestResponseApp/UeRequestApp.ned