This repository contains data analysis scripts and visual plotters designed to analyze, clean, and visualize performance benchmarks for Digital Twin (DT) architectures based on the WLDT (White Label Digital Twin) framework deployed on physical industrial testbeds (e.g., Fischertechnik Industrial Learning Factory / Smart Factory systems).
The codebase provides scripts for data preprocessing, hardware resource consumption tracking (CPU, memory), request-response latency profiling, throughput metrics computation, and comparative radar/spider chart generation.
The analysis toolset evaluates the operational overhead, resource utilization, and response dynamics of Digital Twins interacting with physical industrial equipment (e.g., Oven Station, Vacuum Carrier, Turntable, Saw Station, Sorting Line).
Key evaluation metrics include:
- Hardware Usage: Tracking CPU and RAM consumption profiles across multiple DT instances and composed DT setups.
- Response Time / Latency: Measuring request counter and execution/shadowing function durations across DT endpoints.
- Throughput Analysis: Computing throughput metrics (pieces processed per second/minute) over time.
- Comparative Evaluation: Polygon and circular radar/spider charts comparing physical vs. Digital Twin deployment parameters.
fischer-wldt-throughput-analysis/
├── circle-spider-chart.py # Generates circular radar charts comparing Physical vs. DT deployments
├── polygonal-spider-chart.py # Generates customizable polygonal radar charts (using custom PolarAxes)
├── hw-usage-charts.py # Processes CPU/Memory CSV logs and generates usage plot PDF artifacts
├── response-time-plotter.py # Plots response times and request counters for DT stations
├── throughput-analysis.py # Parses throughput data maps and generates throughput variation graphs
├── composed-df-cleaning.py # Helper script to clean and format raw hardware usage data from Excel/CSV
├── .gitignore # Git ignore rules for virtual environments, outputs, and IDE configs
└── .gitattributes # Git attributes configuration
- Parses key-value throughput data files formatted as
piece=throughput_value. - Converts metrics between items/second (
pc/sec) and items/minute (pc/min). - Generates Cartesian plot visualizations of throughput variations over processing cycles.
- Reads latency logs (
*.requestsCounter.csvand*.responseTime.csv) for individual DT instances (Oven, Vacuum Gripper, Turntable, Saw, etc.). - Computes latency statistics and outputs PDF charts for shadowing function execution times.
- Ingests hardware resource monitoring metrics (
*-dt-cpu-mem.csv). - Configures global custom typography (e.g., Helvetica, Sans-Serif).
- Exports memory and CPU usage trend charts as high-resolution PDF publications.
- Implement multi-axis radar visualizations to compare multi-criteria performance between physical equipment and Digital Twin overlays.
- Utility script for ingesting Excel/CSV datasets of hardware performance and standardizing data formats for downstream analysis.
The scripts rely on standard Python data science and plotting libraries:
pip install numpy pandas matplotlib openpyxl-
Prepare Data Directories: Ensure log files are placed in expected input paths or update file paths inside the respective scripts under
external-source-data/. Expected directory structure:external-source-data/ ├── hw-usage/ └── request-response/ -
Execute Analysis Scripts:
-
To plot hardware consumption:
python hw-usage-charts.py
-
To plot response times and shadowing latency:
python response-time-plotter.py
-
To plot throughput curves:
python throughput-analysis.py
-
To generate radar/spider charts:
python circle-spider-chart.py python polygonal-spider-chart.py
-
-
Output Artifacts: Generated vector PDFs and plot figures are automatically saved to the
./saved_results/directory.
This repository contains materials, code, and findings that were utilized as part of the article "Hierarchical Digital Twin Ecosystem for Industrial Manufacturing Scenarios".
👉 Click the following link to read the article.
If you use this code or Digital Twin framework in your research, please cite this repository or the associated scientific article as follows:
@INPROCEEDINGS{Martinelli2024-hierarchical-digital-twins,
title = "Hierarchical digital twin ecosystem for industrial manufacturing scenarios",
booktitle = "2024 50th Euromicro Conference on Software Engineering and Advanced Applications ({SEAA})",
author = "Martinelli, Matteo and Zhang, Jingxi and Splettsto{\ss}er, Ann-Kathrin and Picone, Marco and Lippi, Marco and Wortmann, Andreas",
publisher = "IEEE",
pages = "56--63",
month = aug,
year = 2024,
conference = "2024 50th Euromicro Conference on Software Engineering and Advanced Applications (SEAA)",
location = "Paris, France",
doi = {10.1109/SEAA64295.2024.00018}
}