On May 2, 2008, at 4:33 PM, Paul Stickney wrote:
> Hello,
>
> TOSSIM-T2 seems to have undergone a complete transformation from the
> TOSSIM present in the TOS 1.x line.
> In particular, TOSSIM-T2 (and Python) now appears to work directly
> through a C++/SWIG interface while it (TinyViz, Tython) had a JVM
> interface.  While TOS 2.x changes appear to be a *good* thing, TinyViz
> (and the related plug ins) no longer seem to be usable in any extent.
> I have been searching the mailing lists, but have not found sufficient
> answers and new solutions.
>
> 1a) Is there a nice (read GUI) program to interface with TOSSIM-T2 and
> interact with the network?

No. The intention was that by having a Python/C++ interface, it would  
be easy for someone to write one.

When I wrote TOSSIM for T2, I explicitly avoided doing this, for 2  
reasons. First of all, any GUI-based interface is inherently  
unrepeatable. Better to have scripting (this is what motivated Tython  
in 1.x). Second, getting TinyViz to be useable required punching a few  
holes in the simulator/mote boundary (such as FakeLocation), which  
then led some systems and protocols to depend on information which  
would never be possible to obtain in a real network.

> 1b) If (or if not), what tools are used to "visualize" the network
> and/or provide the capabilities some of the TinyViz plugins provided?
> (I am discounting MViz because it is both application-specific and not
> particularly designed to work with TOSSIM--please correct me if I am
> missing something big here).

You're correct about MViz.

To the best of my knowledge, there are no publicly available tools.  
Someone might have written one, though.

>
>
> 2a) Is there an easy way of providing feedback to motes while
> bypassing the radio stack?
> In particular, I wish to "simulate sensor data". Looking through the
> C++ driver, there is only an exported getVariable (I believe this
> could be hacked as it seems internally pointer-based, but I'd rather
> not make additions that require patches.)

Currently, there is not. I thought about incorporating a Python/C++  
callback mechanism for ADCs, but the overhead is pretty high and I  
wasn't sure this was the right answer. If you're willing to go with C+ 
+, writing your own accessor function is really easy: just write a  
TinyOS sensor module that calls a C accessor function, and write a  
mutator function that your C++ driver can call. Going through Python  
would require using SWIG to export the call.

>
>
> 2b) Is there a way for TOSSIM-T2 to [cleanly] post an event to a
> simulated mote (outside of packet injections)?

No, as there's no clear definition of what such an event might be.  
Again, if you are willing to go with C++, then you can write a TinyOS  
module which defines a C function that posts a task. Your driver could  
call this function. The one trick is that you'd need to make sure that  
the right mote is executing. Or, you can do the standard TOSSIM trick  
you see in a few places of setting current mote to be the desired  
mote, doing the operation, then changing it back to the "real"  
executing mote.


> 3) Does anyone know of a [good] way to create a TOSSIM-T2 <-> JVM  
> interface?
> I suppose it would be to much to hope for a simple, clean, and easy
> way to do this.

SWIG?

Phil
_______________________________________________
Tinyos-help mailing list
Tinyos-help@millennium.berkeley.edu
https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help

Reply via email to