NS-2 Wireless TraceViewer
Currently only for a modified AODV-Routing protocol. But you are welcome to extend it to a more general tool.
analyzeTraceFile()
Detect and provides global parameter from tracefile like "nodes", "area size", "simulation time". So it must be run first.
makePacketFlows()
TODO: anim them, make packets clickable to view informations of the packet/packetflow (packetsize, routing overhead
TODO: Which strategy? | |
One separate swf-file for every packet? | |
One separate swf-file for mobile node? | |
One separate swf-file for every application in a mobile node? <- can we trace this? |
TODO: | |
statistic of simulation (send, recv, forw, drop, endtoend-communicatin/quality) | |
statistics of different packettypes (UDP/CBR, TCP, AODV-REQUEST/HELLO/REPLY/ERROR) |
makeQueueMovies()
I log every(?)
event with queues and log it for every node. I modified
queue/queue.cc queue/queue.h queue/priqueue.cc tcl/lib/ns-default.tcl tcl/lib/..? ..??
to make this work.
makeSampleMovies()
SampleMovies are made of all samples-NodeID-NeighborID.dat in the directory. I log every received HELLO-Messages in AODV. I changed AODV-protocol of ns-2 version 2.1b9. Possible would be measuring of all received packets, but HELLO-Messages come in relative constant timeintervals and are not too many. :-)
1 HELLO/sec, if signal>RxThresh and medium (MAC802.11) not too overloaded or blocked by other mobile nodes.
buildMobileNode()
You can click on every node in the simulation area and have then access to the interface queue, measured signals of neighbors and other stuff.
The graphs will be loaded on demand, so we keep the mainflashmovie slim. If a graph of a neighbor will not popup, then this node never got a signal from this neighbor and so this file not exist. but flash tolerates this(no error) :-)
structure of a mobilenodemovieclip: frame1: movieclip |-actionsscript(stop) |-nodebutton |-textField
frame2:movieclip |-menushape |-buttonclose |-buttonqueue |-textfieldID
|-buttonsamples0 |-testsamples0 .. |-buttonsampleslastnode |-testsampleslastnode |-movieclipempty (name 'empty')
Peter Liscovius
email: peter.liscovius@mailbox.tu-dresden.de www : http://peter.liscovius.de
Started work on this by frustration with "nam" and crawling through tracefiles.