OMNeT⁠+⁠+ User Guide


Table of Contents

1. Introduction
The Workbench
Workspaces
The Simulation Perspective
Configuring OMNeT⁠+⁠+ Preferences
Creating OMNeT⁠+⁠+ Projects
Project References
Getting Help
2. Editing NED Files
Overview
Opening Older NED Files
Creating New NED Files
NED Source Folders
Using the NED Editor
Editing in Graphical Mode
Editing in Source Mode
Associated Views
Outline View
Property View
Palette View
Problems View
NED Inheritance View
Module Hierarchy View
Parameters View
3. Editing INI Files
Overview
Creating INI Files
Using the INI File Editor
Editing in Form Mode
Editing in Text Mode
Associated Views
Outline View
Problems View
Parameters View
Module Hierarchy View
NED Inheritance View
4. Editing Message Files
Creating Message Files
The Message File Editor
5. C⁠+⁠+ Development
Introduction
Prerequisites
Creating a C⁠+⁠+ Project
Editing C⁠+⁠+ Code
The C⁠+⁠+ Editor
Include Browser View
Outline View
Type Hierarchy View
Building the Project
Basics
Console View
Problems View
Configuring the Project
Configuring the Build Process
Managing Build Configurations
Configuring the Project Build System
Configuring Makefile Generation for a Folder
Project References and Makefile Generation
Project Features
Motivation
What is a Project Feature
The Project Features Dialog
What Happens When You Enable/Disable a Feature
Using Features from Command Line
The .oppfeatures File
How to Introduce a Project Feature
Project Files
6. Launching and Debugging
Introduction
Launch Configurations
Running a Simulation
Quick Run
The Run Configurations Dialog
Creating a Launch Configuration
Debug vs. Release Launch
Batch Execution
Debugging a Simulation
Starting a Debug Session
Using the Debugger
Pretty Printers
Just-in-Time Debugging
Profiling a Simulation on Linux
Controlling the Execution and Progress Reporting
7. The Qtenv Graphical Runtime Environment
Features
Overview of the User Interface
Using Qtenv
Starting Qtenv
Setting Up and Running the Simulation
Inspecting Simulation Objects
Using Qtenv with a Debugger
Parts of the Qtenv UI
The Status Bars
The Timeline
The Object Navigator
The Object Inspector
The Network Display
The Log Viewer
Inspecting Objects
Object Inspectors
Browsing the Registered Components
Querying Objects
The Preferences Dialog
General
Logs
Configuring the Layouting Algorithm
Configuring Animation
Timeline and Animation Filtering
Configuring Fonts
The .qtenvrc File
Qtenv and C⁠+⁠+
Inspectors
During Simulation
Reference
Command-Line Options
Environment Variables
Configuration Options
8. The Tkenv Graphical Runtime Environment
Features
Overview of the User Interface
Using Tkenv
Starting Tkenv
Setting Up and Running the Simulation
Inspecting Simulation Objects
Using Tkenv with a Debugger
Parts of the Tkenv UI
The Status Bar
The Timeline
The Object Navigator
The Object Inspector
The Network Display
The Log Viewer
Inspecting Objects
Object Inspectors
Browsing the Registered Components
Querying Objects
The Preferences Dialog
General
Configuring the Layouting Algorithm
Configuring Animation
Timeline and Animation Filtering
Configuring Fonts
The .tkenvrc File
Tkenv and C⁠+⁠+
Inspectors
During Simulation
Reference
Command-Line Options
Environment Variables
Configuration Options
9. Sequence Charts
Introduction
Creating an Eventlog File
Sequence Chart
Legend
Timeline
Zero Simulation Time Regions
Module Axes
Gutter
Events
Messages
Displaying Module State on Axes
Zooming
Navigation
Tooltips
Bookmarks
Associated Views
Filtering
Eventlog Table
Display Mode
Name Mode
Type Mode
Line Filter
Navigation
Selection
Searching
Bookmarks
Tooltips
Associated Views
Filtering
Filter Dialog
Range Filter
Module Filter
Message Filter
Tracing Causes/Consequences
Collection Limits
Long-Running Operations
Other Features
Settings
Large File Support
Viewing a Running Simulation's Results
Caveats
Examples
Tictoc
FIFO
Routing
Wireless
10. Analyzing the Results
Overview
Creating Analysis Files
Using the Analysis Editor
Input Files
Datasets
Charts
Associated Views
Outline View
Properties View
Output Vector View
Dataset View
11. NED Documentation Generator
Overview
12. Extending the IDE
Installing New Features
Adding New Wizards
Project-Specific Extensions
A. Specification of the 'Compute Scalars' operation
Expressions
Computing Scalars

List of Figures

1.1. Selecting the "Simulation Perspective" in Eclipse
1.2. Default layout of the OMNeT⁠+⁠+ IDE
1.3. Configuring OMNeT⁠+⁠+ preferences
1.4. Creating a new OMNeT⁠+⁠+ project
1.5. Setting project dependencies
2.1. Creating a new NED file
2.2. Specifying which folder will hold your NED files
2.3. Graphical NED Editor
2.4. Editing Visual Properties
2.5. Editing Module Parameters
2.6. NED Source Editor
2.7. NED Source Editor with content assist activated
2.8. Outline View
2.9. Properties View
2.10. Problems View
2.11. NED Inheritance View
2.12. Module Hierarchy View
2.13. Outline View
3.1. New Initialization File dialog
3.2. Editing INI file sections
3.3. Creating a new INI file section
3.4. Editing module parameters
3.5. Add missing module parameters dialog
3.6. Editing general configuration
3.7. Editing the INI file in text mode
3.8. Content assist in source mode
3.9. Outline View showing the content of an INI file
3.10. Parameters View
3.11. Module Hierarchy View
4.1. Creating a new MSG file
4.2. Message File Editor
5.1. Creating an OMNeT⁠+⁠+ project
5.2. Setting project name and enabling C⁠+⁠+ support
5.3. Selecting a project template
5.4. Selecting a toolchain
5.5. Selecting configurations
5.6. C⁠+⁠+ source editor
5.7. Include Browser
5.8. Navigating with Outline View
5.9. C⁠+⁠+ Type hierarchy
5.10. Building a project
5.11. Activating a build configuration
5.12. Build output in a console
5.13. C⁠+⁠+ problems
5.14. Configuring Makefiles
5.15. Target definition
5.16. Scope of makefile
5.17. Compiler options
5.18. Linker options
5.19. The Project Features page
6.1. One way of opening the Run Configurations dialog
6.2. The Simulation Launcher
6.3. Iteration variable in the INI file
6.4. Iteration loop expansion in a tooltip
6.5. Debug View
6.6. Displaying the output of a simulation process in Console View
6.7. Progress report on four parallel processes
7.1. The main window of Qtenv
7.2. Setting Up a New Simulation
7.3. The File menu
7.4. The Simulate menu
7.5. The Run Until dialog
7.6. A floating inspector window
7.7. The Inspect menu
7.8. The top status bar
7.9. The top status bar during Fast or Express run
7.10. The bottom status bar
7.11. The timeline
7.12. The object tree
7.13. The object inspector in Grouped mode
7.14. The object inspector in Flat mode
7.15. The object inspector in Children mode
7.16. The object inspector in Inheritance mode
7.17. The network display
7.18. Figure filtering dialog
7.19. The network display in 3D mode
7.20. Submodule context menu
7.21. The Utilities submenu
7.22. The log viewer showing message traffic
7.23. The log viewer showing module log
7.24. The log filter dialog
7.25. Qtenv with several floating inspectors open
7.26. The Inspect menu
7.27. Using the Find/Inspect Objects dialog for finding long queues
7.28. General settings
7.29. Logging settings
7.30. Layouting settings
7.31. Animation settings
7.32. Filtering
7.33. Font selection
8.1. The main window of Tkenv
8.2. Setting Up a New Simulation
8.3. The File menu
8.4. The Simulate menu
8.5. The Run Until dialog
8.6. A floating inspector window
8.7. The Inspect menu
8.8. The status bar
8.9. The status bar during Fast or Express run
8.10. The timeline
8.11. The object tree
8.12. The object inspector
8.13. The object inspector
8.14. The network display
8.15. Submodule context menu
8.16. The Utilities submenu
8.17. The log viewer showing message traffic
8.18. The log viewer showing module log
8.19. The log filter dialog
8.20. Tkenv with several floating inspectors open
8.21. Graphical inspector for cOutVector object
8.22. Graphical for a histogram object
8.23. The Inspect menu
8.24. Using the Find/Inspect Objects dialog for finding long queues
8.25. General settings
8.26. Layouting settings
8.27. Animation settings
8.28. Filtering
8.29. Font selection
9.1. INI file eventlog configuration
9.2. Nonlinear simulation time
9.3. Gutter and range
9.4. Various event kinds
9.5. Split arrows
9.6. Axis with state information displayed
9.7. Event tooltip
9.8. Zigzag arrows
9.9. Raw notation
9.10. Descriptive notation
9.11. Navigation context menu
9.12. A bookmark
9.13. A message send tooltip
9.14. Filter Dialog
9.15. Tictoc with two nodes
9.16. Tictoc with six nodes
9.17. Filtering for node '0' and '3'
9.18. The FIFO example
9.19. Showing reuse messages
9.20. Filtering the queue
9.21. Network with 10 nodes
9.22. Filtering for nodes
9.23. Message detail tooltip
9.24. The beginning
9.25. Discovering the MAC address
9.26. The second ping procedure
9.27. Ping messages get lost
10.1. New Analysis File dialog
10.2. Specifying input files for data analysis
10.3. Browsing vector and scalar data generated by the simulation
10.4. Defining datasets to be analyzed
10.5. Edit 'Compute Scalars' dialog
10.6. Chart Sheet page with three charts
10.7. Bar chart
10.8. Dialog page for bar chart content
10.9. Line chart
10.10. Histogram chart
10.11. A scatter chart
10.12. A scatter chart
10.13. Outline View of the analysis
10.14. Properties View showing chart properties
10.15. Output Vector View
10.16.
10.17. Dataset View
11.1. Configuring project-specific settings
11.2. Opening the NED documentation generator
11.3. Configuring the NED documentation generator
11.4. Generating NED documentation in progress
11.5. The resulting NED documentation
11.6. NED usage diagram
11.7. NED assignable parameters

List of Tables

3.1. Legend of Icons Before Sections
3.2. Legend of icons before module parameters
10.1. Processing operations
10.2. Common chart properties
10.3. Bar chart properties
10.4. Line chart properties
10.5. Histogram chart properties
10.6. Scatter chart properties