|
|
|
Velibor Markovski |
|
Communication Networks Laboratory |
|
School of Engineering Science |
|
Simon Fraser University |
|
|
|
|
Split programming model
(C++ and OTcl) |
|
Simulation kernel ® C++ |
|
Simulation definition,
configuration and control ®
OTcl |
|
Tradeoff: performance vs. flexibility |
|
|
|
|
|
|
OTcl class hierarchy |
|
C++ class hierarchy |
|
|
|
|
Two nodes |
|
CBR traffic from source to destination |
|
UDP used as transport protocol |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Schedule events at certain time |
|
Insert events in the list |
|
Deque events from the list |
|
Dispatch dequed events |
|
Call appropriate event handler |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Approximate numbers: |
|
27K lines of C++ code (ns-2.1b5) |
|
12K lines of OTcl code |
|
18K lines of test suites and examples |
|
|
|
|
|
|
|
Inexpensive |
|
Flexible: |
|
with scenario generation |
|
with link speeds |
|
with topologies |
|
Access to ALL data |
|
|
|
|
Testbeds |
|
Emulation (testbed-simulator mix) |
|
Live Internet tests |
|
|
|
|
|