[Ns-developers] NS-3 GUI (visualization again)

Gustavo Carneiro gjcarneiro at gmail.com
Wed Jul 30 11:48:45 PDT 2008


2008/7/30 Joseph Kopena <tjkopena at cs.drexel.edu>

> On Wed, Jul 30, 2008 at 7:18 PM, Gustavo Carneiro <gjcarneiro at gmail.com>
> wrote:
> >  1- The simulation thread can run faster than real time, and we need to
> > slow it down;
> >
> >  2- The simulation thread can be slower than real time, and we just let
> it
> > run as fast as it can.
> >
> > The visualizer, in both cases, must _sample_ the state of the network at
> > real-time rate of 10-30 times per second.
>
> I'm actually somewhat more concerned about the other side, where the
> simulation is so large that it can't run within realtime.
>
> Also, I'm noting for the record that all of this complexity is being
> incurred for the sake of the inspection feature, not the traditional
> visualization components.  Even with a "live" GUI, you could just let
> the simulation do its thing at its own rate, posting events to the GUI
> which are then buffered for display when appropriate.  In particular,
> this is important in terms of evaluating development effort versus
> reward.  I mean, I have no objection to this being worked on, but it's
> worth keeping in mind that this does not block visualization, live or
> otherwise.


OK, duly noted :-)

I have no problem with supporting ns-3-decorator logs, even as a quick first
step, but:

  1- I am still not sure how they are generated.  I see a DecoratorManager
class, but it seems I have to call AddNotation, AddLink, etc. methods on
it?  IMHO the visualizer should be autonomous, i.e. before Simulator::Run()
you call Decorator::Start () or something like that, and it should
introspect available nodes and links and schedule sample taking at regular
simulation intervals;

  2- The annotations are bit display-oriented.  I would rather know that I
have a "wireless link" than a "dashed link".  Although "wireless red link"
is also interesting (i.e. I agree it's interesting to customize the
appearance for specific items that have special meaning to the researcher).

PS: I would like to clarify that you _can_ inspect arbitrary data with a
live inspector, albeit not exactly graphically.  You could create  a
terminal window with a python prompt, defining a variable like "node" for
the currently selected node.  Then you can use normal methods and python
introspection to print what you want.  It's not exactly the best possible
interface, but is the most flexible one at least.

Thanks,

-- 
Gustavo J. A. M. Carneiro
INESC Porto, Telecommunications and Multimedia Unit
"The universe is always one step beyond logic." -- Frank Herbert


More information about the Ns-developers mailing list