What's New in OMNEST 4.1
We are happy to announce the release of OMNEST 4.1. Changes to the simulation core include the introduction of a signals framework; signals-based result recording; declared statistics in NED files and their configurability in ini files; channel statistics; and many other improvements. There were also several refinements of the graphical runtime environment and Simulation IDE, and the documentation was completed with new items. Read on for details.
Simulation Core
A very brief summary of the changes and new features in the simulation core:
- introduction of a signals framework
- signals-based result recording
- declared statistics in NED files
- statistics configurability in ini files
- channel statistics
- countless other improvements (check the change log included with OMNEST)
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 in creating other wizards. It is possible to create 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
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.