MecPlatform

Package: simu5g.mec.platform

compound module MecPlatform

Represents the MEC Platform entity within a MecHost, as specified in the ETSI MEC architecture (ETSI GS MEC 003). It encompasses the MEC services made available to MEC applications instantiated within the MEC Host, along with the ServiceRegistry. The type and number of available MEC services can be configured.

Usage diagram

Used in compound modules

Name

Type

Description

MecHost

compound module

Represents a model of a Multi-access Edge Computing (MEC) host belonging to a MEC system, as specified by the ETSI GS MEC 003 specifications. It runs MEC applications within its VirtualisationInfrastructure and can provide a number of MEC services via the MEC platform. MEC applications can be created either dynamically by the MEC orchestrator or statically at the initialization of the simulation. The MEC host possesses a configurable number of computing resources (such as CPU speed, RAM, and storage) and keeps track of the utilization of these resources by the MEC applications via the VirtualisationInfrastructureManager. Moreover, this module includes a User Plane Function (UPF) that allows it to be connected with the 5G core network.

Parameters

Name

Type

Default value

Description

numMecServices

int

0

Properties

Name

Value

Description

display

bgb=480,187;i=block/cogwheel

Gates

Name

Direction

Size

Description

virtInfr [ ]

inout

Connection to the virtualization infrastructure

Unassigned submodule parameters

Name

Type

Default value

Description

serviceRegistry.serviceName

string

“ServiceRegistry”

serviceRegistry.requestQueueSize

int

0

serviceRegistry.subscriptionQueueSize

int

0

serviceRegistry.localAddress

string

“”

Local address; may be left empty (“”)

serviceRegistry.localPort

int

1000

localPort number to listen on

serviceRegistry.requestServiceTime

double

15us

serviceRegistry.subscriptionServiceTime

double

20us

serviceRegistry.serverThreadClass

string

“simu5g.mec.platform.services.base.SocketManager”

serviceRegistry.tos

int

-1

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

serviceRegistry.binderModule

string

“binder”

Source code

//
// Represents the MEC Platform entity within a ~MecHost, as specified in the
// ETSI MEC architecture (ETSI GS MEC 003). It encompasses the MEC services made available to
// MEC applications instantiated within the MEC Host, along with the ~ServiceRegistry.
// The type and number of available MEC services can be configured.
//
module MecPlatform
{
    parameters:
        @display("bgb=480,187;i=block/cogwheel");

        //# Number of MEC Services available
        int numMecServices = default(0);

    gates:
        inout virtInfr[];     // Connection to the virtualization infrastructure

    submodules:

        serviceRegistry: ServiceRegistry {
            @display("p=94,78");
        }

        mecService[numMecServices]: <> like IApp {
            @display("p=320,78,row,140");
        }

    connections allowunconnected:

        serviceRegistry.socketOut --> virtInfr$o[0];
        serviceRegistry.socketIn <-- virtInfr$i[0];

        for i=0..numMecServices-1 {
            mecService[i].socketOut --> virtInfr$o[i+1];
            mecService[i].socketIn <-- virtInfr$i[i+1];
        }
}

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