DOWNLOAD
6435 Hits
Created on  03/31/2005 14:58
This release contains several bugfixes since 3.0, as well as new features and new example simulations. To see a detailed list of problems fixed, check the ChangeLog files in the various source directories. Thanks all of you who have discovered and reported the problems.

A brief list of enhancements since version 3.0:

Real-time/hybrid simulation:

- Real-time simulation has been implemented, and it is demonstrated by the "Dyna/Real Time" sample simulation.

- An example for hybrid (hardware-in-the-loop) simulation is now provided, which is the "Sockets" sample simulation. It uses TCP sockets to communicate with the outside world -- in real-life applications this will probably need to be replaced with some other means of communication.

- In relation to the above: new methods got added to the cScheduler interface.

For Windows:

- Debug info (*.pdb) files have been included in the installer, so one can now single-step into the simulation kernel and user interface library sources while debugging.

Simulation library:

- New utility class: cStringTokenizer. It splits strings to "tokens" along given separator characters (by default spaces).

- Changed the way scheduled events or pending messages are handled when their destination module gets deleted during runtime. Before, these messages were deleted by the cSimpleModule destructor, but this made it very long to clean up large models. Now, messages are not deleted in the destructor, but left in the FES -- they will be discarded in cSimulation::selectNextModule() when they're met.

- cDisplayString's getTagArg() method was modified to never return NULL; it returns "" instead when the requested tag is not in the display string.

Configuration:

- Ini file runs can be given descriptions, and they will be displayed in the Tkenv run selection dialog. Just add the description="some text" line under the [Run x] headings.

- New omnetpp.ini entry to help debugging: [General]/debug-on-errors= true/false. If turned on, runtime errors (such as scheduling a message into the past) will cause the program to break into the C++ debugger if one is running, or just-in-time debugging is enabled. This makes it possible to investigate the context of the error (stack frames, variables etc). It works by doing INT 3 (debugger interrupt) on Windows, and raise(SIGABRT) on Linux.

- Slight change in the rules of handling included ini files, NED list files and all filenames mentioned in them. All filenames are now understood as relative to the location of the file which contains the reference, rather than relative to the current working directory of the simulation. This change is not backwards compatible, but has been found not to affect any of the simulation frameworks already ported to 3.0.

Tkenv:

- Implemented the "t=<string>,<color>" display string tag for connections. It makes the given string to appear near the connection arrow.

- Tooltips can now be added to submodule icons, connection arrows and messages. The tooltip text has to be given in the "tt=<tooltip-string>" display string tag, and will be displayed if the mouse rests over the component for a while. Tooltips allows more info to be displayed than can be squeezed into the "t=" display string tag.

- Added support for -r <run-number> command-line option, which has the same effect as (but takes priority over) the [Tkenv]/default-run ini file entry.

Misc:

- opp_makemake, opp_nmakemake: implemented -X option (ignore subdirectory during recursive build)

- The -h command-line option is now understood by both Cmdenv and Tkenv, and handled in a consistent way

- The place/ icon directory was renamed to misc/ (Please update display strings containing "i=place/..")

- nedc got removed from the distribution

Known problem: OMNeT++ windows have no Maximize button under recent KDE versions. This is a known Tk+kwin problem which was fixed in Tk early 2004.