-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathhcs_floating.txt
242 lines (196 loc) · 8.47 KB
/
hcs_floating.txt
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
#
# FloatinContent settings for the ONE simulator
#
# IMPORTANT: This configuration file conflicts with hcs_default.txt in this directory. For running
# Floating Content simulation, rename hcs_default.txt or make sure it is not in the same directory
# in which you run one.sh.
#
# This file (hcs_floating.txt) provides the default settings for basic floating content simulations.
# It covers *only* the router settings but not the FloatingContent application used to generate messages.
# It must therefore be combined with secondary settings file (floating_app.txt).
#
# Moreover, to iterate through alternative scenarios, the script sim_floating_content.sh will dynamically
# create a third config file 'scen_file.<id>' and feed this into the ONE simulator. As a result, some
# of the (default) settings from the former two files will be intentionally overwritten to iterate through
# the different simulation scenarios.
#
# Order: ./one.sh -b <#runs> hcs_floating.txt floating_app.txt [scen_file.<id>]
#
## Scenario settings
Scenario.name = hcs_floating
Scenario.simulateConnections = true
Scenario.updateInterval = 0.1
# Scenario.updateInterval = 1
# 6h
# Scenario.endTime = 21600
Scenario.endTime = 90000
Scenario.ttlSeconds = true
Group.publish.MovementModel.waypoint = true
## Interface-specific settings:
# type : which interface class the interface belongs to
# For different types, the sub-parameters are interface-specific
# For SimpleBroadcastInterface, the parameters are:
# transmitSpeed : transmit speed of the interface (bytes per second)
# transmitRange : range of the interface (meters)
firstinterface.type = SimpleBroadcastInterface
firstinterface.transmitSpeed = 250k
firstinterface.transmitRange = 10
dummyinterface.type = SimpleBroadcastInterface
dummyinterface.transmitSpeed = 250k
dummyinterface.transmitRange = 3
Group.nrofInterfaces = 1
Group.interface1 = firstinterface
# Define 7 different node groups: 1 unreachable target + 6 real ones
Scenario.nrofHostGroups = 7
### FloatingContent-specific settings
## When to delete a message when moving outside the anchor zone
# deletionPolicy: { immediate, encounter }
FloatingContentRouter.deletionPolicy = encounter
# replication policy: { fifo, rnd, saf, svf, svf2, stf, stf2 }
FloatingContentRouter.replicationPolicy = fifo
# Random seed for the router
FloatingContentRouter.seed = [0; 1; 2; 3; 4; 5; 6; 7; 8; 9 ]
# Replication and deletion algorithms for the buffer zone must be one of:
# { none, linear, exp, cosine, <prob>}
# where probability is a floating point number 0 <= <prob> <= 1.0
FloatingContentRouter.replicationAlgorithm = none
FloatingContentRouter.deletionAlgorithm = none
## Dealing with location errors
# Source of the location information
# locationError: min,max (min,max) error range in meters, equal for both x and y
# if the value is not present, no location error is assumed
# FloatingContentRouter.locationError = 0,10
# locationUpdate: 1.5 interval in which the location is acquired (in seconds)
# if the value is not present, no location update latency is assumed
# FloatingContentRouter.locationUpdate = 1.0
# locationSource: { none, gps, hotspot }
# This variable is read but "hotspot" has no effect in this release.
# "none" indicates that the node has no notion of location and will only update it own
# location state when coming in contact with other nodes who do.
# if the variable is not present, ONE-internal (i.e., precise) location information is assumed
# FloatingContentRouter.locationSource = gps
# locationRaion: 0.0 ... 1.0 fraction p of nodes having location information
# Configuring the locationSource of individual nodes may be cumbersome. locationRation
# specifies which share of the nodes have GPS coordinates (possibly subject to errors).
# Upon its creation, each node is assigned implicitly 'locationSource = none' with a
# probability of 1 - p. By default, all nodes have location information.
# FloatingContentRouter.locationRatio = 1.0
## Group-specific settings:
# groupID : Group's identifier. Used as the prefix of host names
# nrofHosts: number of hosts in the group
# movementModel: movement model of the hosts (valid class name from movement package)
# waitTime: minimum and maximum wait times (seconds) after reaching destination
# speed: minimum and maximum speeds (m/s) when moving on a path
# bufferSize: size of the message buffer (bytes)
# router: router used to route messages (valid class name from routing package)
# activeTimes: Time intervals when the nodes in the group are active (start1, end1, start2, end2, ...)
# msgTtl : TTL (minutes) of the messages created by this host group, default=infinite
## Group and movement model specific settings
# pois: Points Of Interest indexes and probabilities (poiIndex1, poiProb1, poiIndex2, poiProb2, ... )
# for ShortestPathMapBasedMovement
# okMaps : which map nodes are OK for the group (map file indexes), default=all
# for all MapBasedMovent models
# routeFile: route's file path - for MapRouteMovement
# routeType: route's type - for MapRouteMovement
# Common settings for all groups
Group.movementModel = ShortestPathMapBasedMovement
Group.bufferSize = 5M
Group.waitTime = 0, 120
# Enable the Floating Content router
# Details will set in the floating_app.txt config file
Group.router = FloatingContentRouter
# Walking speeds
Group.speed = 0.5, 1.5
# Message TTL of 300 minutes (5 hours)
Group.msgTtl = 300
Group.nrofHosts = 40
# group1: virtual message target
Group1.groupID = V
Group1.nrofInterfaces = 1
Group1.interface1 = dummyinterface
Group1.movementModel = StationaryMovement
Group1.nrofHosts = 1
Group1.speed = 0, 0
Group1.nodeLocation = 4499, 3399
Group1.nrOfApplications = 0
# group7 (pedestrians) specific settings
Group7.groupID = p
# group2 specific settings
Group2.groupID = c
# cars can drive only on roads
Group2.okMaps = 1
# 10-50 km/h
Group2.speed = 2.7, 13.9
# another group of pedestrians
Group3.groupID = w
# The Tram groups
Group4.groupID = t
Group4.bufferSize = 50M
Group4.movementModel = MapRouteMovement
Group4.routeFile = data/tram3.wkt
Group4.routeType = 1
Group4.waitTime = 10, 30
Group4.speed = 7, 10
Group4.nrofHosts = 2
Group5.groupID = t
Group5.bufferSize = 50M
Group5.movementModel = MapRouteMovement
Group5.routeFile = data/tram4.wkt
Group5.routeType = 2
Group5.waitTime = 10, 30
Group5.speed = 7, 10
Group5.nrofHosts = 2
Group6.groupID = t
Group6.bufferSize = 50M
Group6.movementModel = MapRouteMovement
Group6.routeFile = data/tram10.wkt
Group6.routeType = 2
Group6.waitTime = 10, 30
Group6.speed = 7, 10
Group6.nrofHosts = 2
## Message creation parameters
# How many event generators
Events.nrof = 0
## Movement model settings
# seed for movement models' pseudo random number generator (default = 0)
MovementModel.rngSeed = [ 0; 1; 2; 3; 4; 5; 6; 7; 8; 9; ]
# World's size for Movement Models without implicit size (width, height; meters)
MovementModel.worldSize = 4500, 3400
Group.worldSize = 4500, 3400
# How long time to move hosts in the world before real simulation
MovementModel.warmup = 1000
## Map based movement -movement model specific settings
MapBasedMovement.nrofMapFiles = 4
MapBasedMovement.mapFile1 = data/roads.wkt
MapBasedMovement.mapFile2 = data/main_roads.wkt
MapBasedMovement.mapFile3 = data/pedestrian_paths.wkt
MapBasedMovement.mapFile4 = data/shops.wkt
## Reports - all report names have to be valid report classes
# how many reports to load
Report.nrofReports = 1
# length of the warm up period (simulated seconds)
Report.warmup = 0
# default directory of reports (can be overridden per Report with output setting)
Report.reportDir = [ reports/0; reports/1; reports/2; reports/3; reports/4; reports/5; reports/6; reports/7; reports/8; reports/9 ]
# Report classes to load
Report.report1 = FloatingContentSummaryReport
# Report.report2 = FloatingMessageReport
# Report.report3 = MessageLocationReport
MessageLocationReport.granularity = 10
## Optimization settings -- these affect the speed of the simulation
## see World class for details.
Optimization.cellSizeMult = 5
Optimization.randomizeUpdateOrder = true
## GUI settings
# GUI underlay image settings
GUI.UnderlayImage.fileName = data/helsinki_underlay.png
# Image offset in pixels (x, y)
GUI.UnderlayImage.offset = 64, 20
# Scaling factor for the image
GUI.UnderlayImage.scale = 4.75
# Image rotation (radians)
GUI.UnderlayImage.rotate = -0.015
# how many events to show in the log panel (default = 30)
GUI.EventLogPanel.nrofEvents = 100
# Regular Expression log filter (see Pattern-class from the Java API for RE-matching details)
#GUI.EventLogPanel.REfilter = .*p[1-9]<->p[1-9]$