/node-testing

NixOS-based tests for VILLASnode

Primary LanguageNix

NixOS-based testing of VILLASnode

This Git repository contains a reproducible test-environment for benchmarking the VILLASnode gateway.

It has been written for creating the benchmark results of the following paper:

  • Steffen Vogel, et. al. "WebRTC-based plug-&-play signal transport for peer-to-peer connectivity between Digital Real-time Simulators, IEDs and Operators", submitted to NEIS 2024.

The results presented in the paper have been gathered in a reproducible manner using a declarative description of the test setup using the Nix language, package-manager and NixOS operating system. This description covers the entire configuration of virtual machines which compose the test setup. But it also extends to scripts for executing the tests, post-processing results as well as generating figures..

Nix has been chosen as it allows other researchers to verify the results presented in the paper using a setup which bit-to-bit identical. This includes the software versions, operating system and network configuration as as methods for for analyzing the results.

Prerequisites

The authors setup

Usage

Run tests

nix run

or with direnv:

echo "use flake" > .envrc
direnv allow

start-vms

Connect to VMs

ssh-vms

Produce figures

python plot.py

License

This project is released under the terms of the Apache 2.0 license.

  • SPDX-FileCopyrightText: 2024 Steffen Vogel steffen.vogel@opal-rt.com, OPAL-RT Germany GmbH
  • SPDX-License-Identifier: Apache-2.0

Author