A Discrete-Event Network Simulator
API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
ns3::SteadyStateRandomWaypointMobilityModel Class Reference

Steady-state random waypoint mobility model. More...

#include <steady-state-random-waypoint-mobility-model.h>

+ Inheritance diagram for ns3::SteadyStateRandomWaypointMobilityModel:
+ Collaboration diagram for ns3::SteadyStateRandomWaypointMobilityModel:

Public Member Functions

 SteadyStateRandomWaypointMobilityModel ()
- Public Member Functions inherited from ns3::MobilityModel
 MobilityModel ()
virtual ~MobilityModel ()=0
int64_t AssignStreams (int64_t stream)
double GetDistanceFrom (Ptr< const MobilityModel > position) const
Vector GetPosition (void) const
double GetRelativeSpeed (Ptr< const MobilityModel > other) const
Vector GetVelocity (void) const
void SetPosition (const Vector &position)
- Public Member Functions inherited from ns3::Object
 Object ()
virtual ~Object ()
void AggregateObject (Ptr< Object > other)
void Dispose (void)
AggregateIterator GetAggregateIterator (void) const
virtual TypeId GetInstanceTypeId (void) const
template<typename T >
Ptr< T > GetObject (void) const
template<typename T >
Ptr< T > GetObject (TypeId tid) const
void Start (void)
- Public Member Functions inherited from ns3::SimpleRefCount< Object, ObjectBase, ObjectDeleter >
 SimpleRefCount ()
 SimpleRefCount (const SimpleRefCount &o)
uint32_t GetReferenceCount (void) const
SimpleRefCountoperator= (const SimpleRefCount &o)
void Ref (void) const
void Unref (void) const
- Public Member Functions inherited from ns3::ObjectBase
virtual ~ObjectBase ()
void GetAttribute (std::string name, AttributeValue &value) const
bool GetAttributeFailSafe (std::string name, AttributeValue &attribute) const
void SetAttribute (std::string name, const AttributeValue &value)
bool SetAttributeFailSafe (std::string name, const AttributeValue &value)
bool TraceConnect (std::string name, std::string context, const CallbackBase &cb)
bool TraceConnectWithoutContext (std::string name, const CallbackBase &cb)
bool TraceDisconnect (std::string name, std::string context, const CallbackBase &cb)
bool TraceDisconnectWithoutContext (std::string name, const CallbackBase &cb)

Static Public Member Functions

static TypeId GetTypeId (void)
 This method returns the TypeId associated to ns3::SteadyStateRandomWaypointMobilityModel.

Protected Member Functions

virtual void DoStart (void)
- Protected Member Functions inherited from ns3::MobilityModel
void NotifyCourseChange (void) const
- Protected Member Functions inherited from ns3::Object
 Object (const Object &o)
virtual void DoDispose (void)
virtual void NotifyNewAggregate (void)

Private Member Functions

void BeginWalk (void)
virtual int64_t DoAssignStreams (int64_t)
virtual Vector DoGetPosition (void) const
virtual Vector DoGetVelocity (void) const
virtual void DoSetPosition (const Vector &position)
void Start (void)
void SteadyStateBeginWalk (const Vector &destination)
void SteadyStateStart (void)

Private Attributes

bool alreadyStarted
EventId m_event
ConstantVelocityHelper m_helper
double m_maxPause
double m_maxSpeed
double m_maxX
double m_maxY
double m_minPause
double m_minSpeed
double m_minX
double m_minY
Ptr< UniformRandomVariablem_pause
Ptr
< RandomRectanglePositionAllocator
m_position
Ptr< UniformRandomVariablem_speed
Ptr< UniformRandomVariablem_u_r
Ptr< UniformRandomVariablem_x
Ptr< UniformRandomVariablem_x1_r
Ptr< UniformRandomVariablem_x2_r
Ptr< UniformRandomVariablem_y
Ptr< UniformRandomVariablem_y1_r
Ptr< UniformRandomVariablem_y2_r

Detailed Description

Steady-state random waypoint mobility model.

This model based on random waypoint mobility (RWM) model for case when speed, pause and position are uniformly distributed random variables. The difference is that the initial values of this parameters are not from uniform distribution but from stationary distribution of RWM model. The implementation of this model is 2d-specific and with nonzero nodes speeds.

Based on NS-2 implementation by Toilers Research Group – Colorado School of Mines (http://toilers.mines.edu). The papers related to this code are: W. Navidi and T. Camp, Stationary Distributions for the Random Waypoint Mobility Model, IEEE Transactions on Mobile Computing, vol. 3, no. 1, pp. 99-108, January-March 2004. W. Navidi, T. Camp, and N. Bauer, Improving the Accuracy of Random Waypoint Simulations Through Steady-State Initialization, Proceedings of the 15th International Conference on Modeling and Simulation (MS '04), pp. 319-326, March 2004.

Definition at line 52 of file steady-state-random-waypoint-mobility-model.h.

Constructor & Destructor Documentation

ns3::SteadyStateRandomWaypointMobilityModel::SteadyStateRandomWaypointMobilityModel ( )

Member Function Documentation

int64_t ns3::SteadyStateRandomWaypointMobilityModel::DoAssignStreams ( int64_t  stream)
privatevirtual
Vector ns3::SteadyStateRandomWaypointMobilityModel::DoGetPosition ( void  ) const
privatevirtual
Vector ns3::SteadyStateRandomWaypointMobilityModel::DoGetVelocity ( void  ) const
privatevirtual

Definition at line 272 of file steady-state-random-waypoint-mobility-model.cc.

References ns3::ConstantVelocityHelper::GetVelocity(), and m_helper.

+ Here is the call graph for this function:

void ns3::SteadyStateRandomWaypointMobilityModel::DoSetPosition ( const Vector position)
privatevirtual
void ns3::SteadyStateRandomWaypointMobilityModel::DoStart ( void  )
protectedvirtual

This method is called only once by Object::Start. If the user calls Object::Start multiple times, DoStart is called only the first time.

Subclasses are expected to override this method and chain up to their parent's implementation once they are done. It is safe to call GetObject and AggregateObject from within this method.

Reimplemented from ns3::Object.

Definition at line 96 of file steady-state-random-waypoint-mobility-model.cc.

References SteadyStateStart().

+ Here is the call graph for this function:

TypeId ns3::SteadyStateRandomWaypointMobilityModel::GetTypeId ( void  )
static

This method returns the TypeId associated to ns3::SteadyStateRandomWaypointMobilityModel.

This object is accessible through the following paths with Config::Set and Config::Connect:

  • /NodeList/[i]/$ns3::MobilityModel/$ns3::SteadyStateRandomWaypointMobilityModel

Attributes defined for this type:

  • MinSpeed: Minimum speed value, [m/s]
    • Set with class: ns3::DoubleValue
    • Underlying type: double -1.79769e+308:1.79769e+308
    • Initial value: 0.3
    • Flags: construct write read
  • MaxSpeed: Maximum speed value, [m/s]
    • Set with class: ns3::DoubleValue
    • Underlying type: double -1.79769e+308:1.79769e+308
    • Initial value: 0.7
    • Flags: construct write read
  • MinPause: Minimum pause value, [s]
    • Set with class: ns3::DoubleValue
    • Underlying type: double -1.79769e+308:1.79769e+308
    • Initial value: 0
    • Flags: construct write read
  • MaxPause: Maximum pause value, [s]
    • Set with class: ns3::DoubleValue
    • Underlying type: double -1.79769e+308:1.79769e+308
    • Initial value: 0
    • Flags: construct write read
  • MinX: Minimum X value of traveling region, [m]
    • Set with class: ns3::DoubleValue
    • Underlying type: double -1.79769e+308:1.79769e+308
    • Initial value: 1
    • Flags: construct write read
  • MaxX: Maximum X value of traveling region, [m]
    • Set with class: ns3::DoubleValue
    • Underlying type: double -1.79769e+308:1.79769e+308
    • Initial value: 1
    • Flags: construct write read
  • MinY: Minimum Y value of traveling region, [m]
    • Set with class: ns3::DoubleValue
    • Underlying type: double -1.79769e+308:1.79769e+308
    • Initial value: 1
    • Flags: construct write read
  • MaxY: Maximum Y value of traveling region, [m]
    • Set with class: ns3::DoubleValue
    • Underlying type: double -1.79769e+308:1.79769e+308
    • Initial value: 1
    • Flags: construct write read

Attributes defined in parent class ns3::MobilityModel:

  • Position: The current position of the mobility model.
  • Velocity: The current velocity of the mobility model.

No TraceSources defined for this type.
TraceSources defined in parent class ns3::MobilityModel:

  • CourseChange: The value of the position and/or velocity vector changed

Reimplemented from ns3::MobilityModel.

Definition at line 31 of file steady-state-random-waypoint-mobility-model.cc.

References m_maxPause, m_maxSpeed, m_maxX, m_maxY, m_minPause, m_minSpeed, m_minX, m_minY, and ns3::TypeId::SetParent().

+ Here is the call graph for this function:

void ns3::SteadyStateRandomWaypointMobilityModel::Start ( void  )
private

Member Data Documentation

bool ns3::SteadyStateRandomWaypointMobilityModel::alreadyStarted
private
EventId ns3::SteadyStateRandomWaypointMobilityModel::m_event
private
ConstantVelocityHelper ns3::SteadyStateRandomWaypointMobilityModel::m_helper
private
double ns3::SteadyStateRandomWaypointMobilityModel::m_maxPause
private

Definition at line 79 of file steady-state-random-waypoint-mobility-model.h.

Referenced by GetTypeId(), and SteadyStateStart().

double ns3::SteadyStateRandomWaypointMobilityModel::m_maxSpeed
private
double ns3::SteadyStateRandomWaypointMobilityModel::m_maxX
private
double ns3::SteadyStateRandomWaypointMobilityModel::m_maxY
private
double ns3::SteadyStateRandomWaypointMobilityModel::m_minPause
private

Definition at line 78 of file steady-state-random-waypoint-mobility-model.h.

Referenced by GetTypeId(), and SteadyStateStart().

double ns3::SteadyStateRandomWaypointMobilityModel::m_minSpeed
private
double ns3::SteadyStateRandomWaypointMobilityModel::m_minX
private
double ns3::SteadyStateRandomWaypointMobilityModel::m_minY
private
Ptr<UniformRandomVariable> ns3::SteadyStateRandomWaypointMobilityModel::m_pause
private
Ptr<RandomRectanglePositionAllocator> ns3::SteadyStateRandomWaypointMobilityModel::m_position
private
Ptr<UniformRandomVariable> ns3::SteadyStateRandomWaypointMobilityModel::m_speed
private
Ptr<UniformRandomVariable> ns3::SteadyStateRandomWaypointMobilityModel::m_u_r
private
Ptr<UniformRandomVariable> ns3::SteadyStateRandomWaypointMobilityModel::m_x
private
Ptr<UniformRandomVariable> ns3::SteadyStateRandomWaypointMobilityModel::m_x1_r
private
Ptr<UniformRandomVariable> ns3::SteadyStateRandomWaypointMobilityModel::m_x2_r
private
Ptr<UniformRandomVariable> ns3::SteadyStateRandomWaypointMobilityModel::m_y
private
Ptr<UniformRandomVariable> ns3::SteadyStateRandomWaypointMobilityModel::m_y1_r
private
Ptr<UniformRandomVariable> ns3::SteadyStateRandomWaypointMobilityModel::m_y2_r
private

The documentation for this class was generated from the following files: