Skip navigation.

Blu3c4t Journal

randomly blu3c4t's logs on the shell...

Installing OMNet++ on FreeBSD

For my final project, I need to work with a network simulator to simulate many network schemes scenario that I'll be analysis on my project report. So, as alternative to NS-2, I choose to install OMNet++ on my FreeBSD box although I need to upgrade its port version.

Generally, OMNeT++ is an object-oriented modular discrete event network simulation framework. It has a generic architecture, so it can be used in various problem domains :
  • modeling of wired and wireless communication networks
  • protocol modeling
  • modeling of queueing networks
  • modeling of multiprocessors and other distributed hardware systems
  • validating of hardware architectures
  • evaluating performance aspects of complex software systems
and in general, it can be used for the modeling and simulation of any system where the discrete event approach is suitable, and which can be conveniently mapped into entities communicating by exchanging messages.
OMNeT++ itself is not a simulator of anything concrete, but it rather provides infrastructure and tools for writing simulations. One of the fundamental ingredients of this infrastructure is a component architecture for simulation models. Models are assembled from reusable components termed modules. Well-written modules are truly reusable, and can be combined in various ways like LEGO blocks.
Modules can be connected with each other via gates (other systems would call them ports), and combined to form compound modules. The depth of module nesting is not limited. Modules communicate through message passing, where messages may carry arbitrary data structures. Modules can may messages along predefined paths via gates and connections, or directly to their destination; the latter is useful for wireless simulations, for example. Modules may have parameters, which can be used to customize module behaviour, and/or to parameterize the model's topology. Modules at the lowest level of the module hierarchy are called simple modules, and they encapsulate behaviour. Simple modules are programmed in C++, and make use of the simulation library.
And, because I'll install OMNet++ on obsolete FreeBSD 6.3 version, then I need to upgrade omnet's port on my system :
$ sudo portupgrade -R omnetpp
After that, we will compile and install OMNet++ via ports :
$ whereis omnetpp
omnetpp: /usr/ports/science/omnetpp
$ cd /usr/ports/science/omnetpp
$ sudo make && make install

Now, OMNet++ has installed on our system, so let's running it :
$ pwd
/usr/ports/science/omnetpp
$ cd work/omnetpp-3.3/samples
$ ./rundemo &

If it success to load demo then we'll se this window :

Now, I'll try to run/select Routing-Networks (fullgraph network with 17 nodes) demo simulation, then we'll see this window below (and try to click 'run' button) :

And this's the window simulation event logs which is very useful tool to control and collect logs information for network system analysis :

Ok, for now that's all I can say about simple installation of OMNet++, maybe next time I'll talk more advance things in OMNet++ simulations development.