Yes, you can do that, but it won't accurately model a real clock because
of clock skew. In general, clocks do not run at the exact same rate,
their frequency tends to drift. This drift depends on a lot of factors
such as temperature, humidity, etc. In TOSSIM there is no support for
clock skew. Another drawback of simulation is that it doesn't simulate
processing time. This means that you will never have any jitter (the
non-deterministic timing differences between receiving a packet and
processing it, or preparing a packet, and sending it).
These two factors are what makes time synchronization a non-trivial
problem. Using TOSSIM you could check your algorithm to see if it sends
messages correctly, parses received messages correctly, corrects the
random offset between nodes, etc, but you will not be able to see how
accurate the synchronization is using pure simulation.
-Paul
mojtaba raznahan wrote:
I think i should solve this problem by specifying random numbers as
clock offset between motes,and sim_time() as global time.
On Mon, Nov 16, 2009 at 10:31 PM, mojtaba raznahan
<mojtaba.razna...@gmail.com <mailto:mojtaba.razna...@gmail.com>> wrote:
Paul,
Thanks again for your clear answers.
Yes, I think like you.So due to this issue I can't test time
synchronization algorithms in TOSSIM,am I right ?Or maybe there is
some interface for doing this job .. ?
sincerley,
Mojtaba
On Mon, Nov 16, 2009 at 9:58 PM, Paul Johnson <oewyn...@gmail.com
<mailto:oewyn...@gmail.com>> wrote:
Mojtaba,
Actually, i believe the bootAtTime is in 100's of pico seconds
(10^-10) seconds. So 1024 * 10^-10 = 0.0000001024, and
apparently sim_time_string() returns time in seconds (up to
nano seconds (10^-9)). There are actually 1024 milli "ticks"
per second, so this is why each timer fired is adding not
quite 1.0 to the time.
As for your other issue, this is actually by design. If a
node transmits a broadcast packet, all other nodes in the
transmission range will receive it at the same time. The boot
times only change when the node powers up, but doesn't skew
it's clock. In fact, i can't say for 100%, but I think that
sim_time_string() grabs the global simulation time, and there
is no local clock simulation is TOSSIM.
-Paul
mojtaba raznahan wrote:
Hi Janos,
thanks for reply.
What's the meaning of this numbers ? I set the bootAtTime
event as these :
*t.getNode(0).bootAtTime(1024);
t.getNode(1).bootAtTime(1320);
t.getNode(2).bootAtTime(6000)*;
And i get the time by *"sim_time_string()*" method and it
print the boot times as this : 0:0:0.000000102 and
0:0:0.000000132 and 0:0:0.000000600 . As i can guess 102
means "1024" MilliSec and 132 means "1320" Milil.
And I set the startPeriodic at 1000 ,some thing is
ambiguous.The last statement prints the time equal to
0:0:0.000000142 the next statment is
*Timer.startPeriodic(1000)*,but in the output when i print
the time in *Timer.fired()* event, it prints the time equal
to *0:0:0.976562642* and the later *0:0:1.953125142* ,*
0:0:2.929687642*, *0:0:3.906250142* what does it mean ?
And also when i send a packet, the 2 other recievers get the
packet at the same time!!(I've set the bootTimes differently!).
Thanks,
Mojtaba
On Mon, Nov 16, 2009 at 7:34 PM, Janos Sallai
<sal...@isis.vanderbilt.edu
<mailto:sal...@isis.vanderbilt.edu>> wrote:
In tossim, the node object in python has a bootAtTime
method which
lets you set when the mote boots. You can use this to
make the local
clock's offsets different from each other. By the way,
TOSSIM does not
simulate clock skew. This might limit the validity of the
simulation
results.
Janos
On Mon, Nov 16, 2009 at 7:55 AM, mojtaba raznahan
<mojtaba.razna...@gmail.com
<mailto:mojtaba.razna...@gmail.com>> wrote:
> Hi all,
>
> I want to know how can I set the local time of each
mote programmatically ?
> I want to set different local time for each node then
test my
> synchronization algorithm on them.
> I used the LocalTime interface to get the local time
but i can't set
> different initial local time for each node.And
LocalTime interface has 2
> type "TMilli" and "TMicro" but when i use TMicro then
in configuration
> section there isn't any component provider for it! .I'm
using Tinyos 2.1.0
> and TOSSIM.
>
> Regards,
> --
> Mojtaba Raznahan
> BS of Computer engineering
> TMU university
> www.raznahan.com <http://www.raznahan.com>
>
> _______________________________________________
> Tinyos-help mailing list
> Tinyos-help@millennium.berkeley.edu
<mailto:Tinyos-help@millennium.berkeley.edu>
>
https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
>
--
Mojtaba Raznahan
BS of Computer engineering
TMU university
www.raznahan.com <http://www.raznahan.com>
------------------------------------------------------------------------
_______________________________________________ Tinyos-help
mailing list Tinyos-help@millennium.berkeley.edu
<mailto:Tinyos-help@millennium.berkeley.edu>
https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
--
Mojtaba Raznahan
BS of Computer engineering
TMU university
www.raznahan.com <http://www.raznahan.com>
--
Mojtaba Raznahan
BS of Computer engineering
TMU university
www.raznahan.com <http://www.raznahan.com>
_______________________________________________
Tinyos-help mailing list
Tinyos-help@millennium.berkeley.edu
https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help