The Minimal 6TiSCH Synchronization Simulator (M6SS) is an ad-hoc simulator for the initial synchronization process of 6TiSCH network in the context of the minimal 6TiSCH configuration. This project was developed in the context of the paper:
A. Karalis, D. Zorbas and C. Douligeris, "Optimal Initial Synchronization Time in the Minimal 6TiSCH Configuration" in IEEE Access.
The language of the source code is C++.
The structure of the source code is the following:
- The files
syncparameters.h
andsyncparameters.cpp
respectively contain the definition and the implementation of a class named SyncParameters that represents the synchronization parameters of the initial synchronization process in the minimal 6TiSCH configuration. - The files
timeinterval.h
andtimeinterval.cpp
respectively contain the definition and the implementation of a support class named TimeInterval that represents a time interval. - The files
simulator.h
andsimulator.cpp
contain the core of the simulator, which is represented by a class named Simulator. It is noted that the simulator implements Αlgorithm 2 of the paper. - The files
model.h
andmodel.cpp
respectively contain the definition and the implementation of a class named Model that represents the mathematical model presented in the paper. - The files
modelvalidation.h
andmodelvalidation.cpp
respectively contain the definition and the implementation of a support class developed to validate the results of the model through a comparison with the results of the simulator. In addition to the comparison between the model and the simulator, it also checks the validity of the optimal scan period defined in the paper. All the (random) comparisons made during an execution of the validation code are stored in a database named modelValidation.db. An example of this database, which was generated for the needs of the paper, is in the folderresults
. - The file
main.cpp
is the main file of the code where the execution starts. By default, it contains an example use of the simulator and of the model. For formal reasons, it also contains a function calledgenerateSimStatsFig8
that was used for generating the simulator statistics presented in the Figure 8 of the paper. The data that are produced by this function are stored in a csv file namedsimStatsFig8.csv
. An example of this file, which was used for the needs of the paper, is in the folderresults
.
To run the code the following are required:
- A C++ compiler that supports the C++17 version.
- cmake.
This project follows the GNU Affero General Public License.