LocationService.ned

NED File src/simu5g/mec/platform/services/LocationService/LocationService.ned

Name Type Description
LocationService simple module

Implements the Location Service API as defined by the ETSI GS MEC 013 specification. It exposes a REST API that allows MEC applications to retrieve location-related information about User Equipment (UE) or a group of UEs. It supports both request-response and subscribe-notification patterns (in the latter case, the MEC application will be notified when a target UE enters a specific circular area.

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.LocationService;

import simu5g.mec.platform.services.base.IMecService;
import inet.applications.contract.IApp;

//
// Implements the Location Service API as defined by the ETSI GS MEC 013 specification.
// It exposes a REST API that allows MEC applications to retrieve location-related information
// about User Equipment (UE) or a group of UEs. It supports both request-response and
// subscribe-notification patterns (in the latter case, the MEC application will be notified when
// a target UE enters a specific circular area.
//
simple LocationService like IMecService, IApp
{
    parameters:
        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
        double locationSubscriptionPeriod @unit(s) = default(1s);

        bool loadGenerator = default(false);
        double betaa = default(0);  // Used only if loadGenerator is true
        int numBgApps = default(0); // Used only if loadGenerator is true

        double requestServiceTime @unit(s) = default(0.5us);
        double subscriptionServiceTime @unit(s) = default(0.5us);

        string serverThreadClass = default("simu5g.mec.platform.services.base.SocketManager");

        string serviceName = default("LocationService");
        string serviceVersion = default("v2");
        string serviceSerialize = default("JSON");

        string transportId = default("LocAPI");
        string transportName = default("LocAPI");
        string transportType = default("REST_HTTP");
        string transportProtocol = default("HTTP");

        string catId = default("");
        string catName = default("Location");
        string catUri = default("");
        string catVersion = default("v2");

        string scopeOfLocality = default("MEC_HOST");
        bool consumedLocalOnly = default(true);

        string binderModule = default("binder");

        @display("i=block/app");
        @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:
        input socketIn @labels(TcpCommand/up);
        output socketOut @labels(TcpCommand/down);
}