NED File src/simu5g/mec/platform/services/base/IMecService.ned¶
Name |
Type |
Description |
|---|---|---|
module interface |
Defines the structure that must be implemented by every MEC Service (see, e.g., LocationService). Common MEC service functionalities are provided by the MecServiceBase class, which includes support for both request-response and subscribe-notification paradigms over the TCP protocol. Furthermore, the MecServiceBase class includes mechanisms to enqueue MEC applications’ requests to a MEC service in a FIFO queue, allowing the MEC service to serve them one at a time. This class also calculates the computation time of each request according to an exponential distribution. |
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.platform.services.base;
//
// Defines the structure that must be implemented by every
// MEC Service (see, e.g., ~LocationService). Common MEC service functionalities are provided
// by the MecServiceBase class, which includes support for both request-response and
// subscribe-notification paradigms over the TCP protocol.
// Furthermore, the MecServiceBase class includes mechanisms to enqueue MEC applications' requests
// to a MEC service in a FIFO queue, allowing the MEC service to serve them one at a time. This
// class also calculates the computation time of each request according to an exponential
// distribution.
//
moduleinterface IMecService
{
parameters:
@display("i=block/app");
int requestQueueSize;
int subscriptionQueueSize;
string serviceName;
string serviceVersion;
string serviceSerialize;
string transportId;
string transportName;
string transportType;
string transportProtocol;
string catId;
string catName;
string catUri;
string catVersion;
string scopeOfLocality;
bool consumedLocalOnly;
bool loadGenerator;
double betaa;
int numBgApps;
string localAddress; // Local address; may be left empty ("")
int localPort; // localPort number to listen on
double requestServiceTime;
double subscriptionServiceTime @unit(s);
string serverThreadClass;
@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);
}