OMNetOMNet++++
By: Fatemeh SaremiBy: Fatemeh SaremiBy: Fatemeh SaremiBy: Fatemeh Saremi
Modeling and Analysis of Computer Networks CourseModeling and Analysis of Computer Networks Course
Prof. A. MovagharProf. A. Movaghar
Sharif University of TechnologySharif University of Technology
Computer Engineering DepartmentComputer Engineering Department
Spring Spring 20092009
OverviewOverview
� OMNeT++?
� Installation
� Simulation
ModelsModels
� TicToc
Tutorial
� NED, Tkenv,
GNED, Plove,
and Scalars
� AdHocSim 2
What is OMNeT++?What is OMNeT++?
� An object-oriented modular discrete event network
simulator
� traffic modeling of telecommunication networks
� protocol modeling
� modeling queuing networks � modeling queuing networks
� modeling multiprocessors and other distributed hardware
systems
� validating hardware architectures
� evaluating performance aspects of complex software
systems
� ... modeling any other system where the discrete event
approach is suitable. 3
The Simulation System The Simulation System --
ComponentsComponents� Simulation kernel
� Contains the code that manages the simulation
� Library
� Written in C++, compiled and put together to form a library� Written in C++, compiled and put together to form a library
� User interfaces
� Used in simulation execution, to facilitate debugging,
demonstration, or batch execution of simulations. There are
several user interfaces, written in C++, compiled and put
together into libraries
4
OMNetOMNet++++
� Portability
� Working on Windows and several Unix platforms
using various C++ compilers
5
Linux, Solaris and Linux, Solaris and
other Unixother Unix--like Systemslike Systems
� Download the source tgz archive (omnetpp-
<version>-src.tgz).
� Extract it into your home directory:� Extract it into your home directory:
(tar xvfz omnetpp-2.3-src.tgz )
� You'll find a Readme.Unix file in its doc/
subdirectory -- just follow the instructions
described there.
6
WindowsWindows
� You need to have NT4.0, Win2000 or XP.
Win95/98/ME won't work.
� Install OMNeT++ into a directory that doesn't
have space in its name, e.g. don't install in have space in its name, e.g. don't install in
under C:\Program files\ (Otherwise you'll have
problems with the makefiles.)
� Windows/Microsoft Visual C++ 6.0 or 7.0 (.NET)
� Windows/MSVC - building from sources
� Windows/Cygwin
� Windows/MinGW 7
Simulation Models Simulation Models
� An OMNeT++ model consists of the following parts:
� NED language topology description (.ned files) which describe the module structure with parameters, gates etc.
� Message definitions, we can define various message types and add data fields to them.and add data fields to them.
� OMNeT++ will translate message definitions into full-fledged C++ classes.
� Simple modules sources. They are C++ files, with .h/.cc suffix.
8
Simulation Simulation Models (Models (Cont.)Cont.)
� INET Framework
� AdHocSim
� Antnet
� Mobility Framework � Mobility Framework
� IPv6Suite
� VideoInterface
� Ethernet
� P2P Swarming Protocol Simulation
� Centralized Network model based on Hiperlan/2 9
Simulation Models (Cont.)Simulation Models (Cont.)
� SimSANs
� Queues
� SCSI Bus
� Personal Communication Services (PCS) � Personal Communication Services (PCS)
� File System Simulation
10
TicTocTicToc Tutorial for OMNeT++Tutorial for OMNeT++
� This short tutorial to OMNeT++ guides you
through an example of modeling and
simulation, showing you along the way some
of the commonly used OMNeT++ features.of the commonly used OMNeT++ features.
11
Steps for applicationSteps for application
� Create a working directory called tictoc.
� Describe your example network by creating a
topology file (*.ned).
12
ModulesModules
� Hierarchically nested modules
� The NED (NEtwork Description) Language
� Facilitates the modular description of a network
� Reuse in another network description
� Message passing
13
Modules: ExampleModules: Example
14
Steps for application (Cont.)Steps for application (Cont.)
� We now need to implement the functionality of the simple
module (*.cc).
15
TxcTxc11.cc (Cont.).cc (Cont.)
16
Steps for application (Cont.)Steps for application (Cont.)
� You have to create one omnetpp.ini that tells the simulation
program which network you want to simulate
17
Steps for application (Cont.)Steps for application (Cont.)
� We now create the Makefile which will help us to compile and
link our program to create the executable tictoc:
$ opp_makemake
� Compile and link our very first simulation by making
command: command:
$ make
� Once you complete the above steps, you launch the simulation
by issuing this command:
$ ./tictoc
18
TicTocTicToc
19
TkenvTkenv
� Tkenv is a portable graphical windowing user
interface.
� Tkenv supports interactive execution of the
simulation, tracing and debugging.
20
GNEDGNED
� Graphical editor for OMNeT++ models
21
PlovePlove
� A handy tool for plotting and analyzing OMNeT++
simulation results
22
PlovePlove (Cont.)(Cont.)
23
ScalarsScalars
� A handy tool for creating bar charts and x-y plots
from OMNeT++ output scalar files (omnetpp.sca by
default)
24
AdHocSimAdHocSim (Assignment)(Assignment)
25
LessmannLessmann, J., , J., JanacikJanacik, P., , P., LachevLachev, L., , L., OrfanusOrfanus, D., , D.,
“Comparative Study of Wireless Network Simulators”, “Comparative Study of Wireless Network Simulators”, Seventh International Conference on Networking, Seventh International Conference on Networking, 2008 2008 (IEEE (IEEE
ICN ICN 20082008))
26
27
ReferenceReference
� http://www.omnetpp.org/
� OMNet++ User Manual
� TicToc Tutorial for OMNet++
28
Thank you for your attention.Thank you for your attention.
Questions, Comments, …?
29
Top Related