Installation

Prerequisites

Simu5G can be compiled on any platform supported by OMNeT++ and INET frameworks.

You should have working OMNeT++ and INET Framework installations. See the required versions above, depending on the Simu5G version you selected.

Make sure your OMNeT++ installation works OK (e.g. try running the samples) and it is in the PATH environment variable (to test it, type the command which nedtool into the terminal). On Windows, open a console with the mingwenv.cmd command. The PATH and other variables will be automatically adjusted for you. Use this console to compile and run INET and Simu5G.

Install and test INET according to the installation instructions found in the archive. Be sure to check if the INET examples are running fine before continuing.

Obtaining Simu5G

Latest release: Simu5G 1.2.2.

In order to get Simu5G on your machine, you have the following options:

  1. Download and install Simu5G directly from the OMNeT++ IDE

  2. Download the source code and build Simu5G manually

  3. Download and run Simu5G Plug-and-Play.

Download and install Simu5G from the OMNeT++ IDE

This is the easiest way to get Simu5G:

  1. Open the OMNeT++ IDE on your machine and make sure that the ‘inet4.5’ project is open and correctly built in your workspace

  2. In the menu bar, click Help | Install Simulation Models… | Select Simu5G 1.2.2 and click Install Project

  3. Wait until the building process is complete. This may take up several minutes.

Download and build the source code

Download the Simu5G tarball including the latest stable release (zip, tar.gz). This version requires OMNeT++ v6.0 and INET v4.5. For previous releases, visit this link.

Alternatively, you can download the most recent code directly from the Simu5G repository on GitHub. Current master branch requires OMNeT++ v6.0 and INET v4.5.

Note

This is the development branch, hence this version of the code might be unstable.

Building from the OMNeT++ IDE

  1. Extract the downloaded Simu5G tarball next to the “inet4.5” directory (i.e. into your workspace directory, if you are using the IDE).

  2. Start the IDE, and ensure that the ‘inet4.5’ project is open and correctly built.

  3. Import the project using: File | Import | General | Existing projects into Workspace. Then select the workspace dir as the root directory, and be sure NOT to check the “Copy projects into workspace” box. Click Finish.

  4. You can build the project by pressing CTRL-B (Project | Build all)

  5. To run an example from the IDE, select the simulation example’s folder under ‘simulations’, and click ‘Run’ on the toolbar.

Building from the command line

  1. Extract the downloaded Simu5G tarball next to the “inet4.5” directory

  2. Change to the Simu5G directory.

  3. Type “. setenv”. This will add the Simu5g/bin directory to the PATH environment variable.

  4. Type “make makefiles”. This should generate the makefiles.

  5. Type “make” to build the Simu5G executable (debug version). Use “make MODE=release” to build release version.

  6. Run an examples by changing into one of the directories under ‘simulations/NR’, and executing “./run”

Simu5G Plug-and-Play

If you cannot wait to try Simu5G… COOL! You are in the right place!

You can download the following Virtual Machine appliance, import it into your favorite virtualization software (e.g. Oracle Virtualbox, VMWare Player), and start simulating! You do not need to carry out the complete installation procedure, we already did the boring stuff for you ;)

Download Simu5G 1.2.1 PnP

This VM includes Ubuntu 20.04, with OMNeT++ 6.0, INET 4.4.0, Simu5G 1.2.1. We also included Veins 5.2 in case you want to simulate 5G-enabled vehicular networks.

How to import the VM

This guide assumes you have Oracle Virtualbox 6.1 installed on your machine.

  1. Open Virtualbox, then click File -> Import Appliance…

  2. In the dialog window, browse your file system and select the downloaded file (with .ova extension). Then, click Next.

  3. Check the VM configuration, then click Import.

  4. Select the new VM on the left side of the Virtualbox main window, then click Start.

Running a simulation

  1. From the main screen of the VM, click on the OMNeT++ icon on the left bar. This will launch the OMNeT++ IDE.

  2. In the project explorer, on the left side, select Simu5G > simulations > NR.

  3. Select one of the examples and click ‘Run’ on the toolbar.

  4. Enjoy! :)

Note

If you want to run the ‘cars’ example, you first need to launch SUMO by clicking the corresponding icon in the left bar.

Simulating 5G-enabled vehicular networks

Simu5G is able to simulate 5G communications in vehicular networks by integrating Veins. Veins is a framework for vehicular networks simulation, based on the road traffic simulator SUMO.

To simulate vehicular networks within Simu5G, you have two options:

  • Get the Simu5G 1.2.1 PnP Virtual Machine;

  • Download Veins and integrate it manually within your Simu5G project. If you choose this option, read the following instructions.

Integrating Veins into your Simu5G project

This guide assumes you already have a working version of Simu5G on your machine. If you don’t, please get it before going ahead. See the Install Guide.

Download SUMO

  1. Download SUMO v1.11.0

  2. Extract the archive’s content, e.g., PATH_TO_SUMO/sumo-1.11.0

  3. Build SUMO by following the instructions in the README file included in the package

Download Veins

  1. Download Veins 5.2

  2. Extract the archive’s content into your workspace (e.g. next to Simu5G and inet4.4 directories)

Import Veins into your workspace using the IDE

  1. Start the OMNeT++ IDE and open your Simu5G workspace

  2. Import the project using: File | Import | General | Existing projects into Workspace. Then select your workspace directory, i.e. the one including Simu5G, inet4.4 and Veins folders. Tick the “Search for nested projects” box and select “veins” and “veins_inet” projects. Click Finish.

  3. In the project explorer, right-click on the “Simu5G” folder | Properties | Project References. Tick the “veins_inet” box (do not tick the “veins” folder. Click OK.

  4. In the project explorer, right-click on the “Simu5G” folder | Properties | OMNeT++ | Project Features. Tick the “Simu5G Cars” box. Click OK.

  5. Build the project by pressing CTRL-B (or Project | Build all).

Run a simulation example

  1. In your terminal, navigate to the “veins/bin” folder and launch SUMO, by using the command ./veins-launchd.py -vv -c PATH_TO_SUMO/sumo-1.11.0/bin/sumo (replace PATH_TO_SUMO with the actual directory where you extracted SUMO. The -c option is not necessary if you added “PATH_TO_SUMO/sumo-1.11.0/bin/” to your PATH environment variable)

  2. In the OMNeT++ IDE, select the ‘Simu5G/simulations/NR/cars’ example folder, and click ‘Run’ on the toolbar.