DeviceApp

Package: simu5g.apps.mec.DeviceApp

simple module DeviceApp

Models the Device App entity as defined by the ETSI Multi-access Edge Computing (MEC) specifications. The Device App can be instantiated on a User Equipment (UE) that wants to dynamically instantiate a MEC application within a MEC system. It establishes a TCP connection with the User App Lifecycle Management Proxy (UALCMP) entity (see the Ualcmp module) and, upon receiving a MEC application instantiation request from another UE application, it sends a message to the UALCMP including the URI of the MEC application to be instantiated. Once the confirmation of successful instantiation is received, the Device App sends an acknowledgment to the UE application that requested it. Moreover, this module is responsible for requesting the deletion of the MEC application from the MEC system upon explicit request from the UE application.

simu5g.apps.mec.DeviceApp.DeviceAppDeviceAppsimple

Inheritance diagram

Parameters

Name

Type

Default value

Description

ualcmpAddress

string

“”

UALCMP address to connect to, may be left empty (“”)

ualcmpPort

int

-1

UALCMP port number to connect to

ualcmpLocalPort

int

8740

UALCMP local port number

appProvider

string

“”

appPackageSource

string

“”

localAddress

string

“”

Local address used for the UE and the UALCMP, may be left empty (“”)

localPort

int

-1

UE port number to listen on

timeToLive

int

-1

If not -1, set the TTL (IPv4) or Hop Limit (IPv6) field of sent packets to this value

dscp

int

-1

If not -1, set the DSCP (IPv4/IPv6) field of sent packets to this value

tos

int

-1

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

Properties

Name

Value

Description

display

i=block/app

Gates

Name

Direction

Size

Description

socketIn

input

socketOut

output

Source code

//
// Models the Device App entity as defined by the ETSI Multi-access Edge Computing (MEC)
// specifications. The Device App can be instantiated on a User Equipment (UE) that wants to
// dynamically instantiate a MEC application within a MEC system. It establishes a TCP connection
// with the User App Lifecycle Management Proxy (UALCMP) entity (see the ~Ualcmp module) and, upon
// receiving a MEC application instantiation request from another UE application, it sends a message
// to the UALCMP including the URI of the MEC application to be instantiated. Once the confirmation
// of successful instantiation is received, the Device App sends an acknowledgment to the UE
// application that requested it. Moreover,
// this module is responsible for requesting the deletion of the MEC application from the MEC system
// upon explicit request from the UE application.
//
simple DeviceApp like IApp
{
    string ualcmpAddress = default(""); // UALCMP address to connect to, may be left empty ("")
    int ualcmpPort = default(-1); // UALCMP port number to connect to
    int ualcmpLocalPort = default(8740); // UALCMP local port number

    string appProvider = default("");
    string appPackageSource = default("");

    string localAddress = default(""); // Local address used for the UE and the UALCMP, may be left empty ("")
    int localPort = default(-1); // UE port number to listen on
    int timeToLive = default(-1); // If not -1, set the TTL (IPv4) or Hop Limit (IPv6) field of sent packets to this value
    int dscp = default(-1); // If not -1, set the DSCP (IPv4/IPv6) field of sent packets to this value
    int tos = default(-1); // If not -1, set the Type of Service (IPv4) / Traffic Class (IPv6) field of sent packets to this value
    @display("i=block/app");

    gates:
        input socketIn @labels(TcpCommand/up);
        output socketOut @labels(TcpCommand/down);
}

File: src/simu5g/apps/mec/DeviceApp/DeviceApp.ned