IMecApp

Package: simu5g.mec.platform

module interface IMecApp

Defines the structure to be implemented by every MEC Application that supports standard lifecycle management via Ualcmp and MecOrchestrator (i.e., MEC applications that can be instantiated dynamically by User Equipment). See, for example, the MecResponseApp module.

Inheritance diagram

Implemented by

Name

Type

Description

MecAppBase

simple module

This is a MEC app that … TBC

MecRequestBackgroundApp

simple module

Generates requests to be sent to the LocationService. This application can be instantiated as an “independent MEC app” (see MecHost module), which means it does not need to be instantiated via the MEC orchestrator upon request from a User Equipment. In particular, this module produces bulks of GET requests, as generated by a configurable number of MEC applications running on the MEC host. The result of such requests is to delay the service of real requests (i.e., those originating from complete MEC applications)

MecRequestBackgroundGeneratorApp

simple module

Generates requests to be sent to the LocationService. This application can be instantiated as an “independent MEC app” (see MecHost module), meaning it does not need to be instantiated via the MEC orchestrator upon request from a User Equipment. Specifically, this module produces batches of GET requests, as generated by a configurable number of MEC applications running on the MEC host. The effect of such requests is to delay the service of actual requests (i.e., those originating from complete MEC applications)

MecRequestForegroundApp

simple module

Implements a MEC application that issues GET requests to the LocationService every 500ms. This application can be utilized as an “independent MEC app” (see MecHost module), hence it does not require instantiation via the MEC orchestrator upon request from a User Equipment. Essentially, this application provides a quick way to generate configurable load to the Location Service and simulate different (and potentially more realistic) response times from the latter.

MultiUeMecApp

simple module

This is an empty MEC app which is used as a model for MEC apps that should be shared among multiple UEs. Any shared MEC app that should extend this app

MecResponseApp

simple module

Represents an application that is dynamically instantiated on a MEC host upon request from a UeRequestApp, via a DeviceApp. Upon receiving a request from the UE, it queries the LocationService to obtain some information (which is not utilized; it is intended only to “consume” some time), and sends a response message to the UE after a computation time that depends on the current resource utilization at the MEC host.

MecRTVideoStreamingReceiver

simple module

Application that is dynamically instantiated on a MEC host upon request from a RtVideoStreamingSender application via a DeviceApp. It receives video frames sent by the UE and simulates a playout buffer. Moreover, it records statistics related to the quality of the received video stream. Note that the statistics are collected by the RtVideoStreamingSender application at the UE side.

MecRnisTestApp

simple module

Application that is dynamically instantiated on a MEC host upon request from a UeRnisTestApp via a DeviceApp. It is used to test and showcase the functionalities of the RniService API. Upon receiving a request from the UE, it queries the RniService periodically to obtain L2 measurements related to the UE that sent the request (refer to the sendQuery() function). The results obtained from the RNIS are sent back to the UeRnisTestApp in a response message. Please note that the response time of the RNIS depends on the current load at the RNIS.

MecWarningAlertApp

simple module

Application that is dynamically instantiated on a MEC host upon request from a UeWarningAlertApp via a DeviceApp. It receives requests from the UE to be notified when it enters a circular area defined by its center and radius. This is accomplished by subscribing to the LocationService provided by the MEC Host. This module receives a notification from the Location Service when the UE enters/exits the area and, in turn, sends a message to the UE.

Parameters

Name

Type

Default value

Description

mecAppId

int

mecAppIndex

int

mp1Address

string

mp1Port

int

requiredRam

double

Required resources

requiredDisk

double

requiredCpu

double

Properties

Name

Value

Description

display

i=block/app

Source code

//
// Defines the structure to be implemented by every
// MEC Application that supports standard lifecycle management via ~Ualcmp and
// ~MecOrchestrator (i.e., MEC applications that can be instantiated dynamically
// by User Equipment). See, for example, the ~MecResponseApp module.
//
moduleinterface IMecApp
{
    parameters:
        @display("i=block/app");
        int mecAppId;
        int mecAppIndex;

        string mp1Address;
        int mp1Port;

        // Required resources
        double requiredRam @unit("B");
        double requiredDisk @unit("B");
        double requiredCpu;
}

File: src/simu5g/mec/platform/IMecApp.ned