SMURPH (a System for Modeling Unslotted Real-time PHenomena) is a package for simulating communication protocols at the medium access control (MAC) level. SMURPH can be viewed as a combination of a protocol specification language based on C++ and an event-driven, discrete-time simulator that provides a virtual (but realistic) and controlled environment for protocol execution. SMURPH can be used for designing (prototyping) low-level communication protocols and investigating their quantitative (performance) and qualitative (correctness) properties.
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.
SIDE is SMURPH with the added capability of interfacing mailboxes to the Internet and executing SMURPH programs in the real mode. With these features, SMURPH/SIDE can be used to control real-time reactive systems. Protocol programs expressed in "pure" (old) SMURPH run under SIDE with no modification.
Below are pointers to some documents about SMURPH/SIDE and LANSF:
The first item on the above list is a book (ca. 700 pages) describing the SMURPH specification language and presenting extensive and detailed case studies of several LAN/MAN models expressed in SMURPH. This book is recommended as the most comprehensive reference and tutorial on the SMURPH specification language.