UeRequestApp

Package: simu5g.apps.mec.MecRequestResponseApp

simple module UeRequestApp

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.

simu5g.apps.mec.MecRequestResponseApp.UeRequestAppUeRequestAppsimple

Inheritance 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”

Properties

Name

Value

Description

display

i=block/source

Gates

Name

Direction

Size

Description

socketOut

output

socketIn

input

Signals

Name

Type

Unit

Description

downLinkTime

processingTime

responseTime

Stats

serviceResponseTime

upLinkTime

Statistics

Name

Title

Source

Record

Unit

Interpolation Mode

Description

downLinkTime

downLinkTime

downLinkTime

stats,mean,vector

s

processingTime

processingTime

processingTime

stats,mean,vector

s

responseTime

responseTime

responseTime

stats,mean,vector

s

serviceResponseTime

serviceResponseTime

serviceResponseTime

stats,mean,vector

s

upLinkTime

upLinkTime

upLinkTime

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