Simple Module LinearMobility

Package: org.mixim.modules.mobility
File: modules/mobility/LinearMobility.ned

C++ definition

This is a linear mobility model with speed, angle and acceleration parameters. Angle only changes when the mobile node hits a wall: then it reflects off the wall at the same angle.

NOTE: Does not yet support 3-dimensional movement.

See also: ConnectionManager

Author: Emin Ilker Cetinbas

LinearMobility

Usage diagram:

The following diagram shows usage relationships between types. Unresolved types are missing from the diagram. Click here to see the full picture.

Inheritance diagram:

The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram. Click here to see the full picture.

Extends:

BaseMobility (simple module)

Module which is responsible for mobility related information like position and movement BaseMobility itself defines a static mobility pattern (means only a position, no movement). Mobility modules which extend from this module will define more complex movement patterns.

Parameters:

Name Type Default value Description
notAffectedByHostState bool true
coreDebug bool

debug switch for the core framework

x double

x coordinate of the nodes' position (-1 = random)

y double

y coordinate of the nodes' position (-1 = random)

z double

z coordinate of the nodes' position (-1 = random)

debug bool

debug switch

speed double

speed of the host (in m/s)

angle double

angle of linear motion (degreees)

acceleration double

acceleration of linear motion (m/s2)

updateInterval double

time interval to update the hosts position (seconds)

Properties:

Name Value Description
display i=block/cogwheel
class LinearMobility

Source code:

//
// This is a linear mobility model with speed, angle and acceleration parameters.
// Angle only changes when the mobile node hits a wall: then it reflects
// off the wall at the same angle.
//
// NOTE: Does not yet support 3-dimensional movement.
// @see ConnectionManager
// @author Emin Ilker Cetinbas
//
simple LinearMobility extends BaseMobility
{
    parameters:
        @class(LinearMobility);
        bool debug; // debug switch
        double speed @unit(mps); // speed of the host (in m/s)
        double angle @unit(deg); // angle of linear motion (degreees)
        double acceleration @unit(mpss); // acceleration of linear motion (m/s2)
        double updateInterval @unit(s); // time interval to update the hosts position (seconds)
}