The Simulation Execution Manager

Efficiently run multiple simulations and easily manage results.
4/5 (9 reviews)
Categories: Utilities

What is SEM?

The ns-3 Simulation Execution Manager is a software that helps with running multiple ns-3 simulations, manage their results and more easily get to plots.


Designed to substitute homemade solutions based on bash scripts, SEM tries to hide as many of the tedious details about running a simulation campaign as possible, providing a clean interface that helps the user get all the way from optimized compilation of ns-3 to plotting.

If your script exposes some Command Line Arguments, you can easily explore their effect on your scenario: create a simulation campaign, tell SEM which parameter combinations you are interested in and how many repetitions you'd like to have for each combination. The library will run all the necessary simulations and save them into a database, all while printing a progress bar for your convenience. Once simulations are done, results are ready to be exported to MATLAB and Numpy-compatible data structures for further elaboration and plotting.

Feature list

  • Interactive Command Line Interface
  • Python API
  • Automatic optimization of parallel execution of simulations
  • Supports DRMAA clusters
  • Can export results to MATLAB .mat, Numpy .npy and directory tree formats
  • Supports for git-based tracking
  • Skips simulations that are already available in the database


Works with ns-3.28

Latest Build :

Build History : The Simulation Execution Manager 0.2.3

Release Notes

<p>Initial AppStore release.</p>


SEM is available on the Python Package Index: `pip3 install --user sem` will download and install the library. Once SEM is installed, check out the [documentation]( for a tutorial on how to get started using the framework.

Users are recommended to periodically run `pip3 install -U sem` to freshen their installation.

This ns-3 extension is one or more contributed modules.

No download available.