Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
954 changes: 954 additions & 0 deletions PODC_PROTOCOL_DESCRIPTION.txt

Large diffs are not rendered by default.

730 changes: 730 additions & 0 deletions build_charts.py

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion compile.bat
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ set targetdir=target

IF NOT EXIST "%targetdir%" mkdir %targetdir%

javac -sourcepath src -d %targetdir% -cp lib/ECLA.jar;lib/DTNConsoleConnection.jar src/core/*.java src/movement/*.java src/report/*.java src/routing/*.java src/gui/*.java src/input/*.java src/applications/*.java src/interfaces/*.java
javac -sourcepath src -d %targetdir% -cp lib/ECLA.jar;lib/DTNConsoleConnection.jar src/core/*.java src/movement/*.java src/report/*.java src/routing/*.java src/routing/podc/*.java src/gui/*.java src/input/*.java src/applications/*.java src/interfaces/*.java



Expand Down
2 changes: 1 addition & 1 deletion compile.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ targetdir=target

if [ ! -d "$targetdir" ]; then mkdir $targetdir; fi

javac -sourcepath src -d $targetdir -cp lib/ECLA.jar:lib/DTNConsoleConnection.jar src/core/*.java src/movement/*.java src/report/*.java src/routing/*.java src/gui/*.java src/input/*.java src/applications/*.java src/interfaces/*.java
javac -sourcepath src -d $targetdir -cp lib/ECLA.jar:lib/DTNConsoleConnection.jar src/core/*.java src/movement/*.java src/report/*.java src/routing/*.java src/routing/podc/*.java src/gui/*.java src/input/*.java src/applications/*.java src/interfaces/*.java

if [ ! -d "$targetdir/gui/buttonGraphics" ]; then cp -R src/gui/buttonGraphics target/gui/; fi

27 changes: 17 additions & 10 deletions default_settings.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@
Scenario.name = default_scenario
Scenario.simulateConnections = true
Scenario.updateInterval = 0.1
# 43200s == 12h
Scenario.endTime = 43200
# PoDC / UI demo: enough time for many small-message deliveries and ACKs (full map: 43200)
Scenario.endTime = 3600

## Interface-specific settings:
# type : which interface class the interface belongs to
Expand All @@ -18,8 +18,8 @@ Scenario.endTime = 43200

# "Bluetooth" interface for all nodes
btInterface.type = SimpleBroadcastInterface
# Transmit speed of 2 Mbps = 250kBps
btInterface.transmitSpeed = 250k
# Higher rate helps PoDC demo (many ACK/data completions in UI time)
btInterface.transmitSpeed = 2M
btInterface.transmitRange = 10

# High speed, long range, interface for group 4
Expand Down Expand Up @@ -52,7 +52,7 @@ Scenario.nrofHostGroups = 6

# Common settings for all groups
Group.movementModel = ShortestPathMapBasedMovement
Group.router = EpidemicRouter
Group.router = PoDCRouter
Group.bufferSize = 5M
Group.waitTime = 0, 120
# All nodes have the bluetooth interface
Expand Down Expand Up @@ -116,10 +116,9 @@ Events.nrof = 1
# Class of the first event generator
Events1.class = MessageEventGenerator
# (following settings are specific for the MessageEventGenerator class)
# Creation interval in seconds (one new message every 25 to 35 seconds)
Events1.interval = 25,35
# Message sizes (500kB - 1MB)
Events1.size = 500k,1M
# Smaller payloads + shorter interval => many completed deliveries and ACKs in the GUI
Events1.interval = 4,10
Events1.size = 8k,20k
# range of message source/destination addresses
Events1.hosts = 0,126
# Message ID prefix
Expand All @@ -145,20 +144,28 @@ MapBasedMovement.mapFile4 = data/shops.wkt
## Reports - all report names have to be valid report classes

# how many reports to load
Report.nrofReports = 2
Report.nrofReports = 4
# 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/
# Report classes to load
Report.report1 = MessageStatsReport
Report.report2 = ContactTimesReport
Report.report3 = MessageDelayReport
Report.report4 = DeliveredMessagesReport

## Default settings for some routers settings
ProphetRouter.secondsInTimeUnit = 30
SprayAndWaitRouter.nrofCopies = 6
SprayAndWaitRouter.binaryMode = true

# PoDCRouter (Proof-of-Delivery-Chain)
Group.PoDCRouter.alpha = 0.7
Group.PoDCRouter.beta = 0.3
Group.PoDCRouter.decayLambda = 0.01
Group.PoDCRouter.dropThreshold = 0.5

## Optimization settings -- these affect the speed of the simulation
## see World class for details.
Optimization.cellSizeMult = 5
Expand Down
61 changes: 61 additions & 0 deletions reports/PoDC_drop0.3_s1_gini_timeseries.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
time,gini
0,0.000000
60,0.000000
120,0.000000
180,0.000000
240,0.000000
300,0.000000
360,0.978559
420,0.938471
480,0.900300
540,0.900637
600,0.885657
660,0.868457
720,0.831289
780,0.822301
840,0.797152
900,0.705899
960,0.706860
1020,0.668899
1080,0.647334
1140,0.631212
1200,0.627231
1260,0.619775
1320,0.619348
1380,0.620146
1440,0.610047
1500,0.610076
1560,0.609121
1620,0.603806
1680,0.611638
1740,0.607974
1800,0.612289
1860,0.599404
1920,0.580100
1980,0.561720
2040,0.560055
2100,0.551336
2160,0.553329
2220,0.542806
2280,0.536488
2340,0.539912
2400,0.539912
2460,0.540918
2520,0.539950
2580,0.536402
2640,0.529715
2700,0.516786
2760,0.514135
2820,0.512045
2880,0.509938
2940,0.508209
3000,0.505631
3060,0.501787
3120,0.500611
3180,0.499536
3240,0.497223
3300,0.490703
3360,0.490532
3420,0.486569
3480,0.489572
3540,0.494977
Loading