diff --git a/cooja/simulation-00.csc b/cooja/simulation-00.csc
index ac45cf8..d4312a9 100644
--- a/cooja/simulation-00.csc
+++ b/cooja/simulation-00.csc
@@ -8,7 +8,6 @@
[APPS_DIR]/powertracker
TheMatrix
- 1.0
123456
1000000
@@ -65,8 +64,8 @@
org.contikios.cooja.interfaces.Position
- 9.068528825751553
- 37.67859304913931
+ 86.13444974265813
+ 69.90280107817652
0.0
@@ -83,8 +82,8 @@
org.contikios.cooja.interfaces.Position
- 80.79035680654219
- 30.703106284953506
+ 51.52627033556432
+ 156.50687058384247
0.0
@@ -101,8 +100,8 @@
org.contikios.cooja.interfaces.Position
- 9.77736656046293
- 49.8308642040235
+ 135.46626460917662
+ 175.0121677245167
0.0
@@ -119,8 +118,8 @@
org.contikios.cooja.interfaces.Position
- 45.26921395736429
- 45.67070621929374
+ 42.826166715568235
+ 131.42320868067324
0.0
@@ -137,8 +136,8 @@
org.contikios.cooja.interfaces.Position
- 18.46200164044397
- 1.1473676044364778
+ 187.05667809684172
+ 169.3188559183185
0.0
@@ -155,8 +154,8 @@
org.contikios.cooja.interfaces.Position
- 75.51657406123633
- 60.87695540301412
+ 32.82891907363539
+ 15.516635561430592
0.0
@@ -169,14 +168,464 @@
z12
+
+
+
+ org.contikios.cooja.interfaces.Position
+ 53.227886077285106
+ 56.65074004214692
+ 0.0
+
+
+ org.contikios.cooja.mspmote.interfaces.MspClock
+ 1.0
+
+
+ org.contikios.cooja.mspmote.interfaces.MspMoteID
+ 7
+
+ z12
+
+
+
+
+ org.contikios.cooja.interfaces.Position
+ 9.478776977357972
+ 141.6872676748177
+ 0.0
+
+
+ org.contikios.cooja.mspmote.interfaces.MspClock
+ 1.0
+
+
+ org.contikios.cooja.mspmote.interfaces.MspMoteID
+ 8
+
+ z12
+
+
+
+
+ org.contikios.cooja.interfaces.Position
+ 121.3216653175472
+ 79.12780506658024
+ 0.0
+
+
+ org.contikios.cooja.mspmote.interfaces.MspClock
+ 1.0
+
+
+ org.contikios.cooja.mspmote.interfaces.MspMoteID
+ 9
+
+ z12
+
+
+
+
+ org.contikios.cooja.interfaces.Position
+ 140.4274166445628
+ 48.19411557315654
+ 0.0
+
+
+ org.contikios.cooja.mspmote.interfaces.MspClock
+ 1.0
+
+
+ org.contikios.cooja.mspmote.interfaces.MspMoteID
+ 10
+
+ z12
+
+
+
+
+ org.contikios.cooja.interfaces.Position
+ 141.8774935790525
+ 118.01947990974314
+ 0.0
+
+
+ org.contikios.cooja.mspmote.interfaces.MspClock
+ 1.0
+
+
+ org.contikios.cooja.mspmote.interfaces.MspMoteID
+ 11
+
+ z12
+
+
+
+
+ org.contikios.cooja.interfaces.Position
+ 167.54133708401406
+ 141.62452988655903
+ 0.0
+
+
+ org.contikios.cooja.mspmote.interfaces.MspClock
+ 1.0
+
+
+ org.contikios.cooja.mspmote.interfaces.MspMoteID
+ 12
+
+ z12
+
+
+
+
+ org.contikios.cooja.interfaces.Position
+ 182.19925638559323
+ 45.94414109294538
+ 0.0
+
+
+ org.contikios.cooja.mspmote.interfaces.MspClock
+ 1.0
+
+
+ org.contikios.cooja.mspmote.interfaces.MspMoteID
+ 13
+
+ z12
+
+
+
+
+ org.contikios.cooja.interfaces.Position
+ 94.23114956779912
+ 7.372914932476138
+ 0.0
+
+
+ org.contikios.cooja.mspmote.interfaces.MspClock
+ 1.0
+
+
+ org.contikios.cooja.mspmote.interfaces.MspMoteID
+ 14
+
+ z12
+
+
+
+
+ org.contikios.cooja.interfaces.Position
+ 28.4351017753266
+ 54.086725788078674
+ 0.0
+
+
+ org.contikios.cooja.mspmote.interfaces.MspClock
+ 1.0
+
+
+ org.contikios.cooja.mspmote.interfaces.MspMoteID
+ 15
+
+ z12
+
+
+
+
+ org.contikios.cooja.interfaces.Position
+ 194.99716411863673
+ 74.93216287863017
+ 0.0
+
+
+ org.contikios.cooja.mspmote.interfaces.MspClock
+ 1.0
+
+
+ org.contikios.cooja.mspmote.interfaces.MspMoteID
+ 16
+
+ z12
+
+
+
+
+ org.contikios.cooja.interfaces.Position
+ 34.692590848066104
+ 97.96844103802013
+ 0.0
+
+
+ org.contikios.cooja.mspmote.interfaces.MspClock
+ 1.0
+
+
+ org.contikios.cooja.mspmote.interfaces.MspMoteID
+ 17
+
+ z12
+
+
+
+
+ org.contikios.cooja.interfaces.Position
+ 12.575336165029904
+ 17.556879953372338
+ 0.0
+
+
+ org.contikios.cooja.mspmote.interfaces.MspClock
+ 1.0
+
+
+ org.contikios.cooja.mspmote.interfaces.MspMoteID
+ 18
+
+ z12
+
+
+
+
+ org.contikios.cooja.interfaces.Position
+ 188.5841996502633
+ 116.89735135147325
+ 0.0
+
+
+ org.contikios.cooja.mspmote.interfaces.MspClock
+ 1.0
+
+
+ org.contikios.cooja.mspmote.interfaces.MspMoteID
+ 19
+
+ z12
+
+
+
+
+ org.contikios.cooja.interfaces.Position
+ 133.43709588605824
+ 38.25370176148881
+ 0.0
+
+
+ org.contikios.cooja.mspmote.interfaces.MspClock
+ 1.0
+
+
+ org.contikios.cooja.mspmote.interfaces.MspMoteID
+ 20
+
+ z12
+
+
+
+
+ org.contikios.cooja.interfaces.Position
+ 78.76068226918665
+ 28.22809372316739
+ 0.0
+
+
+ org.contikios.cooja.mspmote.interfaces.MspClock
+ 1.0
+
+
+ org.contikios.cooja.mspmote.interfaces.MspMoteID
+ 21
+
+ z12
+
+
+
+
+ org.contikios.cooja.interfaces.Position
+ 150.08742374085077
+ 70.09703322226797
+ 0.0
+
+
+ org.contikios.cooja.mspmote.interfaces.MspClock
+ 1.0
+
+
+ org.contikios.cooja.mspmote.interfaces.MspMoteID
+ 22
+
+ z12
+
+
+
+
+ org.contikios.cooja.interfaces.Position
+ 48.63056610039707
+ 36.08069318062117
+ 0.0
+
+
+ org.contikios.cooja.mspmote.interfaces.MspClock
+ 1.0
+
+
+ org.contikios.cooja.mspmote.interfaces.MspMoteID
+ 23
+
+ z12
+
+
+
+
+ org.contikios.cooja.interfaces.Position
+ 95.60417975572267
+ 155.21342903799032
+ 0.0
+
+
+ org.contikios.cooja.mspmote.interfaces.MspClock
+ 1.0
+
+
+ org.contikios.cooja.mspmote.interfaces.MspMoteID
+ 24
+
+ z12
+
+
+
+
+ org.contikios.cooja.interfaces.Position
+ 1.4443131618000926
+ 22.60341764850282
+ 0.0
+
+
+ org.contikios.cooja.mspmote.interfaces.MspClock
+ 1.0
+
+
+ org.contikios.cooja.mspmote.interfaces.MspMoteID
+ 25
+
+ z12
+
+
+
+
+ org.contikios.cooja.interfaces.Position
+ 145.97717601565432
+ 28.754329514574174
+ 0.0
+
+
+ org.contikios.cooja.mspmote.interfaces.MspClock
+ 1.0
+
+
+ org.contikios.cooja.mspmote.interfaces.MspMoteID
+ 26
+
+ z12
+
+
+
+
+ org.contikios.cooja.interfaces.Position
+ 107.17179210686996
+ 41.995577152348964
+ 0.0
+
+
+ org.contikios.cooja.mspmote.interfaces.MspClock
+ 1.0
+
+
+ org.contikios.cooja.mspmote.interfaces.MspMoteID
+ 27
+
+ z12
+
+
+
+
+ org.contikios.cooja.interfaces.Position
+ 79.75285371214716
+ 141.10964790096108
+ 0.0
+
+
+ org.contikios.cooja.mspmote.interfaces.MspClock
+ 1.0
+
+
+ org.contikios.cooja.mspmote.interfaces.MspMoteID
+ 28
+
+ z12
+
+
+
+
+ org.contikios.cooja.interfaces.Position
+ 10.011740148116122
+ 5.5755307926002695
+ 0.0
+
+
+ org.contikios.cooja.mspmote.interfaces.MspClock
+ 1.0
+
+
+ org.contikios.cooja.mspmote.interfaces.MspMoteID
+ 29
+
+ z12
+
+
+
+
+ org.contikios.cooja.interfaces.Position
+ 16.516397756095703
+ 100.66328458096703
+ 0.0
+
+
+ org.contikios.cooja.mspmote.interfaces.MspClock
+ 1.0
+
+
+ org.contikios.cooja.mspmote.interfaces.MspMoteID
+ 30
+
+ z12
+
+
+
+
+ org.contikios.cooja.interfaces.Position
+ 103.78274003802443
+ 83.492664972201
+ 0.0
+
+
+ org.contikios.cooja.mspmote.interfaces.MspClock
+ 1.0
+
+
+ org.contikios.cooja.mspmote.interfaces.MspMoteID
+ 31
+
+ z12
+
org.contikios.cooja.plugins.SimControl
280
- 0
+ 1
160
- 681
- 643
+ 4
+ 651
org.contikios.cooja.plugins.Visualizer
@@ -186,11 +635,11 @@
org.contikios.cooja.plugins.skins.GridVisualizerSkin
org.contikios.cooja.plugins.skins.TrafficVisualizerSkin
org.contikios.cooja.plugins.skins.UDGMVisualizerSkin
- 8.441705440311774 0.0 0.0 8.441705440311774 -46.28112185124378 27.204467518174773
+ 4.363597628395609 0.0 0.0 4.363597628395609 -112.84186218972216 -81.59855112545544
- 678
- 3
- 633
+ 667
+ 2
+ 644
1
1
@@ -201,11 +650,11 @@
- 1039
- 1
- 475
- 681
- 160
+ 1041
+ 5
+ 460
+ 679
+ 2
org.contikios.cooja.plugins.TimeLine
@@ -216,41 +665,89 @@
3
4
5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
500.0
1720
- 5
+ 6
166
0
818
-
- org.contikios.cooja.plugins.Notes
-
- Enter notes here
- true
-
- 1040
- 4
- 160
- 680
- 0
-
org.contikios.cooja.serialsocket.SerialSocketServer
0
60001
- true
+ false
362
- 2
+ 3
116
- 992
- 662
+ 287
+ 698
+
+
+ org.contikios.cooja.plugins.RadioLogger
+
+ 213
+
+ false
+ false
+
+ 1052
+ 4
+ 357
+ 667
+ 462
+
+
+ org.contikios.cooja.plugins.ScriptRunner
+
+
+ false
+
+ 600
+ 0
+ 700
+ 176
+ 121
diff --git a/cooja/simulation-prng.csc b/cooja/simulation-prng.csc
new file mode 100644
index 0000000..df5bce6
--- /dev/null
+++ b/cooja/simulation-prng.csc
@@ -0,0 +1,753 @@
+
+
+ [APPS_DIR]/mrm
+ [APPS_DIR]/mspsim
+ [APPS_DIR]/avrora
+ [APPS_DIR]/serial_socket
+ [APPS_DIR]/collect-view
+ [APPS_DIR]/powertracker
+
+ My simulation
+ generated
+ 1000000
+
+ org.contikios.cooja.radiomediums.UDGM
+ 50.0
+ 100.0
+ 1.0
+ 1.0
+
+
+ 40000
+
+
+ org.contikios.cooja.mspmote.Z1MoteType
+ z11
+ border router
+
+ make border-router.z1 TARGET=z1
+ [CONTIKI_DIR]/examples/ipv6/rpl-border-router/border-router.z1
+ org.contikios.cooja.interfaces.Position
+ org.contikios.cooja.interfaces.RimeAddress
+ org.contikios.cooja.interfaces.IPAddress
+ org.contikios.cooja.interfaces.Mote2MoteRelations
+ org.contikios.cooja.interfaces.MoteAttributes
+ org.contikios.cooja.mspmote.interfaces.MspClock
+ org.contikios.cooja.mspmote.interfaces.MspMoteID
+ org.contikios.cooja.mspmote.interfaces.MspButton
+ org.contikios.cooja.mspmote.interfaces.Msp802154Radio
+ org.contikios.cooja.mspmote.interfaces.MspDefaultSerial
+ org.contikios.cooja.mspmote.interfaces.MspLED
+ org.contikios.cooja.mspmote.interfaces.MspDebugOutput
+
+
+ org.contikios.cooja.mspmote.Z1MoteType
+ z12
+ oracle
+
+ make main.z1 TARGET=z1
+ [CONFIG_DIR]/../oracle/main.z1
+ org.contikios.cooja.interfaces.Position
+ org.contikios.cooja.interfaces.RimeAddress
+ org.contikios.cooja.interfaces.IPAddress
+ org.contikios.cooja.interfaces.Mote2MoteRelations
+ org.contikios.cooja.interfaces.MoteAttributes
+ org.contikios.cooja.mspmote.interfaces.MspClock
+ org.contikios.cooja.mspmote.interfaces.MspMoteID
+ org.contikios.cooja.mspmote.interfaces.MspButton
+ org.contikios.cooja.mspmote.interfaces.Msp802154Radio
+ org.contikios.cooja.mspmote.interfaces.MspDefaultSerial
+ org.contikios.cooja.mspmote.interfaces.MspLED
+ org.contikios.cooja.mspmote.interfaces.MspDebugOutput
+
+
+
+
+ org.contikios.cooja.interfaces.Position
+ 2.8401240027287944
+ 20.180398464401506
+ 0.0
+
+
+ org.contikios.cooja.mspmote.interfaces.MspClock
+ 1.0
+
+
+ org.contikios.cooja.mspmote.interfaces.MspMoteID
+ 1
+
+ z11
+
+
+
+
+ org.contikios.cooja.interfaces.Position
+ 62.70457624916895
+ 5.461823348621493
+ 0.0
+
+
+ org.contikios.cooja.mspmote.interfaces.MspClock
+ 1.0
+
+
+ org.contikios.cooja.mspmote.interfaces.MspMoteID
+ 2
+
+ z12
+
+
+
+
+ org.contikios.cooja.interfaces.Position
+ -42.50529195002628
+ 95.99347517915606
+ 0.0
+
+
+ org.contikios.cooja.mspmote.interfaces.MspClock
+ 1.0
+
+
+ org.contikios.cooja.mspmote.interfaces.MspMoteID
+ 3
+
+ z12
+
+
+
+
+ org.contikios.cooja.interfaces.Position
+ -64.0342030412418
+ -76.45182374542104
+ 0.0
+
+
+ org.contikios.cooja.mspmote.interfaces.MspClock
+ 1.0
+
+
+ org.contikios.cooja.mspmote.interfaces.MspMoteID
+ 4
+
+ z12
+
+
+
+
+ org.contikios.cooja.interfaces.Position
+ 26.546391605398625
+ -59.30002353310728
+ 0.0
+
+
+ org.contikios.cooja.mspmote.interfaces.MspClock
+ 1.0
+
+
+ org.contikios.cooja.mspmote.interfaces.MspMoteID
+ 5
+
+ z12
+
+
+
+
+ org.contikios.cooja.interfaces.Position
+ -84.85459248648142
+ 98.55316515771543
+ 0.0
+
+
+ org.contikios.cooja.mspmote.interfaces.MspClock
+ 1.0
+
+
+ org.contikios.cooja.mspmote.interfaces.MspMoteID
+ 6
+
+ z12
+
+
+
+
+ org.contikios.cooja.interfaces.Position
+ 73.08943636820524
+ -36.58257187319245
+ 0.0
+
+
+ org.contikios.cooja.mspmote.interfaces.MspClock
+ 1.0
+
+
+ org.contikios.cooja.mspmote.interfaces.MspMoteID
+ 7
+
+ z12
+
+
+
+
+ org.contikios.cooja.interfaces.Position
+ -98.8057360093751
+ -73.06961837300403
+ 0.0
+
+
+ org.contikios.cooja.mspmote.interfaces.MspClock
+ 1.0
+
+
+ org.contikios.cooja.mspmote.interfaces.MspMoteID
+ 8
+
+ z12
+
+
+
+
+ org.contikios.cooja.interfaces.Position
+ 23.471662544709446
+ 53.225517361008684
+ 0.0
+
+
+ org.contikios.cooja.mspmote.interfaces.MspClock
+ 1.0
+
+
+ org.contikios.cooja.mspmote.interfaces.MspMoteID
+ 9
+
+ z12
+
+
+
+
+ org.contikios.cooja.interfaces.Position
+ -13.565530041615915
+ -80.11928625014107
+ 0.0
+
+
+ org.contikios.cooja.mspmote.interfaces.MspClock
+ 1.0
+
+
+ org.contikios.cooja.mspmote.interfaces.MspMoteID
+ 10
+
+ z12
+
+
+
+
+ org.contikios.cooja.interfaces.Position
+ -34.51438626745433
+ -81.09816665820632
+ 0.0
+
+
+ org.contikios.cooja.mspmote.interfaces.MspClock
+ 1.0
+
+
+ org.contikios.cooja.mspmote.interfaces.MspMoteID
+ 11
+
+ z12
+
+
+
+
+ org.contikios.cooja.interfaces.Position
+ 71.70626744929694
+ -46.85016956041235
+ 0.0
+
+
+ org.contikios.cooja.mspmote.interfaces.MspClock
+ 1.0
+
+
+ org.contikios.cooja.mspmote.interfaces.MspMoteID
+ 12
+
+ z12
+
+
+
+
+ org.contikios.cooja.interfaces.Position
+ -41.520309705555846
+ 71.44077281376488
+ 0.0
+
+
+ org.contikios.cooja.mspmote.interfaces.MspClock
+ 1.0
+
+
+ org.contikios.cooja.mspmote.interfaces.MspMoteID
+ 13
+
+ z12
+
+
+
+
+ org.contikios.cooja.interfaces.Position
+ 43.08727383704024
+ 69.28339212423197
+ 0.0
+
+
+ org.contikios.cooja.mspmote.interfaces.MspClock
+ 1.0
+
+
+ org.contikios.cooja.mspmote.interfaces.MspMoteID
+ 14
+
+ z12
+
+
+
+
+ org.contikios.cooja.interfaces.Position
+ 1.1574329431798276
+ -10.80591664080768
+ 0.0
+
+
+ org.contikios.cooja.mspmote.interfaces.MspClock
+ 1.0
+
+
+ org.contikios.cooja.mspmote.interfaces.MspMoteID
+ 15
+
+ z12
+
+
+
+
+ org.contikios.cooja.interfaces.Position
+ 86.63895925194797
+ 16.352747256872362
+ 0.0
+
+
+ org.contikios.cooja.mspmote.interfaces.MspClock
+ 1.0
+
+
+ org.contikios.cooja.mspmote.interfaces.MspMoteID
+ 16
+
+ z12
+
+
+
+
+ org.contikios.cooja.interfaces.Position
+ 70.93169772866406
+ 20.543994795105263
+ 0.0
+
+
+ org.contikios.cooja.mspmote.interfaces.MspClock
+ 1.0
+
+
+ org.contikios.cooja.mspmote.interfaces.MspMoteID
+ 17
+
+ z12
+
+
+
+
+ org.contikios.cooja.interfaces.Position
+ 39.091328725160054
+ 55.941084547841
+ 0.0
+
+
+ org.contikios.cooja.mspmote.interfaces.MspClock
+ 1.0
+
+
+ org.contikios.cooja.mspmote.interfaces.MspMoteID
+ 18
+
+ z12
+
+
+
+
+ org.contikios.cooja.interfaces.Position
+ 16.453276006224286
+ -59.66650954910484
+ 0.0
+
+
+ org.contikios.cooja.mspmote.interfaces.MspClock
+ 1.0
+
+
+ org.contikios.cooja.mspmote.interfaces.MspMoteID
+ 19
+
+ z12
+
+
+
+
+ org.contikios.cooja.interfaces.Position
+ -4.390747291039673
+ 87.26687348716987
+ 0.0
+
+
+ org.contikios.cooja.mspmote.interfaces.MspClock
+ 1.0
+
+
+ org.contikios.cooja.mspmote.interfaces.MspMoteID
+ 20
+
+ z12
+
+
+
+
+ org.contikios.cooja.interfaces.Position
+ -91.67228068349867
+ -31.508149118910467
+ 0.0
+
+
+ org.contikios.cooja.mspmote.interfaces.MspClock
+ 1.0
+
+
+ org.contikios.cooja.mspmote.interfaces.MspMoteID
+ 21
+
+ z12
+
+
+
+
+ org.contikios.cooja.interfaces.Position
+ 53.98786953015234
+ -66.86616338929652
+ 0.0
+
+
+ org.contikios.cooja.mspmote.interfaces.MspClock
+ 1.0
+
+
+ org.contikios.cooja.mspmote.interfaces.MspMoteID
+ 22
+
+ z12
+
+
+
+
+ org.contikios.cooja.interfaces.Position
+ 30.80831962466192
+ 51.80268003334382
+ 0.0
+
+
+ org.contikios.cooja.mspmote.interfaces.MspClock
+ 1.0
+
+
+ org.contikios.cooja.mspmote.interfaces.MspMoteID
+ 23
+
+ z12
+
+
+
+
+ org.contikios.cooja.interfaces.Position
+ 81.0646699044992
+ -79.55330040239726
+ 0.0
+
+
+ org.contikios.cooja.mspmote.interfaces.MspClock
+ 1.0
+
+
+ org.contikios.cooja.mspmote.interfaces.MspMoteID
+ 24
+
+ z12
+
+
+
+
+ org.contikios.cooja.interfaces.Position
+ -29.078011851630833
+ 53.4674864072434
+ 0.0
+
+
+ org.contikios.cooja.mspmote.interfaces.MspClock
+ 1.0
+
+
+ org.contikios.cooja.mspmote.interfaces.MspMoteID
+ 25
+
+ z12
+
+
+
+
+ org.contikios.cooja.interfaces.Position
+ -18.275675734835886
+ 30.46886342152942
+ 0.0
+
+
+ org.contikios.cooja.mspmote.interfaces.MspClock
+ 1.0
+
+
+ org.contikios.cooja.mspmote.interfaces.MspMoteID
+ 26
+
+ z12
+
+
+
+
+ org.contikios.cooja.interfaces.Position
+ 81.7369940927974
+ 33.90815409313575
+ 0.0
+
+
+ org.contikios.cooja.mspmote.interfaces.MspClock
+ 1.0
+
+
+ org.contikios.cooja.mspmote.interfaces.MspMoteID
+ 27
+
+ z12
+
+
+
+
+ org.contikios.cooja.interfaces.Position
+ 30.75563686385422
+ 55.40035529973554
+ 0.0
+
+
+ org.contikios.cooja.mspmote.interfaces.MspClock
+ 1.0
+
+
+ org.contikios.cooja.mspmote.interfaces.MspMoteID
+ 28
+
+ z12
+
+
+
+
+ org.contikios.cooja.interfaces.Position
+ -38.71906313508564
+ 88.66374116285508
+ 0.0
+
+
+ org.contikios.cooja.mspmote.interfaces.MspClock
+ 1.0
+
+
+ org.contikios.cooja.mspmote.interfaces.MspMoteID
+ 29
+
+ z12
+
+
+
+
+ org.contikios.cooja.interfaces.Position
+ 16.30310917244114
+ 14.567282002160084
+ 0.0
+
+
+ org.contikios.cooja.mspmote.interfaces.MspClock
+ 1.0
+
+
+ org.contikios.cooja.mspmote.interfaces.MspMoteID
+ 30
+
+ z12
+
+
+
+
+ org.contikios.cooja.interfaces.Position
+ -7.756304235356026
+ 39.799774604890644
+ 0.0
+
+
+ org.contikios.cooja.mspmote.interfaces.MspClock
+ 1.0
+
+
+ org.contikios.cooja.mspmote.interfaces.MspMoteID
+ 31
+
+ z12
+
+
+
+ org.contikios.cooja.plugins.SimControl
+ 280
+ 3
+ 160
+ 11
+ 627
+
+
+ org.contikios.cooja.plugins.Visualizer
+
+ true
+ org.contikios.cooja.plugins.skins.IDVisualizerSkin
+ org.contikios.cooja.plugins.skins.GridVisualizerSkin
+ org.contikios.cooja.plugins.skins.TrafficVisualizerSkin
+ org.contikios.cooja.plugins.skins.UDGMVisualizerSkin
+ 2.631613289609486 0.0 0.0 2.631613289609486 346.00912570327847 269.9189081106048
+
+ 672
+ 1
+ 609
+ 1
+ 1
+
+
+ org.contikios.cooja.plugins.LogListener
+
+
+
+
+
+ 1040
+ 4
+ 436
+ 677
+ 374
+
+
+ org.contikios.cooja.plugins.TimeLine
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+
+
+
+ 500.0
+
+ 1720
+ 6
+ 166
+ 0
+ 818
+
+
+ org.contikios.cooja.serialsocket.SerialSocketServer
+ 0
+
+ 60001
+ false
+
+ 362
+ 2
+ 116
+ 301
+ 654
+
+
+ org.contikios.cooja.plugins.RadioLogger
+
+ 150
+
+ false
+ false
+
+ 1037
+ 5
+ 366
+ 677
+ 3
+
+
+ org.contikios.cooja.plugins.ScriptRunner
+
+
+ false
+
+ 600
+ 0
+ 700
+ 958
+ 39
+
+
+
diff --git a/oracle/main.c b/oracle/main.c
index 0152c44..cadc5e7 100644
--- a/oracle/main.c
+++ b/oracle/main.c
@@ -22,7 +22,7 @@ void res_get_handler(void* request, void* response, uint8_t* buffer, uint16_t pr
void res_periodic_handler();
/* declare resource and set handlers */
-PERIODIC_RESOURCE(myresource, "title=\"An observable resource\";rt=\"some descriptive text\";obs", res_get_handler, NULL, NULL, NULL, 10 * CLOCK_SECOND, res_periodic_handler);
+PERIODIC_RESOURCE(myresource, "title=\"An observable resource\";rt=\"some descriptive text\";obs", res_get_handler, NULL, NULL, NULL, 60 * CLOCK_SECOND, res_periodic_handler);
void res_periodic_handler() {
/* sample some sensor */
diff --git a/oracle/project-conf.h b/oracle/project-conf.h
index 06133e3..5bca679 100644
--- a/oracle/project-conf.h
+++ b/oracle/project-conf.h
@@ -1,9 +1,10 @@
-/* reduce RAM consumption */
-
#ifndef PROJECT_CONF_H_
#define PROJECT_CONF_H_
-#undef REST_MAX_CHUNK_SIZE // Set the max response payload before fragmentation
+
+/* Set the max response payload before fragmentation */
+#undef REST_MAX_CHUNK_SIZE
#define REST_MAX_CHUNK_SIZE 64
+<<<<<<< HEAD
#undef COAP_MAX_OPEN_TRANSACTIONS // Set the max number of concurrent transactions
#define COAP_MAX_OPEN_TRANSACTIONS 4
#undef NBR_TABLE_CONF_MAX_NEIGHBORS // Set the max number of entries in neighbors table
@@ -21,5 +22,34 @@
#undef RPL_CONF_DIO_INTERVAL_DOUBLINGS
#define RPL_CONF_DIO_INTERVAL_DOUBLINGS 25
+=======
+
+/* Set the max number of concurrent transactions */
+#undef COAP_MAX_OPEN_TRANSACTIONS
+#define COAP_MAX_OPEN_TRANSACTIONS 2
+
+/* Set the max number of entries in neighbors table */
+#undef NBR_TABLE_CONF_MAX_NEIGHBORS
+#define NBR_TABLE_CONF_MAX_NEIGHBORS 10
+
+/*Set the max number of routes handled by the node */
+#undef UIP_CONF_MAX_ROUTES
+#define UIP_CONF_MAX_ROUTES 32
+
+/* Set the amount of memory reserved to the uIP packet buffer */
+#undef UIP_CONF_BUFFER_SIZE
+#define UIP_CONF_BUFFER_SIZE 192
+
+/* RPL specific tuning parameters */
+#undef RPL_CONF_DIO_REDUNDANCY
+#define RPL_CONF_DIO_REDUNDANCY 10
+
+#undef RPL_CONF_INTERVAL_MIN
+#define RPL_CONF_INTERVAL_MIN 3
+
+#undef RPL_CONF_DIO_INTERVAL_DOUBLINGS
+#define RPL_CONF_DIO_INTERVAL_DOUBLINGS 8
+
+>>>>>>> rplfix
#endif
diff --git a/simulation/.gitignore b/simulation/.gitignore
new file mode 100644
index 0000000..4d80fa1
--- /dev/null
+++ b/simulation/.gitignore
@@ -0,0 +1,4 @@
+results/
+env/
+*.csv
+
diff --git a/simulation/drawplot.sh b/simulation/drawplot.sh
new file mode 100755
index 0000000..67c8c37
--- /dev/null
+++ b/simulation/drawplot.sh
@@ -0,0 +1,5 @@
+#!/bin/bash
+
+python pretty.py | sort -n > pretty.csv
+python plot.py
+
diff --git a/simulation/main.sh b/simulation/main.sh
new file mode 100755
index 0000000..a83fb24
--- /dev/null
+++ b/simulation/main.sh
@@ -0,0 +1,41 @@
+#!/bin/bash
+
+REPOSITORY=$(pwd)
+CONTIKI=/home/giomba/workspace/uni/contiki/
+SIMULATION=/home/giomba/workspace/uni/anaws-proj/cooja/simulation-prng.csc
+REPEAT=20
+
+# Setup environment
+mkdir -p "$REPOSITORY/simulation/results"
+
+# Setup simulation parameters
+for KAPPA in 5; do
+ for I_MIN in 20 18 16; do
+ I_MAX=$((22 - I_MIN)) # 22 =~ 70 minutes
+
+ for PROJECTCONF in "$REPOSITORY/oracle/project-conf.h" "$CONTIKI/examples/ipv6/rpl-border-router/project-conf.h"; do
+ sed -i "s/^\#define RPL_CONF_DIO_REDUNDANCY *[0-9]*$/\#define RPL_CONF_DIO_REDUNDANCY $KAPPA/g" "$PROJECTCONF"
+ sed -i "s/^\#define RPL_CONF_INTERVAL_MIN *[0-9]*$/\#define RPL_CONF_INTERVAL_MIN $I_MIN/g" "$PROJECTCONF"
+ sed -i "s/^\#define RPL_CONF_DIO_INTERVAL_DOUBLINGS *[0-9]*$/\#define RPL_CONF_DIO_INTERVAL_DOUBLINGS $I_MAX/g" "$PROJECTCONF"
+ done
+
+ # Run simulation
+ for (( i = 0; i<=$REPEAT; i++ )); do
+ cd "$CONTIKI/tools/cooja"
+ ant run_nogui -Dargs="$SIMULATION" &
+
+ cd "$CONTIKI/examples/ipv6/rpl-border-router"
+ RESULT=""
+ while [ -z $RESULT ]; do # wait for cooja border router server
+ sleep 1
+ RESULT=$(ss -tlnp | awk '{print $4}' | grep 60001)
+ done
+ make connect-router-cooja PREFIX="2001:470:c844:32::1/64" # this will terminate as soon as simulation ends
+
+ UNIXTIMESTAMP=$(date +%s)
+ echo -e "REPEAT\t$i\nKAPPA\t$KAPPA\nI_MIN\t$I_MIN\nI_MAX\t$I_MAX\n" | cat - "$CONTIKI/tools/cooja/build/COOJA.testlog" > "$REPOSITORY/simulation/results/$UNIXTIMESTAMP"
+ done
+ done
+done
+
+
diff --git a/simulation/plot.py b/simulation/plot.py
new file mode 100644
index 0000000..93127a9
--- /dev/null
+++ b/simulation/plot.py
@@ -0,0 +1,37 @@
+import matplotlib.pyplot as plt
+import matplotlib.patches as mpatches
+import numpy as numpy
+import pandas as pd
+
+def getcolor(n):
+ return ['#aa0000', '#00aa00', '#0000aa', '#aaaa00', '#aa00aa'][int((i - 12) / 2)]
+
+df = pd.read_csv('pretty.csv', delimiter='\s', engine='python')
+
+x = df['k'].unique()
+
+for i in df['i_min'].unique():
+ rows = df.loc[df['i_min'] == i]
+ plt.errorbar(
+ x,
+ rows['mean'],
+ yerr=rows['ci'],
+ marker='.',
+ capsize=4,
+ ms=3,
+ mec='r',
+ mfc='r',
+ linestyle='-',
+ linewidth=1,
+ color=getcolor(i),
+ ecolor='red'
+ )
+
+handles = []
+for i in df['i_min'].unique():
+ handles.append(mpatches.Patch(color=getcolor(i), label='Imin = ' + str(i)))
+
+plt.legend(handles=handles)
+
+plt.show()
+
diff --git a/simulation/pretty.py b/simulation/pretty.py
new file mode 100644
index 0000000..039ba1e
--- /dev/null
+++ b/simulation/pretty.py
@@ -0,0 +1,63 @@
+import matplotlib.pyplot as plt
+import numpy as np
+import pandas as pd
+import csv
+import os
+import re
+import statistics
+
+### PARAMETERS ###
+RESULTSDIR='results/'
+
+### FUNCTIONS ###
+def compute_confidence_interval(samples): # 95%
+ stdev = statistics.stdev(samples)
+ ci = 1.96 * stdev / np.sqrt(len(samples))
+ return ci
+
+### GLOBAL VARIABLES ###
+all_route_discovery = dict()
+
+### MAIN ###
+for filename in os.listdir(RESULTSDIR):
+ df = pd.read_csv(RESULTSDIR + '/' + filename,
+ delimiter='\s|\t',
+ index_col=0,
+ nrows=4,
+ engine='python',
+ header=None).T
+
+ kappa = int(df['KAPPA'].to_string().split()[1])
+ i_min = int(df['I_MIN'].to_string().split()[1])
+ key = str(kappa) + ':' + str(i_min)
+
+ if (not key in all_route_discovery):
+ all_route_discovery[key] = { 'samples': [], 'k': kappa, 'i_min': i_min, 'count': 0 }
+
+ all_route_discovery[key]['count'] += 1
+
+ with open(RESULTSDIR + '/' + filename) as file:
+ for line in file:
+ if (re.match('ALL-ROUTE-DISCOVERY', line)):
+ t = int(line.split()[1]) / (10**6)
+ all_route_discovery[key]['samples'].append(t)
+ break
+
+# now, for every k, i_min, i_max
+# all_route_discovery contains an array with all samples of the measured value
+
+print('k i_min count mean ci')
+for simulation in all_route_discovery:
+ all_route_discovery[simulation]['mean'] = np.mean(all_route_discovery[simulation]['samples'])
+ all_route_discovery[simulation]['ci'] = compute_confidence_interval(all_route_discovery[simulation]['samples'])
+
+ print(
+ all_route_discovery[simulation]['k'],
+ all_route_discovery[simulation]['i_min'],
+ all_route_discovery[simulation]['count'],
+ all_route_discovery[simulation]['mean'],
+ all_route_discovery[simulation]['ci']
+ )
+
+exit(0)
+
diff --git a/simulation/requirements.txt b/simulation/requirements.txt
new file mode 100644
index 0000000..cfb5eff
--- /dev/null
+++ b/simulation/requirements.txt
@@ -0,0 +1,10 @@
+cycler==0.10.0
+kiwisolver==1.1.0
+matplotlib==3.1.2
+numpy==1.17.4
+pandas==0.25.3
+pkg-resources==0.0.0
+pyparsing==2.4.5
+python-dateutil==2.8.1
+pytz==2019.3
+six==1.13.0