What's New in the OMNeT++/OMNEST 4.2 IDE

Platform

Updated Eclipse Platform

The IDE is now based on Eclipse 3.7.1 and CDT 8.0.1. (Click on the links to review the changes in Eclipse and CDT.)

Eclipse Marketplace

You can use the Eclipse Marketplace to install additional features into the IDE by selecting Help | Eclipse Marketplace...

NED Editor

Error Markers on Connections

Connections with an error are now annotated with a marker in the graphical editor.

Package Names in Graphical Editor

The graphical editor now displays the package name at the top of the canvas.

Visible Self-connections

Connections that start and end at the same module are now represented by arcs in the top-right corner of the module. Previously, self-connections were represented only by a small arrow head.

Rearranged Context Menu

The context menu in the graphical editor has been rearranged to increase its usability.

Changing the Visual Appearance of the Modules

A new Properties dialog has been introduced that lets you change the name, type, vector size and visual appearance of modules and channels. The dialog is accessible from the context menu or by pressing Ctrl-Enter after selecting an item or several items together.

Changing Module Type and Vector Index

The 'General' tab in the properties dialog allows you to change the name, vector size and type of a module.

Enhanced Type Selection Dialog

The Open NED Type dialog now shows you the project name where the opened type is defined. This is especially useful if you are working with multiple open projects.

Excluding NED Packages

The IDE now allows you to exclude specific NED packages from the NED path. NED files in those packages will not generate errors and they cannot be edited in the NED editor. This feature is useful for disabling certain parts of your project.

C++ Development

Clean Local Project Only

The new 'Clean Local' action on the project context menu allows you to clean only the selected project without invoking the 'Clean' action on referenced projects. This is useful if your project references a third party project (e.g. the INET Framework) and you want to clean only your own project, but not the third party one.

Partition your Project into Features

The IDE now allows you to partition your projects into smaller parts called 'Features'. Features can depend on each other and can be enabled/disabled independently. The IDE handles the C++ source and NED package exlusion/inclusion automatically, based on your feature selection. Features can also define macros which will be passed to the compiler, so it is possible to write conditional code that depends on the enablement of certain features. This is especially useful for large projects like the INET Framework. See the User Guide for further details.

INI Editor

Rearranged INI Editor Pages

The pages in the form based INI editor have been rearranged for better usability.

Launcher

Getting the Command Line

The IDE launcher now prints out the command line to the console before starting your simulation. You can use this information to start your simulation from the command prompt.

Profiling with Valgrind

On Linux systems, the IDE now allows you to start and profile your program using 'valgrind'. This allows you to detect memory errors and other programming mistakes. This feature is available only on Linux systems where valgrind is installed.

Sequence Chart

Enhanced Navigation

The context menu now contains additional actions to move to a certain simulation event or simulation time.







What's New in the OMNeT++/OMNEST 4.1 IDE

NED Editor

New Eclipse Platform

The IDE is now based on Eclipse 3.5.2 and CDT 6.0.2.

Manual Palette Filtering

Palette items in NED editor can be filtered with a substring search.

Adaptive Palette Ordering

Submodule types that are related to the currently used compound module and its submodules are displayed first in the NED editor palette. Submodules that are already used in the compound module are placed at the top. The @labels properties on the gates are also used to decide which other submodules can be connected to the current ones.

Connection Chooser Enhancements

When two modules are connected with a connection, the editor tries to guess which gates must be connected, based on @labels gate properties.

Connection Rendering Enhancements

Multiple and conditional connections can now be visually distinguished in the graphical editor.

New Parameter Editor Dialog

A parameter editor dialog has been added for channel and module parameters. It can be accessed using the context menu of the submodule or connection.

Content Assist for Connections

Content assist is now supported for connection parameters (delay, datarate etc.).

Content Assist for Icons

Content assist is available for icons by pressing Ctrl+Space inside a display string.

Content Assist for Colors

Content assist is available for colors by pressing Ctrl+Space inside a display string.

Content Assist for Statistics

Content assist is available for statistics by pressing Ctrl+Space inside a @statistic property definition.

Support for @dynamic Property

Modules can be tagged with the @dynamic property. Dynamic modules are handled exactly the same way as normal modules (i.e. content assist, validation and parameter lookup is working correctly), except that the simulation kernel does not instantiate them automatically during network setup. Dynamic modules are displayed as semi-transparent in the NED editor.

INI Editor

Enhanced Content Assist in Ini Files

Content assist is now available for ini parameters and configuration options. For parameter values, content assist also offers the list of NED functions.

Channel Parameters in Ini Files

Channel parameters can be set in ini files, too, using the **.channel.parametername = syntax.

Statistics Configuration from Ini File

Statistics can be configured in an ini file. Content assist is available for statistics-related options.

Module Hierarchy view

Statistics and Signals in Module Hierarchy

In addition to parameters, the Module Hierarchy view now also displays the @statistic and @signal properties of the modules.

Launcher

Better Error Checking

The simulation launcher now checks for errors in open projects before starting a simulation, and warns if there are any.

Sequence Chart

Attach Vectors to Sequence Charts

Attaching vectors to a Sequence Chart is more intuitive now.

Show Related Vectors Only

After choosing a vector file, the IDE only offers the vectors related to the selected module axis.

Method Calls on Sequence Charts

Direct method calls can be shown in the sequence chart. Method calls are not displayed automatically, but can be turned on on the toolbar or in the sequence chart context menu.

Result Analysis

New Tree View in Browse Data

An "All" tab has been added to the Browse Data page, showing all simulation results in a tree. The tree can be configured freely to group the data several in different ways. Use the context menu to configure the levels in the tree view.

Redesigned Filter

The filter interface on the Browse Data page has been reorganized to provide more space. Fields are also resizable by dragging the separators.

Properties for Dataset Nodes

Property View for nodes on the Dataset page.

Properties for Data Items

Property View for the data items on the Browse Data page

Chart Sheet Columns

The number of chart columns can be set for a Chart Sheet.

Separate Horizontal and Vertical Zoom

Separate horizontal and vertical zoom actions are available on the toolbar and in the context menu. The context menu has been reorganized for better usability.

Charts on Sheet Fill the Window

Charts in a Chart Sheet fill the window horizontally. The minimum chart width is also configurable.

Chart SVG Export 1

Charts can be exported in SVG format from the Dataset page's context menu.

Chart SVG Export 2

Charts can be exported in SVG format from the chart context menu.

Editable Chart Line Titles

Line titles on charts are editable now.

Wizards

Add Your Own Wizards to the IDE

New wizards can be contributed by open projects. (In the screenshot, the "New Queueing Model" wizard was contributed by the "queueinglib" sample project.)

Custom Wizard Pages

Wizards contributed by projects may contain their own custom wizard pages.

Topology Generation using Wizards

The IDE also contributes several generic topology generator wizards.

Custom Page for each Topology Generator

Each topology generator has its own wizard page for configuration.

Topology Import

Importing a topology from an external file is also possible.

Wizard Wizards

There are several wizards that help creating other wizards. It is possible to create a wizards based on an already existing simulation directory, or based on an other wizard. Example wizards are also provided to help you quickly create your first wizard...

New Wizard from an Existing One

New wizards can be created by either copying and modifying an existing similar one or by generating some example code.

New Wizards by Specifying their Widgets

New wizards can be created by including some specific widgets as a starting point...

New Wizards by Specifying their Variables

New wizards can be created by textually specifying their input variables and the associated widget types.

Wizard Cloning

Existing wizards can be cloned and used as a starting point.

Wizard Page Editor

The wizard page (XSWT) editor and preview are available by double-clicking on XSWT files.

Wizard Template Editor

Template editor with syntax highlight and content assist support is available to help you author new wizard content templates.

Extending the IDE

Automatic Plugin Activation

The IDE now automatically discovers and activates all Eclipse plug-ins in a project's "plugins" folder. This feature allows you to distribute IDE extensions together with your project, and they will be automatically loaded and activated when your users open the project.