README.md 3.2 KB



IoT Dataset Generation Framework – IoTDGF

A framework for the visualization and generation of network traffic for the Internet of Things.
The following scenarios are pre-implemented:

Publications

The short paper "IoT dataset generation framework for evaluating anomaly detection mechanisms" by Andreas Meyer-Berg, Rolf Egert, Leon Böck, and Max Mühlhäuser for the general framework with its smart home scenario is available at https://doi.org/10.1145/3407023.3407036.

Installation

Clone the repository:

$ git clone https://git.tk.informatik.tu-darmstadt.de/SPIN/IoTDatasetGenerationFramework.git

Change to the directory:

$ cd IoTDatasetGenerationFramework

Build and run the project:

$ ./gradlew run

Technical Details

Prerequisites

Required Libraries

Gradle downloads these during the build process

  • JUnit4 - Java unit test framework
  • Math3 - Apache Common Maths (for Distribution function)
  • Weka 3 - Weka machine learning framework (for example anomaly detection algorithms)

Gradle Tasks

Gradle will download required libraries and handle the build process

$ gradlew build     # Assembles and tests this project

$ gradlew jar       # Creates an executable Jar-file

$ gradlew javadoc   # Generates Java Doc for the framework

$ gradlew test      # Runs the included unit tests

$ gradlew run       # Runs the IoTDatasetGenerationFramework as a JVM Application

$ gradlew runIt     # Runs the IoTDatasetGenerationFramework as a Jar-file

$ gradlew tasks     # Displays further available tasks

Adaptations and Custom Implementations

To change code of the framework, it is possible to import it into an IDE of choice (e.g., into Eclipse with File > Import > Gradle > Existing Gradle Project). Custom implementations of devices, protocols etc. can also be written in a separate project and later be imported.
For access to libraries during development the Jar files in "\build\install\SmartHomeNetworkSim\lib" can be imported. While running the framework, externally implemented programs can be imported.

Credits for the General Framework and the Smart Home Scenario

Andreas T. Meyer-Berg (development as part of his Bachelor's Thesis)

Credits for the SWaT Scenario

Fabian Kaiser (data analysis, development, and evaluation as part of his Master's Thesis)
Leon Böck (initial idea and thesis supervision)