MiXiM  2.3
mobility - modules handling the mobility of the hosts

Classes

class  IMobility
 Abstract base class defining the public interface that must be provided by all mobility modules. More...
class  ANSimMobility
 Uses the <position_change> elements of the ANSim tool's trace file. See NED file for more info. More...
class  BonnMotionFileCache
class  BonnMotionMobility
 Uses the BonnMotion native file format. See NED file for more info. More...
class  CircleMobility
 Circle movement model. See NED file for more info. More...
class  ConstSpeedMobility
 Moves along a line with constant speed to a randomly chosen target. When the target is reached it selects randomly a new one. More...
class  LinearMobility
 Linear movement model. See NED file for more info. More...
class  LinearNodeDistributionMobility
 Mobility model which places all hosts at constant distances in a line with an orientation. More...
class  LineSegmentsMobilityBase
 Base class for mobility models where movement consists of a sequence of linear movements of constant speed. More...
class  MassMobility
 Models the mobility of with mass, making random motions. See NED file for more info. More...
class  MoBANCoordinator
 This is the coordinator module of the MoBAN mobility model. It should be instantiated in the top level simulation network, once per WBAN. The coordinator module is the main module that provides the group mobility and correlation between nodes in a WBAN. In the initialization phase, it reads three user defined input files which are the postures specification file, a configuration file which includes all required parameter for specific distributions, and the previously logged mobility pattern, if it is requested to use a logged pattern. Note that all WBAN instances may use the same input files if they are exactly in the same situation. More...
class  MoBANLocal
 This is the local mobility module of MoBAN. It should be instantiated in each node that belongs to a WBAN. The NED parameter "coordinatorIndex" determines to which WBAN (MoBANCoordinator) it belongs. The current implementation uses the Random Walk Mobility Model (RWMM) for individual (local) movement within a sphere around the node, with given speed and sphere radius of the current posture. The reference point of the node in the current posture, the sphere radius, and the speed is given by the corresponding coordinator. RWMM determines the location of the node at any time relative to the given reference point. More...
class  MobilityBase
 Abstract base class for mobility modules. More...
class  MovingMobilityBase
 Base class for moving mobility modules. Periodically emits a signal with the current mobility state. More...
class  Posture
 to store the specification of a posture on the MoBAN mobility model. More...
class  PostureTransition
 Class to provide spatial and temporal correlation in the posture selection process of the MoBAN mobility model. This class obtains and stores Markovian transition matrices. There is also the possibility to get a steady state vector. In this case, the closest transition matrix to the default Makov matrix is extracted which satisfies the given steady state vector. The class also receives the defined area types and time domains as well as given space-time domains during the initialization phase. During the simulation run, the class provide a functions to return the corresponding markov matrix for a given time and location. It will be used whenever a new posture is going to be selected. More...
class  RectangleMobility
 Rectangle movement model. See NED file for more info. More...
class  StaticGridMobility
 Mobility model which places all hosts at constant distances within the simulation area (resulting in a regular grid). More...
class  StationaryMobility
class  TractorMobility
 Tractor movement model. See NED file for more info. More...
class  TurtleMobility
 LOGO-style movement model, with the script coming from XML. See NED file for more info. More...

Detailed Description

The following diagrams give an overview of the functionality of a mobility-module.

Mobility.png
Activity diagram: an overview on how movement-updates in MobilityBase work
makeMove.png
Sequence diagram: call-hierarchy when move-message is processed

Shows how sub-classing mobility-modules are involved in the movement-calculation for a host. They overwrite the method makeMove() to calculate the next movement-step and after that they have to call fixIfHostGetsOutside() which takes care of border-handling. The implementation of this method at least has to call handleIfOutside() and pass the border-policy to use as well as references to parameters to be updated. The figure below shows some details on how border-handling and the different border-policies work.

borderPolicies.png
Illustrated border-handling under the different border-policies, multiple border-handling in one movement-step