High-Level Emulation of
Low-Level Communication Protocols

Pawel Gburzynski
Department of Computing Science
University of Alberta
Edmonton, Alberta, CANADA T6G 2H1


We introduce SMURPH, an object-oriented programming environment based on C++ for specifying communication protocols and modeling communication networks. Unlike other protocol specification systems, e.g., ESTELLE, LOTOS, or PROMELA, SMURPH has a built-in notion of time. Thus, it can express protocol operations and physical phenomena occurring at the boundary of data-link and physical layers, e.g., at the medium access control (MAC) level.

Besides the specification language, the system provides a virtual environment for executing protocols. This environment is based on an event-driven, discrete-time simulator. The user has an impression of running the protocol in a realistic environment that reflects all relevant physical phenomena occurring in a real network, e.g., limited accuracy of independent clocks, race conditions, faulty channels. From this end, SMURPH can be viewed as a high-fidelity network simulator. Compared to other network simulators and evaluators, e.g, COMNET, SMURPH has a number of distinct features:

Colloquia Series page.