This repository contains the source code of a simulator developed in OMNeT++ with the goal of providing a proof of concept and a performance evaluation of the new concept of 
Advanced Semantic Discovery to be contributed to SmartM2M/oneM2M framework.

This work has been conducted in the STF 589 of SmartM2M. 

*Task 3: oneM2M Discovery and Query solution(s) simulation and performance evaluation*

Documentation about the underlying concepts of the simulator can be found in the STF 589 - Final Draft of TR 103 716.

The current repository contains two folders : 
 
*  *simulation_results* is a well-named folder that contains an extract of the different simulation runs. 
*  *src* contains the source code of the OMNeT++ simulator and the different topologies (*.ned* files). 
* The development has been conducted with OMNeT++ V5.6.2. 

Here is a fast install procedure to run the simulator: 

1-Download and install 
- OMNeT++ on https://omnetpp.org.
- the code contained in the *src* directory from the current gitlab repository.

2-Start the IDE OMNeT++ see the installation guide https://doc.omnetpp.org/omnetpp/InstallGuide.pdf.

3-Create an OMNeT++ project 
- Choose "Empty Project with src and simulations folders".
- Delete a *package.ned* file that has been generated in the project.
- In the *src* folder -> Import code file system by selecting the local *src* folder that contains the code.

4-Build your project 
- Click right on the package -> "Build Project" 

5-Run a simulation 
- Click right on the package -> "Run As" -> "Run Simulation" 
- Choose the *src/omnetpp.ini* as configuration file 
- You are now able to run multiple simulations by choosing different topologies namely (SmallNetwork, bigNetwork, BigNetwork multi runs, LargeNetwork...)

Enjoy! 

The STF589 teams 
