NED File src/simu5g/mec/ualcmp/UalcmpApp.ned¶
Name |
Type |
Description |
|---|---|---|
simple module |
Implements (part of) the Mx2 reference point defined by the ETSI GS MEC 016 V2.2.1 (2020-04) specification. A DeviceApp application module can use this API to request MEC app lifecycle operations (i.e., instantiation, termination, relocation). In particular, it provides the following methods: |
Source code¶
//
// Simu5G
//
// Copyright (C) 2019-2021 Giovanni Nardini, Giovanni Stea, Antonio Virdis et al. (University of Pisa)
// Copyright (C) 2022-2026 Giovanni Nardini, Giovanni Stea et al. (University of Pisa)
//
// This file is part of a software released under the license included in file
// "license.pdf". Please read LICENSE and README files before using it.
// The above files and the present reference are part of the software itself,
// and cannot be removed from it.
//
package simu5g.mec.ualcmp;
import inet.applications.contract.IApp;
//
// Implements (part of) the Mx2 reference point defined by the ETSI GS MEC
// 016 V2.2.1 (2020-04) specification. A ~DeviceApp application module can use this API to
// request MEC app lifecycle operations (i.e., instantiation, termination, relocation).
// In particular, it provides the following methods:
// - GET /app_list: to retrieve information about available applications
// - POST /app_contexts: to request the creation of a new application context
// - DELETE /app_contexts/{contextId}: to request the deletion of an existing application context
// The application communicates directly with the MEC orchestrator without going through the
// protocol stack of the ~Ualcmp module.
//
simple UalcmpApp like IApp
{
parameters:
@display("i=block/source");
@class("UalcmpApp");
string binderModule = default("binder");
string serviceName = default("Ualcmp");
int requestQueueSize = default(0);
int subscriptionQueueSize = default(0);
string localAddress = default(""); // Local address; may be left empty ("")
int localPort = default(1000); // localPort number to listen on
// Hostname of the reference orchestrator
string mecOrchestratorHostname;
double requestServiceTime @unit(s) = default(5us);
double subscriptionServiceTime @unit(s) = default(10us);
string serverThreadClass = default("simu5g.mec.platform.services.base.SocketManager");
int tos = default(-1); // If not -1, set the Type of Service (IPv4) / Traffic Class (IPv6) field of sent packets to this value
@signal[loadGeneratorNumBackgroundRequests];
@statistic[loadGeneratorNumBackgroundRequests](title="Load Generator Background Requests Count"; record=mean,vector);
@signal[responseTime];
@statistic[responseTime](title="Response time of foreground requests"; record=mean,vector);
gates:
output socketOut;
input socketIn;
output toMecOrchestrator;
input fromMecOrchestrator;
}