Mobility Simulation in a Wifi Network of UML Machines

Introduction

The project Wifi for UML provides an UML guest with a Wifi driver which communicates with a simulator running on the host.

In the original simulator, I didn't have enough control over the node movements: the nodes initial positions are random, the probability for them to move can be set but not on a per-node basis and the movement are random. This made it impossible for me to repeat a given scenario. That's the reason why I extended the original simulator. PPT presentation (in French)

This work was conducted in 2005 for the EcoMesh project at INT.

Download and Compile

Download the MobUML v7 archive, uncompress and build with 'qmake' followed by 'make'.

Run

See the original simulator web-site for operation.

Here we only describe the new configuration file format:

<uml_wifi version="0.1">
	  
        <x_size>2000</x_size>
        <y_size>2000</y_size>
	  
size of the virtual rectangular area (in meter)
        <show_gui>1</show_gui>
        <show_packet>1</show_packet>
	  
        <node name="laptop_01">
	  
Configuration for the node started with umid=laptop_01
                <color>
                        <red>100</red>
                        <green>0</green>
                        <blue>0</blue>
                </color>
	  
Optional. Color to use for the radio area around the node in the visualization window. If no color is specified here, the default combination used is (100, 100, 100). Each component value must be within the 0..255 range.
                <mobility name="random">
	  
Currently, 2 mobility models are available. random is the original one. It takes 3 parameters :
                        <fix_probability>0.3</fix_probability>
	  
Probability for the node to be fix. Chose 0 if you want the node to move (in a random direction), 1 if you want the node to be fix (at a random location), or any value in between (but a 0.5 value does not mean that the node is fix half of the time during a simulation, it means that in average, across multiple run of the simulation, the node will be moving in half the simulations and be still is the others). If this declaration is absent, the default value used is 1.
                        <speed>10</speed>
	  
If the fix probability is not 1, this indicates the speed at which the node moves (in meter/second). If this declaration is absent, the default value used is 0.
	
                        <avg_dev>0.2</avg_dev>
	  
Average deviation from a straight path: choose 0 if you want the node to move on straight line (it will change direction only when it reaches the edge of the virtual rectangular area) and a higher value if you want the node to change direction more often. If this declaration is absent, the default value used is 0.
                </mobility>
	  
                <noise name="fix">
	  
The only background thermal noise model available so far.
                        <power>-141</power>
	  
The smaller the value, the larger the radio area around the node. If this declaration is absent, the default value used is -140.
                </noise>
	  
                <physical name="threshold">
	  
The only physical propagation model available so far.
                        <attenuation>0.5</attenuation>
	  
If this declaration is absent, the default value used is 0.0.
                        <drop_prob_in>0</drop_prob_in>
	  
If this declaration is absent, the default value used is 1.0.
                        <drop_prob_out>1</drop_prob_out>
	  
If this declaration is absent, the default value used is 0.5.
                </physical>

        </node>
	  

        <node name="laptop_02">
                <color>
                        <red>25</red>
                        <green>100</green>
                        <blue>0</blue>
                </color>
	  
                <mobility name="planned">
	  
This is the new mobility model, where movements of the node can be specified as a list of <date, location> couples. Movement between successive locations follows a straight path. The first given location must be the initial location, at date 0. Locations must be given in the chronological order. Date 0 is given by the instant the first wireless card is plugged in the network (the first loading of hostap_uml).
                        <position>
	  
                                <date>0</date>
	  
Number of seconds since the first hostap_uml was loaded.
                                <x>10</x>
                                <y>10</y>
	  
Horizontal and vertical coordinates, in meter, from the upper left corner of the rectangular area.
                        </position>

                        <position>
                                <date>20</date>
                                <x>600</x>
                                <y>10</y>
                        </position>
                        <position>
                                <date>30</date>
                                <x>600</x>
                                <y>610</y>
                        </position>
                        <position>
                                <date>50</date>
                                <x>50</x>
                                <y>60</y>
                        </position>
                </mobility>
 
                <noise name="fix">
                        <power>-141</power>
                </noise>
 
                <physical name="threshold">
                        <attenuation>0.5</attenuation>
                        <drop_prob_in>0</drop_prob_in>
                        <drop_prob_out>1</drop_prob_out>
                </physical>
        </node>
	  
        <node name="default">
	  
This is the default configuration, used for nodes started without a umid or with a name which does not appear in this configuration file.
                <color>
                        <red>100</red>
                        <green>100</green>
                        <blue>100</blue>
                </color>
 
                <mobility name="random">
                        <fix_probability>1</fix_probability>
                        <speed>10</speed>
                        <avg_dev>0.2</avg_dev>
                </mobility>
 
                <noise name="fix">
                        <power>-141</power>
                </noise>
 
                <physical name="threshold">
                        <attenuation>0.5</attenuation>
                        <drop_prob_in>0</drop_prob_in>
                        <drop_prob_out>1</drop_prob_out>
                </physical>
        </node>

</uml_wifi>
	  

To Do

We might work on the following improvments, if needed:

Contact

Virginie Galtier