User Manual, Developers Guide and API Documentation

wns::markovchain::MarkovDiscreteTime< T > Class Template Reference

Class to represent a Markov Discrete Time Process. More...

#include <markovchain/MarkovDiscreteTime.hpp>

Inheritance diagram for wns::markovchain::MarkovDiscreteTime< T >:

Inheritance graph
[legend]
Collaboration diagram for wns::markovchain::MarkovDiscreteTime< T >:

Collaboration graph
[legend]

List of all members.

Public Member Functions

double calculateNextState (int chainNumber)
 Calculates the next state and the next transition time for the chain chainNumber.
bool checkSum ()
 Checks if the matrix of probabilities given is correct.
 MarkovDiscreteTime (int _numberOfStates, int _numberOfChains, std::vector< T > states, TransitionMatrixType matrix, std::vector< int > startStates, simTimeType startTime, simTimeType slotTime, simTimeType stopTime)
 Creates a complete MarkovDiscreteTime.
 MarkovDiscreteTime (int _numberOfChains)
 Creates an empty MarkovDiscreteTime. parameter numberOfChains is required.
void setSlotTime (simTimeType _slotTime)
 setSlotTime
void setStartTime (simTimeType _startTime)
 setStartTime
void setStopTime (simTimeType _stopTime)
 setStopTime
void startEvents ()
 : first checks if the matrix is ok, then Sets the first Timeout
virtual void stateChangeNotification (const int &chainNumber)
 : stateChangeNotification
virtual void stopMarkovProcess ()
 stop the process (for all chains). No more state changes will happen.
std::string stringify (double x) const
 stringify: converts a double to a string
 ~MarkovDiscreteTime ()
 destructor

Protected Member Functions

virtual void calculateStateProbabilities ()
 determine the probability of each state.
virtual void onTimeout ()
 onTimeout:changes to the new state, sets the next Timeout

Protected Attributes

simTimeType slotTime
 : Slot Time
simTimeType startTime
 : Start Time
simTimeType stopTime
 : Stop Time

Friends

class MarkovDiscreteTimeTest


Detailed Description

template<class T>
class wns::markovchain::MarkovDiscreteTime< T >

Author:
Sara Gutierrez de Mesa(sgm@comnets.rwth-aachen.de)

Definition at line 50 of file MarkovDiscreteTime.hpp.


Constructor & Destructor Documentation

template<class T>
wns::markovchain::MarkovDiscreteTime< T >::MarkovDiscreteTime ( int  _numberOfChains  )  [inline]

Definition at line 59 of file MarkovDiscreteTime.hpp.

template<class T>
wns::markovchain::MarkovDiscreteTime< T >::MarkovDiscreteTime ( int  _numberOfStates,
int  _numberOfChains,
std::vector< T >  states,
TransitionMatrixType  matrix,
std::vector< int startStates,
simTimeType  startTime,
simTimeType  slotTime,
simTimeType  stopTime 
) [inline]

Definition at line 72 of file MarkovDiscreteTime.hpp.

template<class T>
wns::markovchain::MarkovDiscreteTime< T >::~MarkovDiscreteTime (  )  [inline]

Definition at line 91 of file MarkovDiscreteTime.hpp.


Member Function Documentation

template<class T>
double wns::markovchain::MarkovDiscreteTime< T >::calculateNextState ( int  chainNumber  )  [inline]

Definition at line 138 of file MarkovDiscreteTime.hpp.

template<class T>
virtual void wns::markovchain::MarkovDiscreteTime< T >::calculateStateProbabilities (  )  [inline, protected, virtual]

Discrete Time Markov Chain: In theory, these equations are solved for vectorN: 1) vectorN = vectorN * matrixT <=> 0 = vectorN * (matrixT - I) 2) vectorN * vector1 = 1 This is performed by doing a LU decomposition.

Reimplemented from wns::markovchain::MarkovBase< T >.

Reimplemented in wns::markovchain::MarkovDiscreteTimeTraffic.

Definition at line 279 of file MarkovDiscreteTime.hpp.

template<class T>
bool wns::markovchain::MarkovDiscreteTime< T >::checkSum (  )  [inline]

Definition at line 173 of file MarkovDiscreteTime.hpp.

template<class T>
virtual void wns::markovchain::MarkovDiscreteTime< T >::onTimeout (  )  [inline, protected, virtual]

Implements wns::events::CanTimeout.

Definition at line 349 of file MarkovDiscreteTime.hpp.

template<class T>
void wns::markovchain::MarkovDiscreteTime< T >::setSlotTime ( simTimeType  _slotTime  )  [inline]

Definition at line 99 of file MarkovDiscreteTime.hpp.

template<class T>
void wns::markovchain::MarkovDiscreteTime< T >::setStartTime ( simTimeType  _startTime  )  [inline]

Definition at line 108 of file MarkovDiscreteTime.hpp.

template<class T>
void wns::markovchain::MarkovDiscreteTime< T >::setStopTime ( simTimeType  _stopTime  )  [inline]

Definition at line 117 of file MarkovDiscreteTime.hpp.

template<class T>
void wns::markovchain::MarkovDiscreteTime< T >::startEvents (  )  [inline]

Definition at line 194 of file MarkovDiscreteTime.hpp.

template<class T>
virtual void wns::markovchain::MarkovDiscreteTime< T >::stateChangeNotification ( const int chainNumber  )  [inline, virtual]

Reimplemented in constanze::GeneratorARMA, and constanze::GeneratorDTMMPP.

Definition at line 242 of file MarkovDiscreteTime.hpp.

template<class T>
virtual void wns::markovchain::MarkovDiscreteTime< T >::stopMarkovProcess (  )  [inline, virtual]

Definition at line 255 of file MarkovDiscreteTime.hpp.

template<class T>
std::string wns::markovchain::MarkovDiscreteTime< T >::stringify ( double  x  )  const [inline]

Definition at line 126 of file MarkovDiscreteTime.hpp.


Friends And Related Function Documentation

template<class T>
friend class MarkovDiscreteTimeTest [friend]

Definition at line 264 of file MarkovDiscreteTime.hpp.


Member Data Documentation

template<class T>
simTimeType wns::markovchain::MarkovDiscreteTime< T >::slotTime [protected]

Definition at line 333 of file MarkovDiscreteTime.hpp.

template<class T>
simTimeType wns::markovchain::MarkovDiscreteTime< T >::startTime [protected]

Definition at line 338 of file MarkovDiscreteTime.hpp.

template<class T>
simTimeType wns::markovchain::MarkovDiscreteTime< T >::stopTime [protected]

Definition at line 343 of file MarkovDiscreteTime.hpp.


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

Generated on Sun May 27 03:33:00 2012 for openWNS by  doxygen 1.5.5