MobSink Multiple Sinks Simulator

Welcome to MobSink Multiple Sinks Simulator website.

MobSink is a WSN simulator developed at LARA to implement a multiple sinks mobility algorithm developed by João Paulo Just Peixoto and Daniel G. Costa. Here you will find useful information about how to use our simulator and download its source code and packages for Linux and Windows.

MobSink is licensed under GPLv3.

Multi Mobile Sinks Simulator main screen

Multi Mobile Sinks Simulator main screen


Source code

Source code can be found on my GitHub account:

What is MobSink Multiple Sinks Simulator?

MobSink Multiple Sinks Simulator is a WSN simulator developed by João Paulo Just Peixoto and Daniel G. Costa in 2015 to simulate a new multiple sinks positioning algorithm. Each sensor node has a relevance level (RL) in the WSN, which is considered when calculating sinks position. The aim is to reduce energy usage by prioritizing more important nodes.

Basic usage

In the main screen, you will see a blank square. This is your network area. Just click on it to insert a node (blue circle). The relevance level of the node can be set in “RL:” textbox on the toolbar. The relevance level must be in a range between 0 and 15.

You can also insert several sensors at once like a grid or in a random fashion. You just need to type how many sensors you want to insert in “Sensors:” textbox and click Grid to insert like a grid or Random to insert randomly. Also, you can use random relevance levels by clicking Random.

After positioning the sensor nodes, you may insert sinks. Just type how many sinks you will want and choose a sink positioning algorithm:

  • Static sinks: sinks will be in fixed positions
  • Fixed move: sinks will move vertically or horizontally at constant speed
  • Relevance based: sinks will be positioned dynamically, considering the relevance levels of sensor nodes (Forgy, Random and Just are the k-means clustering algorithms that can be used)

At last, click “Insert sinks” and the simulator will place the sinks in their positions. Click Start to start the simulation. The results will be shown in the text area on the right.

You can change the sinks configuration and start a new simulation. To create a new network, just click New

Creating paths

You can create paths for sinks movements by clicking on Path. By doing this, in Relevance Based positioning, sinks will be placed only on created paths. If a sink moves, it will go by the created paths. This is useful if you want to simulate roads, or restrict movements. Also, every time a sink moves, the used path will be highlighted and printed in the standard output (just run the program in a command-line terminal). Dijkstra’s algorithm is used to determine the best path.

Adding obstacles

You can also add some obstacles by clicking on Obstacle. Sinks can’t be positioned in that areas. It is another way to restrict sinks positioning. But pay attention: if you use both paths and obstacles, paths you be prioritized. It is possible to have a sink inside an obstacle if there is a path passing through it.

Data output

You can have real-time data if you click on Animate. The current simulation time, energy spent and number of active nodes will be shown in the text area on the right. Also, simulation will be animated. You can see every sinks movement (of course, it may be too fast for you to see sometimes). By enabling animation, simulation will take longer to finish.

Also, you can save all simulation data by clicking on “Save results” button. All data will be saved in a CSV file (including sinks movements). You can also save your network by clicking on “Save network”, so you can simulate it again later (just load it using “Load network”). And if you need to use the image of your simulation in a paper, just click “Save PNG” (you don’t need to take screenshots).