Thanks to visit codestin.com
Credit goes to github.com

Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1558 commits
Select commit Hold shift + click to select a range
5d898a3
Decrease data item size
bheymann Jul 20, 2017
7b993e6
Add todo for maps
bheymann Jul 20, 2017
5b69c2b
Correct number of events
Jul 20, 2017
702a89b
Merge branch 'feature-#349-remove-maps-from-config' into 'master'
Jul 20, 2017
59c39fc
Adapt utility values
bheymann Jul 20, 2017
ffbe45d
Merge branch 'master' into 'feature-#414-fix-data-item-size'
Jul 20, 2017
a885f25
Merge remote-tracking branch 'remotes/origin/master' into feature-#41…
bheymann Jul 20, 2017
72cabf0
Merge remote-tracking branch 'remotes/origin/master' into feature-#35…
bheymann Jul 20, 2017
ea0ffc7
Merge branch 'feature-#414-fix-data-item-size' into 'master'
Jul 20, 2017
4571775
Enable test to fail
bheymann Jul 20, 2017
0a91cd6
Merge branch 'fix-non-failing-test' into 'master'
Jul 20, 2017
3feec91
Make message ID dependent on wrapped data
bheymann Jul 20, 2017
bf97927
Merge remote-tracking branch 'remotes/origin/master' into feature-#41…
bheymann Jul 20, 2017
7193a90
Only initialize database once
bheymann Jul 20, 2017
7fde439
Fix too long line
bheymann Jul 20, 2017
0d1b6f4
Decay delivery predictabilities every time window
bheymann Jul 20, 2017
584d849
Adapt buffer size according to Hessentag results
Jul 21, 2017
531f546
Adapt config after Hessentag evaluation
Jul 21, 2017
7593dfe
Merge branch 'feature-#420-evaluate-buffer-size' into 'master'
Jul 21, 2017
c80bf88
Merge branch 'feature-#419-evaluate-battery-level' into 'master'
Jul 21, 2017
68b596a
Add the delivery pred update to disaster router
bheymann Jul 21, 2017
6eab6de
Start DisasterBufferComparator
bheymann Jul 21, 2017
2f70d55
Cache messages in DisasterRouter
bheymann Jul 21, 2017
0e0999b
Start writing tests for caching messages
bheymann Jul 21, 2017
8189c23
Add tests for caching in DisasterRouter
bheymann Jul 22, 2017
64c4dc4
Add test and explantion for ActiveRouter caching
bheymann Jul 22, 2017
30881e2
Complete DisasterBufferComparator and its test
bheymann Jul 22, 2017
e0ca89b
Fix comment
bheymann Jul 22, 2017
f3fed0a
Add buffer management to disaster router
bheymann Jul 22, 2017
5d28516
Add test about sending messages not being deleted
bheymann Jul 22, 2017
341ecf3
Uncomment buffer settings
bheymann Jul 22, 2017
c97f1bd
Add power threshold
bheymann Jul 23, 2017
304c25f
Stop sending to low-powered or busy connections
bheymann Jul 23, 2017
2b93578
Add tests for power threshold
bheymann Jul 23, 2017
a5ccc00
Increase transmit range according to Hessentag evaluation
Jul 23, 2017
28d7ccf
Implement rescue mode message chooser
bheymann Jul 23, 2017
daa4bda
Merge remote-tracking branch 'remotes/origin/feature-#412-multiple-da…
bheymann Jul 23, 2017
edf1b96
Fix merging issues
bheymann Jul 23, 2017
a075db2
Add more comments and improve naming
bheymann Jul 23, 2017
bd8539b
Increase max data size to 1kB
Jul 23, 2017
c754169
Scale transmit range back since to avoid overly optimistic simulation
Jul 23, 2017
d0aa4e7
Merge branch 'feature-#421-evaluate-connectivity' into 'master'
Jul 23, 2017
aaaef4b
Adapt DisasterRouter to switch between modes
bheymann Jul 23, 2017
9c72103
Fix failing tests
bheymann Jul 23, 2017
bf68eda
Add new settings to file
bheymann Jul 23, 2017
79bc5f2
Add tests for database app
bheymann Jul 23, 2017
7340560
Merge branch 'feature-#412-multiple-data-items' into 'master'
Jul 23, 2017
da38101
Add tests to DatabaseApplicationUtilTest
bheymann Jul 23, 2017
cdbd38d
Merge branch 'feature-#349-realistic-data-size' into 'master'
Jul 23, 2017
3a1461d
Merge branch 'feature-#377-decay-delivery-preds' into 'master'
Jul 23, 2017
663d9a7
Merge branch 'feature-#412-clean-up-test-classes' into 'master'
Jul 24, 2017
7a24e3d
Check energy every 10 min to see whether that looks like our real data
Jul 24, 2017
71d8972
Merge remote-tracking branch 'remotes/origin/master' into feature-#35…
bheymann Jul 24, 2017
652249b
Merge remote-tracking branch 'remotes/origin/master' into feature-#44…
bheymann Jul 24, 2017
566d9b9
Merge remote-tracking branch 'remotes/origin/master' into feature-#44…
bheymann Jul 24, 2017
9b65d6b
Unify tabs / spaces
bheymann Jul 25, 2017
5af8ba0
Introduce local variable to not call getTime twice
bheymann Jul 25, 2017
4b0cfd8
Merge remote-tracking branch 'remotes/origin/master' into feature-#44…
bheymann Jul 26, 2017
2612160
Add tests to DisasterRouterTest
bheymann Jul 26, 2017
f6cbed8
Fix failing tests
bheymann Jul 26, 2017
e66ceec
Start implementing tests
bheymann Jul 26, 2017
6c39c12
Change format to make output resemble csv data
Jul 27, 2017
efe431c
Remove UpdateListener here since it is implemented by superclass
Jul 27, 2017
c36eae5
Complete RescueModeMessageChooserTest
bheymann Jul 27, 2017
75d989f
Merge branch 'feature-#419-evaluate-battery-level' into 'master'
Jul 27, 2017
5927ad6
Merge branch 'feature-#442-cache-messages' into 'master'
Jul 27, 2017
99142ee
Merge remote-tracking branch 'remotes/origin/master' into feature-#35…
bheymann Jul 27, 2017
8ef95c7
Merge branch 'feature-#354-utility-message-chooser' into 'master'
Jul 27, 2017
0b57fd0
Merge remote-tracking branch 'remotes/origin/master' into feature-#44…
bheymann Jul 27, 2017
715d064
Merge branch 'feature-#440-disaster-buffer-comparator' into 'master'
Jul 27, 2017
e666889
Merge remote-tracking branch 'remotes/origin/master' into feature-#44…
bheymann Jul 27, 2017
f040fca
Improve test output
bheymann Jul 27, 2017
5e5fdd7
Merge branch 'feature-#444-add-power-threshold' into 'master'
Jul 27, 2017
0ec883a
Merge remote-tracking branch 'remotes/origin/master' into feature-#44…
bheymann Jul 27, 2017
757658b
Increase a test's readability.
bheymann Jul 27, 2017
2864715
Remove an unused import
bheymann Jul 27, 2017
4e543fe
Add two more edge case tests
bheymann Jul 27, 2017
cdab6cf
Merge branch 'feature-#445-implement-rescue-mode' into 'master'
Jul 27, 2017
9fe9793
Fix perl scripts to work with complete message ids
bheymann Aug 10, 2017
ae482de
Store reached recipients for multicasts
bheymann Aug 10, 2017
fa09000
Fix failing tests
bheymann Aug 10, 2017
fe91f41
Change multicast delivery predictability
bheymann Aug 10, 2017
adc2adb
Merge branch 'feature-#503-lower-multicast-dp' into 'master'
Aug 11, 2017
8116008
Add message TTL of 6h
Aug 11, 2017
4eefd49
Add buffer occupancy report every 5 mins
bheymann Aug 11, 2017
e30ffdb
Extend BufferOccupancyReport to print min and max
bheymann Aug 11, 2017
a75529c
Add tests for BufferOccupancyReport
bheymann Aug 11, 2017
11946e8
Add message history of 1000 messages and JUnit tests.
Aug 11, 2017
161a8d6
Fix naming conventions
Aug 11, 2017
01505c4
Fix SonarLint issues
Aug 11, 2017
80cf1f1
Fix again some SonarLint issues.
Aug 11, 2017
a03aea5
Add tiny script that opens a file and executes a perl script on it
Aug 11, 2017
eae3131
Correct out syntax
Aug 11, 2017
cd990d2
Merge remote-tracking branch 'origin/fix-perl-scripts' into feaute-#5…
Aug 11, 2017
4db379a
Add other two scripts as described in "how to evaluate routing .."
Aug 11, 2017
6f30c48
Add python script to create pie charts from traffic
bheymann Aug 13, 2017
00198c8
Add script to create graphic for multicast delivery
bheymann Aug 13, 2017
dab9204
Add delay distribution analysis
bheymann Aug 16, 2017
371fc57
Increase interval to five minutes
Aug 16, 2017
492a92d
Merge branch 'feature-#500-buffer-occupancy-report' into 'master'
Aug 17, 2017
44b10c4
Begin to fix review issues
Aug 17, 2017
ce3326a
Use subprocess instead of sh for Windows compatibility
Aug 17, 2017
5d8398c
Solve further review issues.
Aug 17, 2017
e7ab012
Take report directory and seeds as command line arguments
Aug 17, 2017
fed03f0
Use output correctly and print success message after creating
Aug 17, 2017
dfc0285
Fix review issues (handle indirect messages).
Aug 17, 2017
cf5b484
Add method in message to check whether TTL is over
Aug 17, 2017
66d0089
Check for TTL when adding messages, returning messages or returning info
Aug 17, 2017
f900256
Reduce sonarqube issues
Aug 18, 2017
091168f
Remove useless parenthesis
Aug 18, 2017
7939a5d
Correct name for multicastMessageAnalyzer
Aug 18, 2017
970da74
Correct name of Multicast Delivery report
Aug 18, 2017
174c21c
Merge branch 'fix-perl-scripts' into 'master'
Aug 18, 2017
0ba7cbc
Revert "Remove useless parenthesis"
Aug 18, 2017
1da5846
Revert "Reduce sonarqube issues"
Aug 18, 2017
a7ca758
Revert "Check for TTL when adding messages, returning messages or ret…
Aug 18, 2017
ed672e7
Revert "Add method in message to check whether TTL is over"
Aug 18, 2017
9aedb07
Clarify that time was in minutes, that is why my first try did not work
Aug 18, 2017
b5c9102
Clarify in comment in configuration file as well
Aug 18, 2017
657f849
Add first draft of buffer occupancy report, includes just the average
Aug 18, 2017
27d0ed7
Plot all metrics and add labels and title
Aug 18, 2017
58a4ab3
Extend test scenarios to cover Group and broadcast messages
Aug 18, 2017
2e9dbc3
SonarLint issues
Aug 18, 2017
3300bae
Override hashCode in Tuple class
Aug 18, 2017
b6de45d
Make pie chart plotting ratio of delivered messages
Aug 18, 2017
58488d2
Fix percentages
Aug 18, 2017
5c7b5e9
Improve traffic analysis legend
bheymann Aug 19, 2017
8c51ac3
Rename unfitting variable
bheymann Aug 19, 2017
c7f2491
Adapt multicast graphics to python 3.6
bheymann Aug 19, 2017
704c09f
Change axis labels to be less precise but simpler
bheymann Aug 19, 2017
555b25c
Create scripts to create broadcast graphics
bheymann Aug 20, 2017
c06d6c2
Visualize data report
bheymann Aug 20, 2017
46157f8
Set database used size to 0 if no data is in there
bheymann Aug 23, 2017
c30272d
Merge remote-tracking branch 'remotes/origin/master' into feature-#51…
bheymann Aug 23, 2017
f5fb0ce
Merge remote-tracking branch 'remotes/origin/feature-#509-visualize-t…
bheymann Aug 23, 2017
3024e07
Merge remote-tracking branch 'remotes/origin/feature-#513-private-msg…
bheymann Aug 23, 2017
1680b4e
Merge remote-tracking branch 'remotes/origin/feature-#512-broadcast-g…
bheymann Aug 23, 2017
6344ad4
Merge remote-tracking branch 'remotes/origin/feature-#510-data-script…
bheymann Aug 23, 2017
8291798
Change scripts to have main functions
bheymann Aug 23, 2017
00f2ec4
Add script to create pdf from graphics
bheymann Aug 23, 2017
fc6e5c1
Change report summary to call all scripts
bheymann Aug 23, 2017
6193baf
Merge remote-tracking branch 'origin/master' into feaute-#508-big-scr…
Aug 24, 2017
1fde9d1
Remove excess ' from usage output
Aug 24, 2017
ddeb192
Improve comment by removing ' and adding whitespace
Aug 24, 2017
fdc6024
Try to create a version that runs on all OS by using stdout and write
Aug 24, 2017
c00b009
Merge branch 'feature-#509-visualize-traffic' into 'master'
Aug 24, 2017
caf143d
Merge branch 'feature-#511-multicast-graphics' into 'master'
Aug 24, 2017
2a5aaf9
Fix (almost all) Review comments
Aug 24, 2017
dde3b41
Merge branch 'feature-#512-broadcast-graphics' into 'master'
Aug 24, 2017
8f6a000
Merge branch 'fix-#536-data-sync-report-percentages' into 'master'
Aug 24, 2017
d5277f7
Merge branch 'feature-#510-data-script' into 'master'
Aug 24, 2017
c940c06
Make storing file system-dependent
Aug 24, 2017
b570420
Make label names longer
Aug 24, 2017
59aeb05
Move dpi setting into saving and move label to the right
Aug 24, 2017
babf978
Merge branch 'feaute-#508-big-script-calls-perl-scripts' into 'master'
Aug 24, 2017
7d050f8
Add title and clarify comment
Aug 24, 2017
05ba691
Add docstring to function
Aug 24, 2017
3f86926
Simplify code, improve JUnit tests
Aug 24, 2017
9d49245
Merge branch 'feature-#513-private-msg-delivery-ratio' into 'master'
Aug 24, 2017
e8125d3
Merge branch 'feature-#500-add-message-TTL' into 'master'
Aug 24, 2017
1e2912b
Merge remote-tracking branch 'remotes/origin/master' into feature-#51…
bheymann Aug 24, 2017
572d27f
Merge remote-tracking branch 'remotes/origin/feature-#500-buffer-occu…
bheymann Aug 24, 2017
766509c
Add BufferOccupancy report
bheymann Aug 24, 2017
f0ffb47
Remove everything about seeds
bheymann Aug 24, 2017
ae36116
Fix last SonarLint and review issues
Aug 24, 2017
ec7fc37
Merge branch 'feature-#500-buffer-occupancy-report' into 'master'
Aug 24, 2017
2889b6c
Remove blank lines, make long line shorter
Aug 25, 2017
e0848e5
Merge branch 'feature-#504-Remember_sent_messages' into 'master'
Aug 25, 2017
030da96
Merge branch 'feature-#515-summarizing-script' into 'master'
Aug 25, 2017
3155a2b
Modify check for messages to include data messages
bheymann Aug 26, 2017
280b61e
Change prophet s.t. it can handle multicasts
bheymann Aug 26, 2017
ba780ba
Exchange datamessages in prophet
bheymann Aug 26, 2017
ab89a49
always clear up groups after testing
bheymann Aug 27, 2017
b073e89
Use address instead of host in prophet dictionary
bheymann Aug 27, 2017
7bdee48
Add prophet settings
bheymann Aug 27, 2017
bf3059d
Add prophet prioritization test
bheymann Aug 27, 2017
938019e
Complete ProphetRouterTest.java
bheymann Aug 27, 2017
e45fac7
Fix tests
bheymann Aug 27, 2017
d035eb8
Cleanup code
bheymann Aug 30, 2017
d4d333d
Remember recipients if multicast was copied
bheymann Aug 31, 2017
34b8667
Fix transferDone about multicasts
bheymann Aug 31, 2017
d901059
Add tests for multicast transferdone behavior
bheymann Aug 31, 2017
03c7697
Make test name start with test
bheymann Aug 31, 2017
4b00789
Use x^21 instead of x^3
bheymann Sep 1, 2017
a102fc2
Merge branch 'feature-#598-adapt-data-deletion-threshold' into 'master'
Sep 1, 2017
0d54f96
Merge branch 'feature-#589-remember-multicast-recipients' into 'master'
Sep 1, 2017
9b0d990
Drop delivered messages
bheymann Sep 1, 2017
23351ab
Merge remote-tracking branch 'remotes/origin/master' into feature-#48…
bheymann Sep 1, 2017
510cd07
Add distribution of (inter) contact time reports
bheymann Sep 1, 2017
a047450
Add granularity to contact time reports
bheymann Sep 1, 2017
9c61a5e
Change buffer management to a weighted function
bheymann Sep 1, 2017
ebd5050
Add a missing grid and title in evaluation
bheymann Sep 1, 2017
1f93519
Merge branch 'feature-#486-drop-delivered-messages' into 'master'
Sep 1, 2017
043ba6e
Add postprocessing to visualize energy metrics
bheymann Sep 2, 2017
759df85
Merge branch 'feature-#595-add-meeting-reports' into 'master'
Sep 6, 2017
c885e56
Merge branch 'beautify-evaluation-results' into 'master'
Sep 6, 2017
9a737ac
Merge branch 'feature-#591-weighted-buffer-management' into 'master'
Sep 6, 2017
6add0f4
Capitalize file names
bheymann Sep 6, 2017
b703d36
Add some comments
bheymann Sep 6, 2017
719a2dc
Fix some easy SonarQube issues
bheymann Sep 6, 2017
2cfad03
Merge branch 'fix-some-sonarqube-issues' into 'master'
Sep 6, 2017
3c33c6b
Merge remote-tracking branch 'remotes/origin/master' into feature-#46…
bheymann Sep 7, 2017
3c15130
Reduce number of aging calls in getMaxPredFor
bheymann Sep 7, 2017
54e0235
Fix flaky test
bheymann Sep 7, 2017
27e07f6
Modify test to ignore message order
bheymann Sep 7, 2017
4321262
Merge branch 'feature-#593-energy-graphic' into 'master'
Sep 7, 2017
5291b10
Fix assert
bheymann Sep 7, 2017
9ccf77b
Add evaluation of total number of nodes that ever reached the energy …
Sep 7, 2017
b1c4be7
Improvements according to Britta's review
Sep 7, 2017
5d978b0
Merge branch 'feature-#464-adapt-prophet' into 'master'
Sep 7, 2017
9a725fb
Next improvements according to Britta's review
Sep 7, 2017
ba61acf
Merge branch 'feature-#593-energy-graphic' into 'master'
Sep 7, 2017
2a50f61
Prevent calling getPredFor on broadcasts
bheymann Sep 8, 2017
255d13f
Remove getopt and use plain command line option
Sep 8, 2017
07d8579
Add second graph for all messages that ever existed
Sep 8, 2017
47f134a
Replace isdir with exists when checking report directory existence
Sep 8, 2017
c65963e
Merge branch 'remove-getOpt-from-reportSummary' into feature-#645-cla…
Sep 8, 2017
7a54d75
Exit if there's no report directory
Sep 11, 2017
ce42fe5
Merge branch 'remove-getOpt-from-reportSummary' into feature-#645-cla…
Sep 11, 2017
4eb4e57
Merge branch 'feature-#464-adapt-prophet' into 'master'
Sep 12, 2017
62f9957
Merge branch 'remove-getOpt-from-reportSummary' into 'master'
Sep 14, 2017
906e60e
Merge branch 'feature-#645-clarify-multicast-delivery' into 'master'
Sep 14, 2017
52f7e38
Revert "Use x^21 instead of x^3"
bheymann Sep 20, 2017
8a87989
Set default weight to 0.5
bheymann Sep 20, 2017
90880fb
Merge branch 'feature-#598-undo-deletion-threshold' into 'master'
Sep 20, 2017
9e3208c
Merge branch 'feature-#591-weighted-buffer-management-setting' into '…
Sep 20, 2017
e985c0a
Add minimum used memory across all hosts to plot
Sep 20, 2017
e822da6
Merge branch 'master' into feature-#679-add-min-used-memory-to-plot
Sep 20, 2017
0b176db
Add min_used_memory to DataSyncReportTest
Sep 20, 2017
84ccc3b
Add tests for getMinimum
Sep 22, 2017
b222c05
Merge branch 'feature-#679-add-min-used-memory-to-plot' into 'master'
Oct 2, 2017
ab35a7b
Adapt routing parameters to best found so far
bheymann Oct 2, 2017
e3be622
Merge branch 'feature-#729-best-parameters' into 'master'
Oct 3, 2017
da7e8c8
Make reportSummary.py work with spaces in path
bheymann Oct 4, 2017
66f74bc
Darken color of delay distribution analysis
bheymann Oct 4, 2017
6f230c1
Increase font size in pie chart
bheymann Oct 4, 2017
d01be70
Refactor evaluation scripts
bheymann Oct 5, 2017
d66acc3
Additional refactoring for delayDistributionAnalysis.py
bheymann Oct 5, 2017
877b35c
Change order of function return
bheymann Oct 5, 2017
1fdbfd5
Add script to average evaluation results
bheymann Oct 5, 2017
516a51c
Merge branch 'fix-make-reportsummary-work-with-spaces' into 'master'
Oct 9, 2017
aa6422a
Merge branch 'feature-evaluations-for-slides' into 'master'
Oct 9, 2017
7807a72
Merge remote-tracking branch 'remotes/origin/master' into feature-#73…
bheymann Oct 10, 2017
d4b335b
Merge remote-tracking branch 'remotes/origin/feature-#731-refactor-ev…
bheymann Oct 10, 2017
28692cd
Fix bug in averaging delay qualities
bheymann Oct 10, 2017
5b75569
Change pie chart slightly to fit the labels in
bheymann Oct 10, 2017
d764072
Merge branch 'feature-#731-refactor-eval-scripts' into 'master'
Oct 10, 2017
cb5fc4b
Add longer explanation about prerequisites.
bheymann Oct 10, 2017
a4aaecc
Merge branch 'feature-#731-averaged-results' into 'master'
Oct 10, 2017
4fff678
Merge remote-tracking branch 'gitlab/master'
Jan 18, 2018
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@

# Windows batch files should retain CRLF
*.bat text eol=crlf
# Bash scripts should have LF (Unix-Style line endings)
*.sh text eol=lf

*.class binary
*.gif binary
Expand Down
8 changes: 8 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -15,3 +15,11 @@ doc/package-list
.project
/target/
.settings/org.eclipse.*
.idea/
.gradle/
build/
target/
lib/Simulator.jar

/bin/
out/
101 changes: 101 additions & 0 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@
image: openjdk:8-jdk

# Make the gradle wrapper executable. This essentially downloads a copy of
# Gradle to build the project with.
# https://docs.gradle.org/current/userguide/gradle_wrapper.html
# It is expected that any modern gradle project has a wrapper
before_script:
- chmod +x gradlew

# We redirect the gradle user home using -g so that it caches the
# wrapper and dependencies.
# https://docs.gradle.org/current/userguide/gradle_command_line.html
#
# Unfortunately it also caches the build output so
# cleaning removes reminants of any cached builds.
# The assemble task actually builds the project.
# If it fails here, the tests can't run.
stages:
- analyze
- build
- test

sonarqube:
stage: analyze
only:
- master
variables:
GIT_STRATEGY: clone
script:
- ./gradlew clean test jacoco sonarqube -Dsonar.login=cd4b5ee1fc6a8dfe089c350184fdd715d6cfb28b -Dsonar.projectVersion=$CI_BUILD_REF
tags:
- shared

sonarqube_manual:
stage: analyze
except:
- master
when: manual
variables:
GIT_STRATEGY: clone
script:
- ./gradlew clean test jacoco sonarqube -Dsonar.login=cd4b5ee1fc6a8dfe089c350184fdd715d6cfb28b -Dsonar.branch=$CI_BUILD_REF_NAME -Dsonar.projectVersion=$CI_BUILD_REF -Dsonar.profile=ANDI_Simulator
tags:
- shared

sonarqube_preview:
stage: analyze
variables:
GIT_STRATEGY: clone
script:
- ./gradlew sonarqube -Dsonar.analysis.mode=preview -Dsonar.login=cd4b5ee1fc6a8dfe089c350184fdd715d6cfb28b -Dsonar.gitlab.project_id=$CI_PROJECT_ID -Dsonar.issuesReport.console.enable=true -Dsonar.gitlab.commit_sha=$CI_BUILD_REF -Dsonar.gitlab.ref=$CI_BUILD_REF_NAME -x test
allow_failure: true
tags:
- shared

build:
stage: build
script:
- ./gradlew -g /cache/.gradle clean assemble copyGui
artifacts:
paths:
- lib/
- target/
- data/
- ee/
- example_settings/
- toolkit/
- wdm_settings/
- one.bat
- one.sh
- LICENSE.txt
- README.md
- README.txt
- default_settings.txt
- CONTRIBUTING.md
- HISTORY.txt

allow_failure: false
tags:
- shared

# Use the generated build output to run the tests.
test:
stage: test
script:
- ./gradlew -g /cache/.gradle check jacoco
artifacts:
when: always
paths:
- build/reports/
tags:
- shared

perl_test:
stage: test
image: perl:5.24.1
before_script:
- cpan IPC::System::Simple
script: prove -v toolkit/tests
tags:
- shared
18 changes: 18 additions & 0 deletions allocsimulation.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
#!/bin/sh
#parameters for the allocation of the job on OCuLUS
#CCS --island OCULUS
#CCS -N pgandiSim
#CCS --res=rset=1:ncpus=2:mem=128g
#CCS -t 21d
#CCS -m abe
#CCS --output=out.txt
#CCS --stderr=err.txt

#the simulation task
./one.sh -b 1 configurations/evaluation/settingsScenarioRealistic.txt
#archive the reports and console output. Only executed successfully, if the simulation run completes
#with enough time left for this to be executed.
nice -n 15 tar -czf "result$(date '+%d%m%Y_%H%M%S').tar.gz" out.txt err.txt reports
#remove reports and logged console output. Only executed successfully, if the simulation run completes
#with enough time left for this to be executed.
rm reports/* out.txt err.txt
80 changes: 80 additions & 0 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
buildscript {
repositories {
maven {
url "https://plugins.gradle.org/m2/"
}
jcenter()
}
dependencies {
classpath "org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:2.2.1"
}
}

plugins {
id "org.sonarqube" version "2.2.1"
}

apply plugin: 'java'
apply plugin: 'jacoco'
apply plugin: "org.sonarqube"


repositories {
jcenter()
flatDir {
dirs 'lib'
}
}

sourceSets {
main {
java {
srcDirs = ["src/applications", "src/core", "src/gui", "src/input", "src/interfaces", "src/main", "src/movement", "src/report", "src/routing", "src/ui", "src/util"]
}
output.resourcesDir = 'target'
output.classesDir = 'target'
}
test {
java {
srcDirs = ["src/test"]
}
}
}

jar {
destinationDir = new File('lib')
manifest {
attributes 'Main-Class': 'core.DTNSim'
attributes 'Class-Path': "ECLA.jar DTNConsoleConnection.jar ../target"
}
}

dependencies {
// The production code uses Guava
compile 'com.google.guava:guava:20.0'

//JSON framework
compile group: 'org.glassfish', name: 'javax.json', version: '1.0.4'

// Use JUnit test framework
testCompile 'junit:junit:4.12'
testCompile "org.mockito:mockito-core:2.+"

compile name: 'DTNConsoleConnection'

compile name: 'ECLA'
}

test {
//make gradle run tests one after the other to prevent tests with static variables from influencing each other
forkEvery=1
}

task copyGui(type: Copy){
from 'src/gui/buttonGraphics'
into 'target/gui/buttonGraphics'
}

clean.doFirst{
delete 'target'
}
5 changes: 3 additions & 2 deletions compile.sh
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
#!/bin/sh
targetdir=target

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

javac -sourcepath src -d $targetdir -extdirs lib/ src/core/*.java src/movement/*.java src/report/*.java src/routing/*.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
if [ ! -d "$targetdir/gui/buttonGraphics" ]; then cp -R src/gui/buttonGraphics $targetdir/gui/; fi

9 changes: 9 additions & 0 deletions configurations/Broadcasts.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Only few nodes to see what's going on
Group.nrofHosts = 4

# Change class of the first event generator s.t. broadcasts are produced
Events1.class = BroadcastEventGenerator
# Only few messages to see what's going on (one new message every 10 mins).
Events1.interval = 600,600
# Adapt range of message source/destination addresses to fewer hosts.
Events1.hosts = 0,17
11 changes: 11 additions & 0 deletions configurations/Multicasts.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
Group.nrofHosts = 5

# Change class of the first event generator s.t. multicasts are produced
Events1.class = MulticastEventGenerator
# Only few messages to see what's going on (one new message every 10 mins).
Events1.interval = 600,600
# Adapt range of message source/destination addresses to fewer hosts.
Events1.hosts = 0,10

Report.nrofReports = 1
Report.report1 = MulticastMessageDeliveryReport
14 changes: 14 additions & 0 deletions configurations/deliveryProbabilityReport_settings.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
#
# Delivery Probability Report
#

## Scenario settings
Scenario.name = deliveryProbabilityReport

## Reports - all report names have to be valid report classes

# how many reports to load
Report.nrofReports = 1

# Report classes to load
Report.report1 = DeliveryProbabilityReport
38 changes: 38 additions & 0 deletions configurations/evaluation/settingsDisasterRouter.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# Add this file as argument if you want to use DisasterRouter

Group.router = DisasterRouter
DisasterRouter.powerThreshold = 0.1

# Parameters for rating mechanisms

DeliveryPredictabilityStorage.dpInit = 0.75
DeliveryPredictabilityStorage.dpGamma = 0.98
DeliveryPredictabilityStorage.dpBeta = 0.25
DeliveryPredictabilityStorage.windowLength = 30

EncounterValue.agingFactor = 0.85
EncounterValue.windowLength = 360

ReplicationsDensity.windowLength = 360

# Parameters for message choosing
UtilityMessageChooser.dpWeight = 0.9
UtilityMessageChooser.powerWeight = 0.1
UtilityMessageChooser.prophetPlusWeight = 0.5
UtilityMessageChooser.rdWeight = 0.2
UtilityMessageChooser.evWeight = 0.3
UtilityMessageChooser.messageUtilityThreshold = 0.45
UtilityMessageChooser.powerThreshold = 0.1

RescueModeMessageChooser.powerThreshold = 0.1
RescueModeMessageChooser.shortTimespanThreshold = 1800

# Parameters for prioritization
DisasterPrioritization.headStartThreshold = 300
DisasterPrioritization.priorityThreshold = 5
DisasterPrioritization.dpWeight = 0.5

# Parameters for buffer management
DisasterBufferComparator.hopThreshold = 6
DisasterBufferComparator.ageThreshold = 300
DisasterBufferComparator.dpWeight = 0.5
4 changes: 4 additions & 0 deletions configurations/evaluation/settingsProphet.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# Add this file as argument if you want to use ProphetRouter

Group.router = ProphetRouter
ProphetRouter.secondsInTimeUnit = 30
12 changes: 12 additions & 0 deletions configurations/evaluation/settingsScenarioLongFewEvents.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
## Scenarios with duration of three days and with few events
## Scenario used for the evaluation of the different routing protocols
## Scenario settings
# 259200s = 72h = 3d
Scenario.endTime = 259200
Scenario.name = three_days_few_events

#Settings for the disaster and hospital events
# max number of external events to preload
Events1.nrofPreload = 7
# path to external events file
Events1.filePath = ee/VhmEvents/eventsScenarioFew.json
12 changes: 12 additions & 0 deletions configurations/evaluation/settingsScenarioLongManyEvents.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
## Scenarios with duration of three days and with many events
## Scenario used for the evaluation of the different routing protocols
## Scenario settings
# 259200s = 72h = 3d
Scenario.endTime = 259200
Scenario.name = three_days_many_events

#Settings for the disaster and hospital events
# max number of external events to preload
Events1.nrofPreload = 24
# path to external events file
Events1.filePath = ee/VhmEvents/eventsScenarioMany.json
12 changes: 12 additions & 0 deletions configurations/evaluation/settingsScenarioMediumFewEvents.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
## Scenarios with duration of one day and with few events
## Scenario used for the evaluation of the different routing protocols
## Scenario settings
# 86400s = 24h = 1d
Scenario.endTime = 86400
Scenario.name = one_day_few_events

#Settings for the disaster and hospital events
# max number of external events to preload
Events1.nrofPreload = 7
# path to external events file
Events1.filePath = ee/VhmEvents/eventsScenarioFewMediumDuration.json
12 changes: 12 additions & 0 deletions configurations/evaluation/settingsScenarioMediumManyEvents.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
## Scenarios with duration of one day and with many events
## Scenario used for the evaluation of the different routing protocols
## Scenario settings
# 86400s = 24h = 1d
Scenario.endTime = 86400
Scenario.name = one_day_many_events

#Settings for the disaster and hospital events
# max number of external events to preload
Events1.nrofPreload = 24
# path to external events file
Events1.filePath = ee/VhmEvents/eventsScenarioManyMediumDuration.json
12 changes: 12 additions & 0 deletions configurations/evaluation/settingsScenarioRealistic.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
## Scenarios with duration of one day and with many events
## Scenario used for the evaluation of the different routing protocols
## Scenario settings
# 50400s = 14h about one day from 8am to 22pm
Scenario.endTime = 50400
Scenario.name = realisticScenario

#Settings for the disaster and hospital events
# max number of external events to preload
Events1.nrofPreload = 24
# path to external events file
Events1.filePath = ee/VhmEvents/eventsRealisticScenario.json
Loading