MarkovClassifier¶
Package: inet.queueing.classifier
simple module MarkovClassifier
Implements a packet classifier using a Markov process that has as many states as output gates the classifier has. The output gate for a given packet is determined by the current state of the Markov process.
Inheritance diagram¶
Extends¶
Name |
Type |
Description |
|---|---|---|
simple module |
Base module for various packet classifier modules. Derived modules must implement a single packet classifier function which determines the index of the output gate for the next pushed packet. |
Parameters¶
Name |
Type |
Default value |
Description |
|---|---|---|---|
displayStringTextFormat |
string |
“classified %p pk (%l)\ncurrent state: %s” |
Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information |
reverseOrder |
bool |
false |
|
clockModule |
string |
“” |
Relative path of a module that implements IClock(1,:ref:2 <neddoc-msg-inet-iclock>); optional |
initialState |
int |
0 |
The index of the start state of the Markov process |
transitionProbabilities |
string |
The transition matrix (N x N) of the Markov process, specified as a list of probabilities |
|
waitIntervals |
string |
The amount of time the Markov process stays in a given state, a list of intervals (N) indexed by the state |
Properties¶
Name |
Value |
Description |
|---|---|---|
class |
MarkovClassifier |
|
display |
i=block/classifier |
Gates¶
Name |
Direction |
Size |
Description |
|---|---|---|---|
in |
input |
||
out [ ] |
output |
Signals¶
Name |
Type |
Unit |
Description |
|---|---|---|---|
packetPushed |
Statistics¶
Name |
Title |
Source |
Record |
Unit |
Interpolation Mode |
Description |
|---|---|---|---|---|---|---|
dataRate |
data rate |
throughput(packetPushed) |
vector |
bps |
linear |
the statistical value is the data rate of the classified packets |
packetLengths |
packet lengths |
packetLength(packetPushed) |
sum,histogram,vector |
b |
none |
the statistical value is the length of the classified packet |
packets |
packets |
packetPushed |
count |
pk |
the statistical value is the classified packet |
Source code¶
//
// Implements a packet classifier using a Markov process that has
// as many states as output gates the classifier has. The output gate for
// a given packet is determined by the current state of the Markov process.
//
simple MarkovClassifier extends PacketClassifierBase like IPacketClassifier
{
parameters:
displayStringTextFormat = default("classified %p pk (%l)\ncurrent state: %s");
string clockModule = default(""); // Relative path of a module that implements IClock; optional
int initialState = default(0); // The index of the start state of the Markov process
string transitionProbabilities; // The transition matrix (N x N) of the Markov process, specified as a list of probabilities
string waitIntervals; // The amount of time the Markov process stays in a given state, a list of intervals (N) indexed by the state
@class(MarkovClassifier);
}