MoBanCoordinator

Package: inet.mobility.group

MoBanCoordinator

simple module

C++ definition

This is the coordinator module of the MoBAN mobility model. It should be instantiated in the top level simulation network in MiXiM, 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 posture specification file, a configuration file which includes all required parameters 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.

After the initialization phase, the MoBAN coordinator decides about the posture and the position of the logical center of the group (WBAN). The absolute position of the reference point of each belonging node is calculated by adding the current position of the logical center to the reference point of that node in the selected posture. The coordinator publishes the position of the reference point as well as the speed and the radius of the local movement of nodes.

Inheritance diagram

The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram.

Used in

Name Type Description
MoBANNetwork network

This network is exactly the same as baseNetwork existing among the examples of MiXiM, but the desired number of MoBAN coordinator modules have been added. Some nodes of type BaseNode use MoBanLocal module as their mobility module. Then those nodes will be considered as WBAN nodes. Those node have a parameter named "coordinatorIndex" that determines to which WBAN (coordinator) the node belongs.

Extends

Name Type Description
MovingMobilityBase simple module

Abstract base module for mobility models.

Parameters

Name Type Default value Description
displayStringTextFormat string "p: %p\nv: %v"

Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information

subjectModule string "^"

The module path that determines the subject module, the motion of which this mobility model describes. The default value is the parent module

coordinateSystemModule string ""

The module path of the geographic coordinate system module

updateDisplayString bool true

Enables continuous update of the subject module's position by modifying its display string

constraintAreaMinX double -inf m

The minimum x position of the constraint area. It is unconstrained by default (negative infinity)

constraintAreaMinY double -inf m

The minimum y position of the constraint area. It is unconstrained by default (negative infinity)

constraintAreaMinZ double -inf m

The minimum z position of the constraint area. It is unconstrained by default (negative infinity)

constraintAreaMaxX double inf m

The maximum x position of the constraint area. It is unconstrained by default (positive infinity)

constraintAreaMaxY double inf m

The maximum y position of the constraint area. It is unconstrained by default (positive infinity)

constraintAreaMaxZ double inf m

The maximum z position of the constraint area. It is unconstrained by default (positive infinity)

updateInterval double 0.1s

The simulation time interval used to regularly signal mobility state changes and update the display

faceForward bool true
postureSpecFile xml

The input file that includes the specification of all postures

configFile xml

The configuration file for setting probability vectors, distributions, and correlations

useMobilityPattern bool

Set if the logged mobility pattern is used.

mobilityPatternFile string

The input file for the mobility pattern if it is going to be used.

Properties

Name Value Description
class MoBanCoordinator
display i=block/cogwheel

Signals

Name Type Unit Description
mobilityStateChanged inet::MobilityBase

It works in inet, but not in the extended module in another namespace

Source code

// This is the coordinator module of the MoBAN mobility model. It should be instantiated in the top level simulation network in MiXiM, 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 posture specification file, a configuration file which includes all
// required parameters 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.
//
// After the initialization phase, the MoBAN coordinator decides about the posture and the position of the logical center of the group (WBAN).
// The absolute position of the reference point of each belonging node is calculated by adding the current position of the logical center
// to the reference point of that node in the selected posture. The coordinator publishes the position of the reference point as well as
// the speed and the radius of the local movement of nodes.
simple MoBanCoordinator extends MovingMobilityBase
{
    parameters:
        xml postureSpecFile;        // The input file that includes the specification of all postures
        xml configFile;             // The configuration file for setting probability vectors, distributions, and correlations
        bool useMobilityPattern;    // Set if the logged mobility pattern is used.
        string mobilityPatternFile; // The input file for the mobility pattern if it is going to be used.
        @class(MoBanCoordinator);
}
File: src/inet/mobility/group/MoBanCoordinator.ned