This guide provides the necessary steps to replicate the experimental results presented in the paper "A Cloud Continuum Research Infrastructure for Distributed CPS Experimentation".
The experimental campaign compares two types of edge deployments:
- Physical Edge (RASP): Raspberry Pi 4 Model B (4GB RAM) or equivalent ARM-based SBCs.
- Virtualized Edge (POD): Virtualized nodes within the SLICES infrastructure (x86_64).
- Fog/Cloud Layer: Standard Kubernetes-capable clusters (min. 4 vCPUs, 8GB RAM).
- Operating System: Ubuntu 22.04 LTS (recommended).
- Orchestration: k3s (v1.24+) or any CNCF-compliant Kubernetes distribution.
- Tools:
kubectl,helm(v3+),python3, andbash.
Before running the experiments, you must deploy the research-infrastructure layer.
Navigate to the core directory and execute the integrated setup script:
cd core/stack4things-improved
./automated_deployment.shThis script initializes:
- Stack4Things Conductor: The central management plane.
- WAMP Router (Crossbar): For low-latency messaging.
- Crossplane Provider: For Kubernetes-native resource management.
Ensure all components are operational across the continuum:
kubectl get pods -A | grep -E "iotronic|crossplane|istio"The paper evaluates the infrastructure through a systematic campaign of 40 automated runs.
This scenario evaluates anomaly detection and low-latency alerting.
- Configure the runner:
cd experiments/runner # Edit deploy-continuum.sh to set target cluster context
- Launch the campaign:
./campaign_runner.sh --scenario airwatch --runs 20 --edge-type [RASP|POD]
This scenario evaluates Digital Twin coordination and energy control.
- Launch the campaign:
cd experiments/runner ./campaign_runner.sh --scenario rec-simulation --runs 20
After completing the runs, use the research tools to extract the metrics used in the paper.
Use the extract_metrics.sh tool to pull data from Prometheus/Metrics-Server:
cd experiments/tools
./extract_metrics.sh --output results.csvAnalyze the overhead of the programmable substrate:
python3 tools/resource_sampler.py --data-dir ../resultsFollowing this guide, you should be able to reproduce the findings reported in the paper:
- Placement Accuracy: Verification that workloads are correctly assigned to Edge, Fog, or Cloud layers.
- Latency Overhead: Bounded and attributable performance overhead even with complex Digital Twin synchronization.
- Observability: Full data provenance across the Edge-Fog-Cloud pattern.
For technical troubleshooting not covered in this guide, refer to the comments within the individual scenario scripts in experiments/scenarios/.