On Sat, Jun 19, 2010 at 6:36 AM, Michael Schippling <[email protected]>wrote:
> Just because the code is shared, doesn't mean that the data memory
> is shared as well.
>
> Just a WAG on my part, but I would assume that TOSSIM runs each
> mote instance on a different stack and sets each instance's "global"
> memory area to different locations as well. In writing that last
> phrase it occurred to me that there must be some memory foo happening
> at compile time to make that happen...
>
> That said, I've had to jump through annoying hoops in order to share
> global state across multiple TOS modules due to NESC name mangling.
>
Try pull the global out of the module {} implementation {} block. nesc
only mangles names inside of a nesc block.
> I recently thought I might be able to do a real global variable in
> a C library and link the TOS program to it, but that's water under
> the bridge now.
>
> And there's nothing wrong with T1 that a few good kicks doesn't fix.
> Usually....
>
I'm just saying it isn't where the majority of new effort is going. And it
isn't officially supported any longer.
I personally thing T2 is much better organized, structured. I've used both.
T1 drove me nuts. Not that anyone could tell the difference.
>
> MS
>
>
>
> Eric Decker wrote:
>
>> Nothing I've said is changed because of TOSSIM. TOSSIM simulates many
>> different nodes and they are different nodes.
>>
>> So the control cells are still not shared.
>>
>>
>> On Fri, Jun 18, 2010 at 7:09 PM, Pedro Nunes <[email protected] <mailto:
>> [email protected]>> wrote:
>>
>> Hello, Eric.
>>
>> First of all, sorry for the misunderstanding -- I forgot to mention
>> I was working with TOSSIM.
>>
>> I've been trying to find the piece of code responsible for
>> instantiating the several motes used within a simulation. I was
>> convinced that although we had N motes running on the simulator,
>> they would all share the same modules and configurations and
>> therefore the same data fields (which would be messy, I know). On
>> the other hand, I knew from the start that that wasn't the correct
>> behavior of WSN's and it was hard for me to believe that the
>> simulator would really work that way.
>>
>> So my question is: how does TOSSIM handle the instantiation of N
>> motes? And where does it do it?
>>
>> Kind regards,
>> Pedro Nunes
>>
>> On Sat, Jun 19, 2010 at 2:59 AM, Eric Decker <[email protected]
>> <mailto:[email protected]>> wrote:
>>
>>
>>
>> On Fri, Jun 18, 2010 at 4:37 AM, Pedro Nunes <[email protected]
>> <mailto:[email protected]>> wrote:
>>
>> Hi all.
>>
>> I have a non-generic module with an uint8_t array inside.
>> That module has a command like this:
>>
>> command SomeModule.setValue(int something) {
>> array[sim_node()] = something;
>> }
>>
>> I was expecting that this array would be "global" for all
>> motes and they would share it
>>
>>
>> I don't understand why you think "array" would be global within
>> a mote let alone across motes.
>>
>> There is no nesc construct for declaring an object that is
>> global across multiple entities. nesc is a language extension
>> built on top of C that forces compartmentalization for systems
>> design. It is only symantically relevant to a module. There
>> are no constructs in nesc for sharing global objects across
>> motes or for that matter across modules. The whole intent of
>> nesc is to provide a structure that forces very well defined
>> interfaces between components of a system.
>>
>> (although this is not what WSN's are supposed to do) -- but
>> as far as I know about nesC, this was the expected behavior.
>>
>>
>> not sure why you are concluding that.
>>
>> module globals are unique to a module. A module global is
>> something like:
>>
>> module exampleP {}
>> implementation {
>> uint32_t blah;
>>
>>
>> ...
>>
>> command SomeModule.setValue(uint32_t something) {
>> blah = something;
>> }
>> }
>>
>> blah is global only to the module exampleP. It is not global to
>> the mote nor across the network.
>>
>>
>> Hopefully that clears things up.
>>
>> eric
>>
>>
>> Instead, I got each mote having its own array without
>> sharing its content with any other mote.
>>
>> Could anyone please enlight me with a logical explanation on
>> why is this happening?
>>
>> Regards,
>> Pedro Nunes
>>
>>
>> _______________________________________________
>> Tinyos-help mailing list
>> [email protected]
>> <mailto:[email protected]>
>>
>>
>> https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
>>
>>
>>
>>
>> -- Eric B. Decker
>> Senior (over 50 :-) Researcher
>>
>>
>>
>>
>>
>>
>> --
>> Eric B. Decker
>> Senior (over 50 :-) Researcher
>>
>>
>>
>> ------------------------------------------------------------------------
>>
>>
>> _______________________________________________
>> Tinyos-help mailing list
>> [email protected]
>> https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
>>
>
--
Eric B. Decker
Senior (over 50 :-) Researcher
_______________________________________________
Tinyos-help mailing list
[email protected]
https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help