OMNeT++
User Guide
Version 6.0
Copyright © 1992-2021, András Varga and OpenSim Ltd.
Build: 220310-133e55dc67
CONTENTS
1 Introduction 1
1.1 The Workbench . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Workspaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3 The Simulation Perspective . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.4 Configuring OMNeT++ Preferences . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.5 Creating OMNeT++ Projects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.6 Project References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.7 Getting Help . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2 Editing NED Files 7
2.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2 Opening Older NED Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.3 Creating New NED Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.4 Using the NED Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.5 Associated Views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3 Editing INI Files 21
3.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.2 Creating INI Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.3 Using the INI File Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.4 Associated Views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
4 Editing Message Files 31
4.1 Creating Message Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.2 The Message File Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
5 C++ Development 33
5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
5.2 Prerequisites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
5.3 Creating a C++ Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
5.4 Editing C++ Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
5.5 Building the Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
5.6 Configuring the Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
5.7 Project Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
5.8 Project Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
6 Launching and Debugging 55
6.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
6.2 Launch Configurations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
6.3 Running a Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
6.4 Batch Execution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
6.5 Debugging a Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
6.6 Just-in-Time Debugging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
6.7 Profiling a Simulation on Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
6.8 Controlling the Execution and Progress Reporting . . . . . . . . . . . . . . . . . . 63
i
7 The Qtenv Graphical Runtime Environment 67
7.1 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
7.2 Overview of the User Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
7.3 Using Qtenv . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
7.4 Using Qtenv with a Debugger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
7.5 Parts of the Qtenv UI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
7.6 Inspecting Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
7.7 The Preferences Dialog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
7.8 Qtenv and C++ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
7.9 Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
8 Sequence Charts 97
8.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
8.2 Creating an Eventlog File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
8.3 Sequence Chart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
8.4 Eventlog Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
8.5 Filter Dialog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
8.6 Other Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
8.7 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
9 Analyzing the Results 121
9.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
9.2 Creating Analysis Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
9.3 Opening Older Analysis Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
9.4 Using the Analysis Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
9.5 The Inputs Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
9.6 The Browse Data Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
9.7 The Charts Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
9.8 The Outline View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
9.9 Creating Charts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
9.10 Using Charts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
9.11 Customizing Charts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
9.12 Chart Programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
9.13 Custom Chart Templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
9.14 Under the Hood . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
10 NED Documentation Generator 149
10.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
11 Extending the IDE 153
11.1 Installing New Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
11.2 Adding New Wizards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
11.3 Project-Specific Extensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
ii
CHAPTER
ONE
INTRODUCTION
The OMNeT++ simulation IDE is based on the Eclipse platform and extends it with new ed-
itors, views, wizards, and other functionality. OMNeT++ adds functionality for creating and
configuring models (NED and INI files), performing batch executions and analyzing the sim-
ulation results, while Eclipse provides C++ editing, SVN/GIT integration and other optional
features (UML modeling, bug-tracker integration, database access, etc.) via various open-
source and commercial plug-ins. The environment will be instantly recognizable to those at
home with the Eclipse platform.
1.1 The Workbench
The Eclipse main window consists of various Views and Editors. These are collected into
Perspectives that define which Views and Editors are visible and how they are sized and
positioned.
Eclipse is a very flexible system. You can move, resize, hide and show various panels, editors
and navigators. This allows you to customize the IDE to your liking, but it also makes it more
difficult to describe. First, we need to make sure that we are looking at the same thing.
The OMNeT++ IDE provides a “Simulation perspective” to work with simulation-related NED,
INI and MSG files. To switch to the simulation perspective, select Window → Open Perspective
→ Simulation.
Fig. 1.1: Selecting the “Simulation Perspective” in Eclipse
Most interface elements within Eclipse are can be moved or docked freely so you can construct
your own workbench to fit your needs.
1
评论0