Premium
Rapid simulator development for multicast protocol analysis
Author(s) -
Simon Robert,
Rabinovich Paul
Publication year - 2002
Publication title -
software: practice and experience
Language(s) - English
Resource type - Journals
SCImago Journal Rank - 0.437
H-Index - 70
eISSN - 1097-024X
pISSN - 0038-0644
DOI - 10.1002/spe.425
Subject(s) - computer science , multicast , debugging , java , discrete event simulation , protocol (science) , implementation , reliable multicast , distributed computing , internet group management protocol , set (abstract data type) , visualization , software engineering , operating system , pragmatic general multicast , simulation , protocol independent multicast , programming language , data mining , medicine , alternative medicine , pathology
When evaluating new protocols and algorithms it is often desirable to be able to rapidly build a specialized simulator from scratch. The advantage of this approach is that software designers can avoid the often‐steep learning curve associated with using existing simulators, and that specialized simulators can have significant computational advantages over general‐purpose programs. The drawback is that simulators can be complex to develop and debug. This paper describes our experiences developing SESAME, a Java‐based simulator designed to analyze multicast protocol performance. By using an appropriate set of design patterns we were able to rapidly develop a reusable and easy‐to‐implement framework for multicast algorithm and protocol analysis. We developed several useful approaches for rapid simulation development, including a multicast visualization tool and techniques for simulating concurrent processing within a computer network that substantially simplified code development and maintenance. Owing to performance concerns, we also ran an extensive series of performance tests of different priority queue implementations. Our design approach and the lessons that we learned in developing SESAME can be applied to rapid simulation development in general. Further, our performance results suggest that by using commercial off‐the‐shelf Java development environments it is possible to obtain sufficient performance for many time‐sensitive applications such as discrete event simulation. Copyright © 2001 John Wiley & Sons, Ltd.