DOI: 10.21227/b7k8-8q95
title: CRAWDAD tools/simulate/uoi/adyton

description: Adyton: A Network Simulator for Opportunistic NetworksAdyton is an event-driven network simulator, written in C++, for Opportunistic Networks (a.k.a. Delay-Tolerant Networks) that is capable of processing contact traces. The Adyton simulator supports a plethora of routing protocols and real-world contact traces, while also providing several congestion control mechanisms and buffer management policies.file: adyton.zipwebsite: https://github.com/npapanik/Adyton/build: **Requirements**Adyton currently supports only Linux-based systems with a proper C++ compiler.All the required third-party libraries are included in the ext/ directory.**Compiling**To compile Adyton from source code, just execute the following command inside the src/ directory:```$ make```**Execution**After compiling Adyton from source code, you can use the executable file to run a simulation with the default settings with the following command:```$ ./Adytonusage:$ ./Adyton -TRACE (contact trace) -RT (routing protocol) -CC (congestion control mechanism) -SP (scheduling policy) -DP (dropping policy) -DM (deletion mechanism) -OUTPUT (output type) -TRAFFIC_TYPE (traffic type) -TRAFFIC_LOAD (number of packets) -TTL (time to live) -BUFFER (buffer size) -REP (replication number) -SPLIT (number of pieces) -SEED (seed number) -PROFILE (text file) -RES_DIR (results directory) -TRC_DIR (trace directory) -BATCH (batch mode)```**Options** ```(contact trace)``` options: | Contact Trace              | Arithmetic Value | String Value       || -------------              | ---------------- | ------------       || Milan PMTR                 | 1                | MILAN              || MIT Reality Mining         | 2                | REALITY            || Intel                      | 3                | INTEL              || Haggle-Cam                 | 4                | HAGGLE-CAM         || INFOCOM 2005               | 5                | INFOCOM-2005       || INFOCOM 2006               | 6                | INFOCOM-2006       || INFOCOM 2006 (Short Range) | 7                | INFOCOM-2006-SR    || SASSY                      | 8                | SASSY              || SIGCOMM 2009               | 9                | SIGCOMM-2009       || Cambridge                  | 10               | CAMBRIDGE          || Cambridge Students         | 11               | CAMBRIDGE-STUDENTS || RollerNet                  | 12               | ROLLERNET          || Nodobo                     | 13               | NODOBO             || UCSD                       | 14               | UCSD               || UCSD (3 Weeks)             | 15               | UCSD-3-WEEKS       || Cabspotting                | 16               | CABS               || Cabspotting (2 Days)       | 17               | CABS-2-DAYS        || Lyon Primary School        | 18               | LYON               || Stanford High School       | 19               | STANFORD           || DieselNet                  | 20               | DIESELNET          || Dartmouth                  | 21               | DARTMOUTH          || Dartmouth (2 Weeks)        | 22               | DARTMOUTH-2-WEEKS  || Debugging                  | 23               | DEBUG              | ```(routing protocol)``` options: | Routing Protocol                  | Arithmetic Value | String Value || ----------------                  | ---------------- | ------------ || Direct Delivery                   | 1                | DIRECT       || Epidemic Routing                  | 2                | EPIDEMIC     || PRoPHET                           | 3                | PROPHET      || SimBet                            | 4                | SIMBET       || SimBetTS                          | 5                | SIMBETTS     || Bubble Rap                        | 6                | BUBBLE       || Spray and Wait                    | 7                | SNW          || LSF Spray and Wait                | 8                | LSF-SNW      || MSF Spray and Wait                | 9                | MSF-SNW      || PRoPHET Spray and Wait            | 10               | PROPHET-SNW  || LSF Spray and Focus               | 11               | LSF-SNF      || Compare and Replicate             | 12               | CNR          || Encounter-Based Routing           | 13               | EBR          || Delegation Forwarding             | 14               | DF           || Coordinated Delegation Forwarding | 15               | COORD        || Optimal Routing                   | 16               | OPTIMAL      | ```(congestion control mechanism)``` options:  | Congestion Control Mechanism | Arithmetic Value | String Value   || ---------------------------- | ---------------- | ------------   || None                         | 1                | NONE           || Avoid Overflow               | 2                | AVOID-OVERFLOW || ACC                          | 3                | ACC            || FairRoute                    | 4                | FR             || BSA                          | 5                | BSA            || CACC                         | 6                | CACC           || CCAF                         | 7                | CCAF           | ```(scheduling policy)``` options: | Scheduling Policy | Arithmetic Value | String Value || ----------------- | ---------------- | ------------ || FIFO              | 1                | FIFO         || LIFO              | 2                | LIFO         || GRTRMax           | 3                | GRTRMAX      || GRTRSort          | 4                | GRTRSORT     || HNUV              | 5                | HNUV         | ```(dropping policy)``` options: | Dropping Policy                      | Arithmetic Value | String Value || ---------------                      | ---------------- | ------------ || Drop Front                           | 1                | DF           || Drop Tail                            | 2                | DT           || Drop Oldest                          | 3                | DO           || Drop Youngest                        | 4                | DY           || Drop Front - Avoid Source Packets    | 5                | DF-ASP       || Drop Tail - Avoid Source Packets     | 6                | DT-ASP       || Drop Oldest - Avoid Source Packets   | 7                | SO-ASP       || Drop Youngest - Avoid Source Packets | 8                | DY-ASP       | ```(deletion mechanism)``` options: | Deletion Mechanism               | Arithmetic Value | String Value  || ------------------               | ---------------- | ------------  || Just TTL                         | 1                | JUST-TTL      || No Duplicates - Delete Replicas  | 2                | NO-DUPS       || No Duplicates - Keep Replicating | 3                | KEEP-REP      || Vaccine                          | 4                | VACCINE       || Cataclysm                        | 5                | CATACLYSM     | ```(output type)``` options: | Output Type | Arithmetic Value | String Value || ----------- | ---------------- | ------------ || Type 1      | 1                | T1           || Type 2      | 2                | T2           || Type 3      | 3                | T3           || Type 4      | 4                | T4           || Type 5      | 5                | T5           | ```(traffic type)``` options: | Traffic Type | Arithmetic Value | String Value || ------------ | ---------------- | ------------ || Uniform      | 1                | UNIFORM      || Burst        | 2                | BURST        || Sample       | 3                | SAMPLE       || Predefined   | 4                | PREDEFINED   | ```(number of packets)``` is the number of packets that will be created. ```(time to live)``` is defined as a timeout value, which specifies when a packet is no longer useful and should be deleted (if (time to live) is equal to 0, the TTL value will be infinite). ```(buffer size)``` is defined as the maximum number of packets that each node can store (if (buffer size) is equal to 0, infinite buffers will be used). ```(replication number)``` is the replicas of each original packet (used only for multi-copy protocols). ```(number of pieces)``` is the number of pieces to split the contact trace file, before uploading to memory. ```(seed number)``` is used by the pseudo-random number generator algorithm. ```(text file)``` is the name of a text file with additional parameter arguments. ```(results directory)``` is the name of the directory that will store the results of the simulation. ```(trace directory)``` is the name of the directory that stores the contact trace files. ```(batch mode)``` options:* ON = the results will not be printed* OFF = all the results will be printed **Default Settings** * ```(contact trace)``` = MILAN* ```(routing protocol)``` = DIRECT* ```(congestion control mechanism)``` = NONE* ```(scheduling policy)``` = FIFO* ```(dropping policy)``` = DF* ```(deletion mechanism)``` = JUST-TTL* ```(output type)``` = &#x3A4;1* ```(traffic type)``` = UNIFORM* ```(number of packets)``` = 10000* ```(time to live)``` = 0* ```(buffer size)``` = 0* ```(replication number)``` = 1* ```(number of pieces)``` = 100* ```(seed number)``` = time(NULL)* ```(text file)``` = ""* ```(results directory)``` = "../res/"* ```(trace directory)``` = "../trc/" * ```(batch mode)``` = OFF