OMNeT++ is an extensible, modular, component-based C++ simulation library and framework, primarily for building network simulators. OMNeT++ provides infrastructure for parallel distributed simulation.
Core components of OMNET++:
- Compound module.
- Channel.
- Gate.
- Simple module.
- Links.
Simulation class libraries in OMNET++:
- Refection support for C++.
- User interface (GUI can even change the variable on-the-fly, cmd UI support batch execution).
- Statistic and distribution estimation class.
- Message, packet.
- Container classes for xample array, queue.
- Data collection classes.
- Transient detection and result accuracy detection classes.
- Module, gate, parameter, channel.
Sample code for OMNET++:
This is the sample code of how to define simple module.
simple Queue
{
parameters:
int capacity;
@class (mylib:Queue);
@display(“i=block/queue”);
gates;
input in;
outpu out;
}
Simple BoundedQueue extends Queue
{
capacity =10;
}
Simple PriorityQueue extends Queue
{
@class(PriorityQueue);
}