License
Unknown, GPL-3.0 licenses found
Licenses found
Unknown
LICENSE.txt
GPL-3.0
COPYING
pkgn/SMURPH
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
Repository files navigation
------------------------------------------------------------------------- %%%%%% %% %% % % %%%%%% %%%%%% % % % % % % % % % % % % % % % % % % % % % % % % % % % %%%%% % % % % % %%%%%% %%%%%% %%%%%%% % % % % % % % % % % % % % % % % % % % % %%%%%% % % %%%%% % %% % % % ------------------------------------------------------------------------- %%%%%% %%% %%%%%% %%%%%%% % % % % % % % % % % %%%%% % % % %%%%%% % % % % % % % % % % %%%%%% %%% %%%%%% %%%%%%% ------------------------------------------------------------------------- VERSION 3.3 By: Pawel Gburzynski Olsonet Communications Corporation http://www.olsonet.com/ Vistula Univeristy http://www.vistula.edu.pl/ pawel@olsonet.com ---------------------------------------------------------------------------- | The following books about SMURPH/SIDE are available: | | | | Pawel Gburzynski | | Modeling Communication Networks | | Implementation in the SMURPH System | | LNNS, Springer, 2019, ISBN: 978-3-030-15391-5, | | DOI: 10.1007/978-3-030-15391-5 | | | | This book contains the complete (and hopefully friendly) manual of | | SMURPH, supported with elaborate examples (including models of | | wireless channels), and an introduction to event-driven simulation. | | | | Pawel Gburzynski | | Protocol Design for Local and Metropolitan Area Networks | | Prentice Hall, 1996 | | ISBN 0-13-554270-7 | | | | This book is somewhat aged (SMURPH/SIDE has evolved in the meantime | | and there are many new features not described in the book (like | | wireless channels [see the new book for that]). The book discusses | | many examples of wired local-area networks focusing on access | | protocols. | | | | The package comes with a (probably not as friendly) reference manual | | to be used as the up-to-date, authoritative reference in case of | | doubts. | | | ---------------------------------------------------------------------------- ---------------------------------------------------------------------------- | Note: Unpacking/installing instructions are in the MANUAL (directory | | MANUAL), chapter: SIDE under UNIX. Please read that chapter before | | you start. | ---------------------------------------------------------------------------- ---------------------------------------------------------------------------- | Note: This version of SIDE runs under Linux and Cygwin | ---------------------------------------------------------------------------- ---------------------------------------------------------------------------- | Read LICENSE.txt in this directory for the terms of use. | ---------------------------------------------------------------------------- ---------------------------------------------------------------- > SMURPH (a System for Modeling Unslotted Real-time PHenomena) < > is a package for simulating communication protocols at the < > level of (virtual) implementation. SMURPH can be viewed as a < > combination of a protocol specification language, based on < > C++, with an event-driven, discrete-time simulator providing < > a virtual, programmable, and parameterizable environment for < > protocol execution. SMURPH can be used for designing < > (prototyping) low-level communication protocols and < > investigating their quantitative and qualitative properties, < > i.e., performance and correctness. < > < > SMURPH descends from LANSF, an earlier version of the < > package (Software Practice and Experience, vol. 21(1), < > January 1991, pp. 51-76) which was based on plain C. < > < > The SMURPH project was supported in part by NSERC grants < > OGP9110 and OGP9183, and by a grant from Lockheed Missiles < > and Space Company, Inc. (now Lockheed Martin). < ---------------------------------------------------------------- ---------------------------------------------------------------- ---------------------------------------------------------------- > The present version of SMURPH has been renamed "SIDE", which < > stands for Sensors In a Distributed Environment. SIDE includes < > SMURPH as its subset and is fully compatible with SMURPH 1.8x, < > except for checkpointing, which has been disabled in SIDE. < ---------------------------------------------------------------- ---------------------------------------------------------------- Summary of changes until September 2006: ======================================== 11/12/90: Special preprocessor added (SMPP) to convert smurph constructs into C++ constructs. Previously this was handled by the compiler preprocessor and the smurph constructs were regular macros. The syntax of many constructs has changed as now we are not restricted by the somewhat limited power of the C macro apparatus. 15/12/90: New environment variable (TheExitCode) added. This variable is set upon the Kernel's DEATH event to indicate the termination reason. 16/12/90: Fixed miscellaneous small and a few serious problems in DSD. 18/12/90: Textual state identifiers are no longer moved around by SMURPH; they are stored statically (SMPP) and then referenced upon demand. This should improve the execution time a bit. 19/12/90: Process states specified in 'inspect' (observers) are now automatically associated with the proper process. This means that when a process state is specified in 'inspect' (it is not ANY), the process type must be specified as well, i.e. it cannot be ANY. 19/12/90: Fixed a bug in DSD which caused that removal of EObjects was not recognized properly. 20/12/90: Fixed a bug in mks which caused that '-b 0' was not treated properly. 20/12/90: Fixed a bug in global.h causing compilation errors when smurph was created with '-b 0'. 22/12/90: Fixed a bug in link.c causing that in Kernel exposure with mode 0 the event id was confused. 23/12/90: Fixed a problem in main.c that caused segmentation violation for certain configurations of link events. The code for deallocating request chain has been moved before restarting the process (and simplified a little). 25/12/90: Fixed a bug in main.c that caused incomplete output when the simulator was called with the '-c' option. Simulator call arguments are now included in the output header. 27/12/90: Fixed a bug in client.c that caused incorrect mode 2 exposure of Client. 30/12/90: After a successful getPacket, the environment variable TheMessage (Info01) returns a pointer to the message from which the packet has been acquired, if the message still remains queued; or NULL, otherwise. Previously Info01 returned the packet pointer. That was somewhat redundant and not much useful. 30/12/90 maker now asks for the pathname of a directory where include files for protocol programs are to be kept. It is possible to have a standard library of protocol include files. 01/01/91 SMPP now detects 'expose' not preceded by 'symbol::', which is a confusing error leading to a recursion loop. Detection of nonexistent exposure mode has been modified to avoid problems when supertype exposure is called from a subtype exposure. 01/01/91 Fixed DSD to recognize properly display modes for multiple templates specifying base and standard names. 02/01/91 Fixed a bug in client.c causing incorrect calculation of scaling for Client and Traffic mode 2 exposures. 07/01/91 Fixed a bug in link.c causing (incorrectly) the recognition of the EOT and EMP events for aborted packets on a PLink. 09/01/91 '-t' option added to mks. 10/01/91 SMPP fixed to recognize 'terminate' for 'this' process. Such a 'terminate' is automatically followed by 'sleep' to make sure that the terminated process does not regain control. 10/01/91 Code for 'create' (generated by SMPP) changed slightly. The order of 'start' and 'setup' for observers has been reversed. Previously an observer was started before its setup was executed. 11/01/91 'trace' processing added to SMPP. 13/01/91 'create' syntax augmented to include (optionally) the identifier of the station in the context of which the object is to be created. Upgrade to version 1.01 31/01/91 A private version of i/o library and malloc added. This version can be optionally selected upon initialization (maker). Upgrade to version 1.02 01/02/91 Improved code in DSD for reading templates so that now templates are read much faster. 07/02/91 The simulator executable is now automatically 'stripped' unless mks was called with the '-g' option. 15/02/91 The packet Receiver (and Sender) attribute can now be NONE which is recognized as a special case, e.g. a packet with no specific address (which is different from 'broadcast'). 16/02/91 The method of linking the private SMURPH library has been changed. Previously, the private version of malloc was not recognized (at least on some machines) and the standard version was taken instead. 18/02/91 The default precision of type BIG assumed by mks when '-b' is not specified is now 2 (previously it was 1). 08/03/91 Fixed a bug in lib.c + iolink.c (private i/o library) causing checkpoint restart errors. 11/03/91 Fixed a bug in maker causing problems with creating a non-existent 'bin' directory. 15/03/91 Fixed 'busy' and 'idle' 20/03/91 Fixed a minor bug in SMPP which caused incorrect line numbering in a file containing smurph constructs spanning multiple lines. 21/03/91 Fixed a bug in display.c (flushSupplist) that might cause segmentation violation in a situation involving generation of many displayable objects between two display flushes to DSD. 24/03/91 Rewritten some parts of SMPP, global.h, etc. to make SMURPH compile with the AT&T cfront compiler. 25/03/91 It is now possible to send a signal to the System station. Some processes, e.g. non-standard traffic generators, can be created (and communicated) in the context of the System station. 26/03/91 SMPP now detects and diagnoses attempts to use 'new' for SMURPH object types. Upgrade to version 1.10 01/04/91 Fixed a bug in Timer's wait that caused occasional modification of the delay argument. The problem showed up when clock tolerance was non-zero and BIG_precision was != 1. 06/04/91 Fixed rvar.c to avoid taking sqrt of a possibly negative value in calculating standard deviation for 0 variance. 07/04/91 Fixed a bug in global.h causing compilation errors with the '-i' option of mks. Fixed a bug in rvar.c causing 'division by zero' errors while updating BIG-type RVariables. 08/04/91 It is now illegal to terminate a process that owns some exposable objects. Previously, the termination of such a process resulted in dangling pointers in the ownership hierarchy which was confusing for DSD. This doesn't apply to the Kernel process (but Kernel is never actually terminated). 10/04/91 The output file produced by smurph is now terminated with "@@@ End of output". This line is intended to be used by programs for automated experiment supervision (SERDEL) to determine whether the output file is complete or not. 15/04/91 Code for checkpointing rewritten and rearranged. Now smurph checks for a checkpoint request in its main event-processing loop, so that checkpoints are always performed at a "safe" state. Previously there were some random (and difficult to diagnose) problems with checkpointing -- most likely resulting from interrupted system calls. They may be gone now. 19/04/91 It is now possible to define a limit on the size of message queues: individually for each station, individually for each traffic pattern, or globally. New method 'setQSLimit' (also callable as a) global function) added to 'Traffic' and 'Station'. New option '-q' added to 'mks'. 19/04/91 Mode 2 global screen exposure for Client fixed to display the message count rather than the combined bit count. The manual says that it should be the message count and I think that the manual is right. 15/05/91 Fixed a bug in main.c that caused memory allocation problems when stdin was used by default as the input file. 24/05/91 Fixed a bug in connect.c that caused incorrect socket port specification on little endian machines. 29/07/91 Removed complaints about an empty receiver set for traffic patterns handled by the standard Client. The receiver set can be empty in which case the Receiver attribute of a generated message is NONE. 29/07/91 The definition of ALL (special argument for addSender/addReceiver) changed to ((Station*)ALL). Previously, explicit ALL didn't work as the argument was treated as an integer. 30/07/91 Initialization for the multiple precision arithmetic package is now correctly performed before any user-introduced initialization, possibly involving BIG arithmetic. Previously, static initialization of a BIG type object from an expression involving BIG or floating point values did not work. 30/07/91 The 'usage' menu of mks fixed to say that the default precision for BIG objects is 2, not 1. 30/07/91 An ostream buffer added in the nonstandard i/o package to speed up disk i/o across NFS. 18/08/91 Hacks added to make SMURPH work with the Sun version of the AT&T cfront compiler. The code for determining the compiler type has been centralized and put into version.h. 20/08/91 Random generators for toss and flip rewritten such that they don't use fp operations. Option '-8' added to mks. With this option the user may select standard random number generators (the drand48) family instead of the SMURPH's private generator. The standard generator is slightly slower, but it has a longer cycle. 28/08/91 Fixed connect to detect the situation when the same port is connected twice to two different links. Until now such mistakes would pass unnoticed with disastrous effects. 29/08/91 Fixed a bug in SMPP which caused that occasionally (quite seldom) the tail of the SMPP output was truncated, if data happened to hit the circular buffer boundary with an unfortunate configuration of pointers. 29/08/91 The smurph.h file no longer has to be explicitly included in protocol files. It is included automatically by SMPP. The name of the include file has been changed to Smurph.h. The smurph.h file is now empty, so that its inclusion doesn't affect anything. 06/09/91 Fixed the "too many errors" problem in SMPP. 11/09/91 Fixed some non fatal problems in standard exposures. SMPP now accepts 'wait' preceded by '.', e.g. S->MyPort.wait (BOT, ...); Upgrade to version 1.12. 11/09/91 DSD fixed to properly recognize parameters -t and -u (as advertised in the documentation). 12/09/91 Fixed a bug in DSD causing status misinterpratation for some templates selected for base types. 19/09/91 Fixed a few glitches in description files for EXAMPLES. 19/09/91 mks -r now works with the AT&T compiler. Fixed a bug in client.c causing display problems when the simulator was created with -i. 24/09/91 The Signal and Queue AIs have been removed and replaced with the dynamic Mailbox AI. Upgrade to version 1.5 which is no longer compatible with the previous versions. DSD modified to present menu of window types with textual comments when a window is added. One doesn't have to remember any longer what particular modes stand for. The template format extended to provide room for a textual comment to be associated with a template. 24/09/91 setEtu/setItu checks whether it is called at the very beginning of simulation, before objects have been created. 25/09/91 Network topology exposure (System->printTop, System->printATop) now forces 'buildNetwork' automatically. Thus, it is (formally) legal to invoke this exposure at any moment, but it is illegal to create new network objects after the network has been exposed. 26/09/91 Preprocessing of packet setup and user declared traffic performance measuring methods added to SMPP. It is now legal to specify message/packet subtype pointers (not just Message/Packet pointers) as argument types for these methods. 28/09/91 A process that fails to issue at least one wait request in its current state becomes terminated. Previously such a process was left as a zombie. 05/12/91 The environment variables at the target state of 'proceed' retain their previous values, as they were before 'proceed' was executed. 17/12/91 Fixed a bug in main.c causing addressing errors while restarting processes waiting for process events. 18/12/91 Improved the printDef exposure of Client. Previously, the weights of communication groups were displayed in the internal (confusing) format when the exposure was called after the protocol had been started. 19/12/91 Fixed a bug causing that a process that terminated itself implicitly without issuing any wait requests at its last state was actually terminated twice. This bug was introduced as part of the feature introduced on 28/09/91 19/12/91 It is now possible to send simple signals directly to processess. This feature has been implemented as a minor extension to the process AI. Inter-process signals augment the Mailbox mechanism and are more natural in many cases. 19/12/91 Removed the code for setting Info01/Info02 by some functions for which this feature seemed dubious. 01/02/92 It is now legal to have a code-less process type. The code method is then inherited from the supertype. In consequence, "perform" must be explicitly announced in a process type declaration, if it is ever defined for the process type. 08/02/92 It is now legal to define subtypes of a user-defined observer type. 26/02/92 Fixed problem with linking SMURPH on an sgi running system 4.0.1 02/03/92 Fixed a bug causing segmentation violation when observers were active and a process explicitly terminated itself. 07/03/92 Fixed a bug in Mailbox::erase () for a queue-type mailbox causing 'inconsistent count' problems. 10/03/92 Fixed a bug in CGroup setup causing segmentation violation when the senders' weights weren't specified, but the receivers' weights were. 13/03/92 Fixed a bug in client.c (select_station) causing segmentation violation when an SGroup was created with NULL station list (all stations) and then it was used to define a communication group with explicit weights. The error occurred when an attempt was made to select a station from the SGroup. 16/04/92 Upgrade to version 1.52. Hacks added to compile SMURPH with the g++ compiler version 2. The problems mostly resulted from the new organization of includes. 07/06/92 Fixed a bug in the checkpoint restart code (introduced with the previous modification) causing restart errors. Sorry about that. 21/06/92 Fixed a bug in DSD causing problems when the smurph list was longer than the screen height. 26/06/92 It is now possible to suspend and resume the Client (as well as individual traffic patterns) dynamically. It is also possible to reset the standard performance measures for the Client (and individually for each traffic pattern). Three new methods: suspend, resume, and resetSPF have been added to Traffic and Client. 05/07/92 I suddenly discovered that '-b 0' didn't work with g++, version 1.39.0 on a sparc, due to a malicious bug in the compiler. It seems to be fine, though, with other compilers and also with 1.39.0 on a Sun 3/80. I don't have an older version of g++, but I am pretty sure that everything was fine with 1.37. Anyway, I am not going to try to bypass the problem (a few simple attempts didn't work) as: 1. '-b 0' is not really useful on a sparc, 2. g++ 1.39.0 is now (almost) completely obsolete (although I am still using it for sentimental reasons :-). 05/07/92 As a byproduct of the above research, I also discovered that '-b 0 -i' didn't work (bus error) with g++ version 2.2.2 on a sparc. The same problem showed up when BIG counters were used with user-defined random variables (and '-b 0' was selected). The problem has been fixed by aligning the counter within the RVariable structure to a doubleword boundary (although I am not sure that I understand why). Note: the alignment is only forced for g++ (version >= 2) and when '-b 0' is selected. 05/07/92 Note: be careful with '-f' (optimization) if you are using g++ version 2.2.2. It seems to generate wrong code sometimes. It did it once for me with '-b 0 -f'. The moral: don't use '-b 0' on a sparc. Is there a machine on which it is useful? 08/07/92 New mks option '-p' added. With this option, wait requests accept an optional third parameter (long int) called the order of the wait request. If multiple events occur within the same ITU, the wait request with the lowest order is used to restart the process. With '-p', the implied priorities of port events are not obeyed: the user has better control over these priorities and no tricks are necessary. 01/08/92 Fixed a bug in SMPP causing errors in declarations as: traffic Trf (Mes, Pack); i.e., with implicit empty body. 27/09/92 Fixed a memory leak in observer.c. Previously, SMURPH failed to deallocate memory used to represent observer timeout requests. Fixed a problem causing that RVariables owned by observers were not accessible by DSD. Fixed a bug causing compilation errors when '-p' and '-b 1' were used together. Port to Macintosh completed. 08/10/92 Fixed a minor problem in SMPP causing (harmless) compiler warnings for user-defined exposure methods. This problem only occurred with g++ version 2. 27/10/92 Full exposure of RVariable includes now relative confidence intervals at 95% and 99% (the screen exposure only includes the 95% interval). The relative interval is the ratio of half the length of the confidence interval to the absolute value of the mean. 03/11/92 I had to shuffle around some 'friend inline' declarations is global.h to make SMURPH work with g++ version 2.3.1. 2.3.1 seems to be garbage, even worse than its predecessor. 03/11/92 Fixed the problem with '-b 1 -p'. Previously, SMURPH didn't compile with this configuration of options. 15/11/92 It is now possible to declare a fault rate for a link. Packets transmitted on such a link will be randomly "damaged" with the specified rate (per bit). New option '-z' added to mks. Faulty links are only available if the simulator has been created with this option. 18/11/92 "Fixed" distribution type added to Traffic. Previously the fixed distribution types for message inter-arival time, message length, burst inter-arrival time and size was simulated by uniform distribution type with the minimum equal to the maximum. 24/11/92 The configuration of counters associated with Link rearranged slightly. Link exposure (1) modified accordingly. 02/01/93 DSD now interprets one segment attribute, namely, the display mode. Previously DSD ignored all attributes and the only display mode was "isolated points". 20/01/93 Fixed a bug in operator>> (stream, BIG) causing that spaces were read as BIG zeros. 03/02/93 Fixed a bug in setFaultRate (link.c) causing that occasionally the link fault rate setting was ignored. 05/02/93 Fixed a minor bug in mks causing that in some obscure circumstances '-q' was ignored. 09/02/93 Fixed a bug in SMPP causing compilation errors when a process type derived from another user-defined process type was state-less. 11/02/93 Added a new port method p1->distTo (p2) giving the distance from p1 to p2. 16/02/93 The Packet's method fill now sets the PF_full flag of the packet. 18/02/93 Fixed a bug in SMPP causing compilation errors for null-body declarations with the AT&T compiler. 08/03/93 If the simulator has been created with '-g' (debugging), each packet carries one additional long attribute called 'Signature'. For packets acquired from the Client (via 'getPacket'), this attribute is set to subsequent nonnegative numbers starting from zero which are different for different packets. Intentionally, signatures are to be used for packet tracing, e.g., by observers. 12/06/93 It is now possible to change the transmission rate of a port by calling p->setTRate (r), or the transmission rate of all ports connected to a given link by calling lk->setTRate (r). 16/07/93 SMURPH now runs under Linux. Version number changed to 1.71 28/07/93 SMURPH now runs on DEC-stations under Ultrix. 25/09/93 Patched to work with SUNPRO CC version 2.01. 18/11/93 Ported to DEC Alpha under OSF (g++ version 2.5.3). Version number changed to 1.80. Added examples from the book. 16/12/93 Ported to SPARC SOLARIS SVR4 23/01/94 Fixed a problem in DSD resulting in integer overflow when DSD was created with type LONG of size 4 bytes and the size of LONG for the simulator was 8 bytes (e.g., long long). This caused some time values to be displayed incorrectly. 18/02/94 Dummy constructors added to circumvent a bug in g++.2.5.8. These constructors don't seem to be doing any harm so they may stay even after the bug is fixed (if ever). They can be reverted by unsetting the ZZ_DCO symbol in version.h. 18/02/94 Two new client events added: SUSPEND and RESUME. The semantics of suspending and resuming traffic patterns (and the Client) changed. Now it is possible to suspend and resume user-defined pilot processes in a reasonable way. 21/02/94 One more client event added: RESET. The event is triggered on a traffic pattern each time resetSPF is executed on that traffic pattern. 18/03/94 Protocol tracing can now be restricted to a single station whose Id is specified with '-t' (after the time specification). Version number changed to 1.81. 31/07/94 Some adjustments required to make SMURPH run on SGI under IRIX Release 5.2. Note: at this moment SMURPH only runs with CC (CFront compiler). The gnu compiler seems to have some serious problems under IRIX 5.2. 31/07/94 Fixed mks and smpp to avoid linker warnings on some machines/systems resulting from multiple symbol definitions. Upgrade to version 1.82. 10/11/94 Message length generated by the Client (method genMLE) is now rounded up or down to the nearest multiple of 8, not always rounded up as before. 15/11/94 The name of the process exposure method printWai changed to "printWait"; the name of the station exposure method printPrt changed to "printPort". 26/11/94 Fixed to run with gcc-2.6.2. This seems to be getting out of hand. With every new release of gcc there is a new bug in the compiler. 27/12/94 Changed the output format in print for floating point numbers. 07/01/95 Fixed the problem with "identify". Some compilers/linkers treat externals as commons while some others don't. SMURPH now correctly figures out whether a protocol Id (see identify) has been assigned and if not, it uses a default Id ("unidentified protocol"). 02/05/95 Fixed a bug in display.c causing that the -d option of the simulator didn't work on systems without asynchronous i/o. 28/06/95 Ported to cxx under OSF/1 V3.0 on Alpha. Checkpointing doesn't work yet, although it used to under older versions of OSF. 20/11/96 SMURPH turned into SIDE, version number changed to 2.0. When mks is called with -R, it creates a real-time version of SMURPH that can be used to control a real reactive environment. The interface is provided by binding mailboxes to TCP/IP sockets. Slight change in the semantics of a capacity-0 mailbox: put always results in inItem getting called. A new event, CLEAR, is triggered by a process when its signal repository is emptied. 15/04/97 DSD rewritten in Java. Option -D added to mks. With that option the processing of events scheduled to occur at the same time is deterministic. 01/06/97 File names revised to make sure that they comply with old DOS limitations -- in case SMURPH/SIDE is ported to Windows NT. The GNU C++ environment under NT doesn't recognize long file names. Sorry about that. 11/06/97 Checkpointing code disabled. Checkpointing ceased to work and some effort will be needed to bring it back. Perhaps I should rethink the whole idea and either give it up completely, or come up with a better and more general solution. 22/06/97 Fixed a few problems with DSD. I still have no clue why DSD is ten times slower under Windows than under Linux. 26/09/97 Fixed a minor problem in display.cc causing that objects owned by the Root process were only displayed with -s. Fixed a problem with the html version of the manual which caused that the manual couldn't be displayed with Netscape Communicator. 27/10/97 Fixed a minor bug in iolink.c causing memory alignment problems on some systems. 28/10/97 SMURPH's malloc now works on Linux. The improvement in execution speed: 10-15%. 26/11/97 Mailboxes can also be bound to devices. Upgrade to version 2.10. 20/12/97 Mailboxes can be journalled. 05/02/98 Fixed a bug in main.cc causing the process's state wait request not to work properly. 18/02/98 MASTER server mailboxes implemented. 21/02/98 Fixed a problem with PLink causing that the number of distance entries needed to specify the distance matrix wasn't always the minimum possible. 22/02/98 Fixed a bug in SMPP causing problems with destructor declarations. 30/12/98 Fixed a few problems under RedHat 5.2 (using glibc). 12/06/99 Fixed scheduler problems causing time lag when many events were scheduled at the same time. 04/07/99 Added getDelay and setDelay to Timer AI. Added STALL to the list of events that can be awaited on Kernel. STALL is triggered when the simulator runs out of events. 25/07/99 Option -F (avoiding FP operations and forcing -S, -D, -R) added. Fixed a bug causing improper timing of events (RT mode only) after long I/O waits. 20/08/99 It is now possible to specify the hostname in socket->connect as "xxx.xxx.xxx.xxx" - to indicate a direct IP number. 29/08/99 SIDE fixed to work with gcc version 2.95. 17/10/00 Added 'clone' as a packet method. 25/01/02 Miscellaneous (and rather insignificant) fixes related to the new version of GCC (3.0.2). Fixed a problem (in smpp) with the setup method of Root. 11/02/02 Fixed to work under CYGWIN (DSD tested under jdk-1.4.x) 20/11/03 Fixed to work with gcc 3.3.1. The only platform recommended for this version of SIDE is GNU (Linux + CYGWIN) 11/03/06 Radio channels added. Version 2.5. ---- New method of tagging for CVS ---- R060329B Interfrence thresholds: INTLOW/INTHIGH added for Transceivers. R060430A Lots of changes. Now we have something close to a decent version. DSD tested with the new templates. So far, so good. Manual updated. R060430B Final fix of a few irrelevancies in REALTIME examples. R060709A Radio example redone and cleaned up a bit. R060803A Changed zz_wait to wait in all AIs, such that it is now legal to invoke wait from methods (not only directly from the process code) TheSignal and TheSender switched to be compatible with TheItem and TheMailbox for mailboxes. Barrier mailboxes introduced. The mailbox AI is getting messy a bit, so I had to significantly redo the corresponding sections from the manual to improve their legibility. TheBarrier points to Info01 (as an int). R060806A Symbols __SIDE__ and __SMUPRH__ are now defined for every program compiled and set to the version number (a string). Added pfmPDE/pfmMDE to detect packet/message deallocation. Destructing link activities made subtler to account for the fact that some activities are jams and, as such, should not have their "packet" destructors invoked upon deallocation. R060809A Introduced a variant of sleep (automatically selected by smpp) to be used in functions called from processes. This one uses longjmp instead of straighforward 'return'. Visualization mode added whereby the simulator tries to fit the advancement of virtual time to real time. Hey, we are beginning to arrive at something decent, aren't we? R060811A Added a virtual destructor to Process to make it possible to have subtype destructors - to clean up when processes are deallocated. Added a new AI: Monitor implementing simple global numerical signals a la PicOS. R060830B Added void delay (double etus, int state) to Timer. This is a shortcut for wait (etuToItu (etus), state). Added a 'touch' to mks to eliminate Cygwin's make complaints about clock skew. Added an XML parser implementing an alternative interface for reading input data (and possibly writing output results). Exception/assert functions redone to accept variable number of arguments, i.e., format + output items. Added parseNumbers to numio.cc. Constants SOL_VACUUM, SOL_COAX, SOL_COPPER, SOL_FIBER MemoryUsed finally eliminated. It was a relic from the days when SMURPH had its own memory allocator. Added setTolerance for Station, getTolerance (global + method) RFPing example working. ============================================================================== The change log is continued in RTAGS_PG in this directory
About
No description, website, or topics provided.
Resources
License
Unknown, GPL-3.0 licenses found
Licenses found
Unknown
LICENSE.txt
GPL-3.0
COPYING
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published