MecOrchestrator.ned

NED File src/simu5g/mec/orchestrator/MecOrchestrator.ned

Name Type Description
MecOrchestrator simple module

Models the functionalities of the MEC orchestrator within a Multi-access Edge Computing (MEC) system. Specifically, it manages the dynamic instantiation and termination of MEC applications on the MEC hosts belonging to the MEC system. Upon receiving a MEC app instantiation request from the Ualcmp module, this module is responsible for selecting the MEC host on which the MEC application is to be instantiated, according to a configurable policy.

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

//
// Models the functionalities of the MEC orchestrator within a Multi-access Edge
// Computing (MEC) system. Specifically, it manages the dynamic instantiation and
// termination of MEC applications on the MEC hosts belonging to the MEC system. Upon
// receiving a MEC app instantiation request from the ~Ualcmp module, this module is
// responsible for selecting the MEC host on which the MEC application is to be instantiated, according
// to a configurable policy.
//
simple MecOrchestrator
{
    parameters:
        @display("i=device/mainframe;bgb=1006,692");
        string binderModule = default("binder");

        string selectionPolicy @enum(MecHostBased,MecServiceBased,AvailableResourcesBased) = default("MecServiceBased"); // Available policies: "MecHostBased", "MecServiceBased", "AvailableResourcesBased"
        int mecHostIndex = default(0); // To be used with the MecHostBased policy
        object mecHostList = default([]);
        object mecApplicationPackageList = default([]);

        // Times to simulate lifecycle operations
        double onboardingTime @unit(s) = default(50ms);
        double instantiationTime @unit(s) = default(50ms);
        double terminationTime @unit(s) = default(50ms);

    gates:
        output toUALCMP;
        input fromUALCMP;
}