-
Notifications
You must be signed in to change notification settings - Fork 147
/
WhatsNew
428 lines (313 loc) · 18.7 KB
/
WhatsNew
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
What's New
==========
In the OMNeT++ 2.1 (May 2001)
-----------------------------
This release is devoted to making OMNeT++ easier to install, easier
to use and easier to learn. Most important, there is now a binary package
for Windows. The install package comes with Tcl/Tk, Gnuplot and some
Unix utilities (grep, awk) bundled, and in addition to the OMNeT++ programs
and libraries compiled with MSVC, it also contains prebuilt executables
of the sample simulations. To shorten the learning curve, the package
contains Nick van Foreest's Queueing Tutorial. Some MSVC integration stuff
(AppWizard, macro to add a NED file to the project) was also added.
Changes in the source distribution: it now includes the Tutorial and
the sources of the MSVC integration components. To facilitate creating
binary distributions, omnetpp.h and the other simulation kernel headers
have been moved out of src/sim/, to a new include/ directory. There was no
change on the simulation kernel itself.
Further enhancements: Plove can now be built as a single executable with
compiled-in Tcl code; on Windows, Plove and GNED can now be compiled as GUI
apps (using WinMain() instead of main()). I added makefiles for Win95/98/ME
(although I couldn't test them). Borland C++ is no longer supported:
I removed the old project files (*.ide), but added back (unsupported)
Makefile.bc's.
In the OMNeT++ 2.0 patch 1 (March 2001)
---------------------------------------
Fixes build issues with Cygwin, PVM, and static libs under Unix.
In the OMNeT++ 2.0 final version (February 2001)
------------------------------------------------
There are a number of enhancements mainly on the GUI parts, GNED and Tkenv,
but the simulation API remains fully compatible. Bugs that were reported
since the 2.0b5 release have largely been fixed. All those who cared to
report bugs and suggested features -- thanks!
In cQueue, a number of methods were made virtual to enable customizing the
class (e.g. adding statistics for maintaining average queue length, etc.).
Some bugfixes on cQueue, cArray and cBag. I also added the OMNETPP_VERSION
symbol to the sim header files (currently #defined as 0x0200).
Tkenv was enhanced quite a bit. Now you can now open module output windows for
all modules (not only for simple modules), and the window will accumulate
ev<< output from that module and all submodules. (This feature is especially
useful for tracing dynamically created modules). Now you can search for text
in all module windows (^F Find, F3/^N Find next). Hotkeys were assigned to the
run commands too (F4 Step, F5 Run, F6 Fast, F7 Express, F8 Stop), and the
behaviour of the "step within module" command (^F4) was refined. I added a
Performance status bar (it displays events/sec, simulated sec/sec,
events/simulated sec readings). Another toolbar shows (among others) the number
of message objects currently in existence -- this feature may help you discover
the most common kind of memory leaks: forgetting to delete messages.
Display string handling was improved: modules in a module vector may now be
positioned individually, and submodule display strings may use the parent
module's parameters, too. See src/tkenv/ChangeLog for details.
The most important addition to GNED is its new, experimental XML support (needs
the TclXML-1.2 package). XML will play a much more significant role in future
releases of OMNeT++, as a universal data exchange format. Many smaller
enhancements: GNED now accepts NED file names as command line arguments;
.gnedrc was introduced; more & better Properties dialogs (Channel, Connection,
Module, etc. Properties); GNED is more careful now when you want to exit the
program; the File menu now has a Save all item. Plus a number of other fixes
to improve the robustness and reliability of the code.
A short section was added to the manual about parallel simulation in general.
In the OMNeT++ 2.0 beta 5 version (June 2000)
---------------------------------------------
Fixed the errors/warnings that occurred when compiling 2.0b4 with gcc 2.95.2.
In the OMNeT++ 2.0 beta 4 version (May 2000)
--------------------------------------------
This is release is a preparation to the 2.0 final release: most of the changes
improve on the ISO compliance, cleanliness, portability or quality of the code
and fix bugs, but there are a number of new features too.
Steps toward better ISO compliance: the source was made 'const char *'-correct,
and the TRUE/FALSE #defines were replaced by the true/false C++ keywords.
Also, nearly all '-Wall' gcc warnings were eliminated from the source.
Now it is possible to create DLLs from the libraries on Windows. This wasn't
as easy as I thought, because there are fundamental conceptual differences
between Windows DLLs and Unix shared objects. (For me it seems like the Unix
approach is a lot more flexible.) The MSVC makefiles were further refined
using a contribution from Balazs Kelemen.
Improvements on the simulation library: Multi-stage module initialization
support via cModule's initialize(int stage) and int numInitStages() functions.
The send...() functions now have versions which take cGate* pointers.
sum() and sqrSum() members added to the statistics classes (cStdDev and
subclasses); isNumeric() member added to cPar; remove(cObject *) added to
cArray. Also, three functions were added to cModule to facilitate navigating
the module hierarchy: int findSubmodule(...), cModule *submodule(...) and
cModule *moduleByRelativePath(...).
New Cmdenv/Tkenv features: you may link more than one user interfaces into the
simulation executable, and you can select one at runtime with the
[General]/user-interface=Tkenv (or =Cmdenv) ini file option or the -u Tkenv
(or -u Cmdenv) command-line argument to the simulation executable.
The per-module extra stack size needed by the user interface libraries
can now be configured from the ini file: [Cmdenv]/extra-stack= and
[Tkenv]/extra-stack= options.
The setDisplayString() sim.library functions are now properly handled by Tkenv,
so you can change the network graphics at runtime. Module parameters in display
strings (e.g. in "p=$xpos,$ypos;i=router") are also implemented finally.
However, implementing the message appearance customization feature (message
display strings) was left for next releases.
In NEDC (and GNED), fixed the ?: operator and changed its precedence to bind
looser than || and &&. Changed nedc-generated code to suppress warnings about
unused variables (which are normal anyway in machine-generated code); this
could only be done for MSVC and Borland C++ because gcc seems to lack such a
pragma.
Unfortunately I didn't get a chance to further refine GNED. It would really
help to have contributors to GNED development, so if you're interested, please
write! (Basically only Tcl/Tk programming is required [no need to touch the
C++ part], and I could give any support needed.)
Makefiles change: the 'install-local' target was eliminated: the new-built
libraries and programs are immediately copied to the lib/ and bin/ subdirs.
Several other smaller changes like fixed PVM execution; improved error
handling, bugfix related to wrong transmissionFinishes() behavior, etc; see the
sim/ChangeLog file.
In the OMNeT++ 2.0 beta 3 version (Jan 2000)
--------------------------------------------
License change: you can now elect to use GPL for the whole OMNeT++ package.
Compiling with MSVC is now supported. Makefile.vc files have been added for
system components, and project files for sample simulatons. No DLL support yet.
MSVC support required a number or small changes in the sources too.
The documentation was significantly expanded and reorganized. RefMan got merged
into the User Manual, and the new User Manual now contains a lot of background
information, new hints and techniques, references to other simulation packages,
etc. New sections include in-depth analyis of handleMessage() and activity(),
and a comparison with Parsec.
GNED has been further enhanced: you can create submodules by dragging a module
type from the tree view to the canvas; submodule names can be edited in-place;
there are dialogs to edit submodule, connection, channel, etc. specifications
directly.
A new sample called Demo was added which works as a GUI shell to the other
sample simulations, and also demonstrates how you can link several simulation
models into a single executable. The other samples were cleaned up a bit too
(e.g. indentation & commenting made more consistent).
Some API changes were made to improve the clarity of the code. See API_CHANGES
in the doc/ directory.
TVEnv was removed from the distribution.
In the OMNeT++ 2.0 beta 1 and 2 versions (Sep,Nov 1999)
-------------------------------------------------------
License conditions have been alleviated: from this release on, one can elect
to use GPL for the base components of OMNeT++.
The configure script has been replaced by GNU Autoconf. The makefiles have been
brushed up (more standard symbol names, autodepend, version number in lib names,
etc). Cygwin is now fully supported. DOS+BC3.1 support has been removed for
lack of interest. File names longer than 8+3 are now used within the package.
Most of the effort since the last release was put into GNED. As a result,
GNED can now directly read/write NED files, so you can use it to work on your
existing NED sources. Moreover, GNED is now a fully two-way tool: you can edit
compound modules in graphic or in NED source form, and switch to the other view
any time. The GUI has been improved too: toolbar icons, tooltips, NED syntax
highlight. GNED is still in beta and there's some missing functionality.
Tkenv's user interface has also undergone some beautifying and bugfixing:
now it has toolbar icons, tooltips, etc.
OMNETPP_BITMAP_PATH can now contain a list of directories; it includes "." and
"./bitmaps" by default, so individual simulation models can have their own
icons in their own directories.
Smaller enhancements were made to the simulation library. Some of them are:
dynamic simple modules can now be created and booted in one step by using
cModuleType's createScheduleInit() function; callInitialize() and callFinish()
was added to the module classes (for compound modules they work recursively);
behavior of cancelEvent() slightly changed. cMessage now has isScheduled()
and isSelfMessage() member functions; a "context pointer" was also added to
cMessage to facilitate writing modules which use a large number of self
messages concurrently.
See the ChangeLog in the directory of the individual components for details
on what has been changed/fixed/improved.
Contributions have been added. They include NED syntax highlight for Emacs,
and recipes and sample code to use Octave with OMNeT++.
Which is less visible to you, the development has moved to use CVS.
In version of Feb, 1999 (OMNeT++ 1.1)
-------------------------------------
handleMessage() support added as alternative to activity(). Finite
State Machines (FSMs) are now also supported. They are demonstrated
in the fifo2 sample simulation.
The cPacket class and the protocol.h header was added; its aim is
to standardize on protocol models. Negative message kind values
are now reserved.
Added contributed howto about using OMNeT++ on NT with CYGWIN. Also
added contributed report on using message subclassing.
The way of writing custom inspectors has been redesigned to make it
more flexible. Also, Tkenv now has a plugin interface.
Several bugfixes and smaller improvements: Tkenv message inspector
redesigned; bugs in the ini file reader and the statistics classes
were fixed; vsscanf() was eliminated; the makefiles are now created
from makefile.in files; wait(), receive() and surroundings were
optimized; bug in GNED bug fixed etc.
In version of Aug, 1998 (OMNeT++ 1.0)
-------------------------------------
Data collection by output vectors can be configured in the ini file
(ie. OPNET 'probes'). Display strings can now be specified in the ini file
as an alternative to embedding them in ned files.
GNED has been totally rewritten. Now it supports colors, icon selection
etc. and correctly generates display strings. Cut/copy/paste capability.
A models/support library added with several base/utility classes and modules.
Ported to Windows 95/NT. Borland C++ 5.0 project files are included.
Numerous smaller improvements on Plove and Tkenv. Possibility
to make standalone simulation executables with Tkenv's TCL script
parts compiled into the executable.
To-do list and coding conventions (style guide) has been added to the
docs; please stick to it. Tkenv is now better documented; and so is the
cKSplit class.
As usually, additions and changes in the User Manual are marked with
(new) in the text. It does not necessarily mean the feature documented
there is new; most probably only the documentation is.
As usually, you're welcome to hack on the code and send in patches!
GNED is a very good target to start at. If you plan to do development,
you can sign up on the OMNeT++ mailing list and exchange ideas with
others.
In version of July, 1998
------------------------
Documentation now includes quickstart reference for OPNET users.
Additions to the User Manual are marked with (new!) in the text.
Tkenv has been improved significantly. Better animation: message names
are displayed and message kind is color-coded. New connection inspector
shows a connection path graphically. Module inspector has been redesigned
in notepad-style. Right-click popup menus in inspector windows.
Variables can be changed at run-time by cWatch inspectors. You can now
use the menu and play with the inspectors while simulation is running.
Several smaller improvements.
Routing support through the cTopology class. Other new classes are
cWeightedStdDev, cLinkedList. Direct message encapsulation support.
cPar can now store void* pointers. Output scalar file added which
accumulates results from several simulation runs. Several refinements
on the class library, more informative error messages.
Improved makemake script supports large models which span across
multiple directories. Plove made more intuitive with mc-like key bindings
and right-click popup menus.
In version of June 5, 1998
--------------------------
Documentation now comes also in HTML. We now have an LSM entry.
Tkenv made the default user interface.
Network graphics (module icons, connection arrows etc) and message
flow animation has been added to Tkenv. Usefulness of Tkenv dramatically
improved. Default graphics for models originally written without
graphics (no modifications needed).
By default, libraries are now dynamically linked which drastically reduces
executable sizes. You can revert to static linking by editing in `configure'.
You can load shared objects (e.g simple module code) at run-time
(-l command-line option).
Source directory tree changed to be more 'unix-like'.
New histogram class with user-defined and equal-frequency cells added
(thanks to Gabor Lencse), existing ones cleaned up and significantly
enhanced.
Wildcards (*,?) can be used in omnetpp.ini to supply values to several
model parameters at a time. Ini file inclusion and multiple ini files
support (via multiple -f command-line options) added. Total stack size
for the coroutines can now be given in the omnetpp.ini file.
Several bug fixes and minor improvements on Plove, GNED etc.
Version of May, 1998
--------------------
Wasn't publicly announced.
In version of March, 1998
-------------------------
An new interactive tool, Plove has been added. Plove is for analyzing
and plotting output vector files. Plove uses gnuplot to do the actual
work. In addition to viewing, you can save the gnuplot graphs to files
(postscript, latex, pbm etc) with a click. Filtering the results
before plotting (averaging, truncation, smoothing, etc) is possible.
Some filters are built in, and you can easily create new filters or
modify the existing ones.
Portability: Unix and (with some limitations) Win95/NT
In version of February, 1998
----------------------------
Type checking has been added to the NED language and the compiler.
New operators have also been added (like binary and/or/xor, shifting etc).
Now it is not necessary to declare module parameters and gates in .cc files
(Module..End stuff can be left out).
A new example program, HCube was added. It simulates an arbitrary-size
hypercube network with a simple deflection routing.
A configur script was added that -- on Unix platforms -- finds the
installation directories of Tcl/Tk, X, PVM and Turbo Vision, and
customizes the makefiles accordingly.
The Jar compiler has been renamed to NEDC because the name 'Jar' was
used by other software (a DOS archiver; Java tar on Solaris etc.)
Some scripts in util/ have also been renamed.
Now it is possible to specify values with time units (s,ms,us,m,h,d etc.)
in omnetpp.ini.
Misc improvements: some bugs fixed; some error messages in the sim. kernel
made more informative etc.
In version of December, 1997
----------------------------
A graphical model editor (GNED) is here. It's written entirely in Tcl/Tk.
Try it. It is the first, simple version; there's more to come.
The way of defining simple modules has been simplified a lot. Check out the
manual or see the example programs!
A new example program (fifo) was added that models a single-server queue and
also demonstrates how to derive a simple module from another one.
Important: the [All runs] ini file section has been renamed to [Parameters] to
reduce misunderstandings.
In version of October 15, 1997
------------------------------
Several member functions (and even classes) have been renamed for the sake
of a more readable code as well as consistency in naming and style. The utils
directory contains a Unix script (convert) to upgrade your files.
The cKSplit class was added -- another, experimental on-line distribution
approximation method.
Several bugfixes and improvements, updated manual.
The arg.list to the constructor of the histogram classes has changed --
beware, the compiler might not warn you!
In version of September 15, 1997
--------------------------------
Tkenv has been developed upon a lot -- try it with the improved Token Ring
example!
Parallel execution via PVM has been tested and significantly improved.
Syncpoints (a tool for synchronization) were added. See the user manual
for details. Go ahead and do Parallel Discrete Event Simulation (PDES)
with OMNeT++!
The implementation of the message queue (Future Event Set) has become more
efficient: the underlying data structure has been changed to heap.
Most important change in the simulation class library: cQueue's interface
has changed. See the manual or the source code.
Most important change in the ini file: The [General]/number-of-runs option
has been replaced by the [Cmdenv]/runs-to-execute option and the
-r command-line switch.
Check the version.log files for the numerous other changes. Many bugfixes
and code cleanups were made.
Refman.doc is out of date, sorry! I'll try to catch up.
----------
Andras Varga