| 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 |
Simple script - initialization
Simple script - initialization
Simple script - initialization
Simple script - initialization
Simple script - initialization
Simple script - initialization
Simple script – setting up source
Simple script – setting up sink
Simple script – connecting nodes
Simple script – schedule “at” events
| 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 | |