A time-slot based radio network simulator written in Julia
3 Stars
Updated Last
3 Years Ago
Started In
December 2014


Rasim (RAdio network SIMulator) is a simple time-slot-based simulator for cognitive radio networks. Rasim.jl is port of rasim to Julia. I created the port mainly because the performance (simulation time) I was getting in Python was not satisfactory for my graduation project.

As I added new features for my proposed algorithm, Rasim.jl became more complicated than and a successor of Rasim.


The current dependency list is:

  • Gadfly
  • HDF5
  • DataFrames

and Winston if you want to draw plots right after simulation.

How to run

Firstly set the parameter set you want to simulate by modifying Params.jl, which is used like more or less a config file. Do not forget to modify parameters generated by genparam() function. Then add your agents along project files and import them from Rasim by modifying Rasim.jl. Lastly, add your agents to array agent_types. If you want to make a single run, just import Rasim and Params from a script and call Rasim.run_whole_simulation(p) where p is the parameter set you configure (a variable of type ParamT). IF you want to run a set of simulations parallelly, use RunParallel.jl but don't forget to modify the first line to match number of your machine's CPU cores and set batch_run parameter to true in Params.jl. You can also run Rasim.jl over a network of machines by writing a small Julia script.