Skip to content
#edge computing Dataset Open access

Experimental Telemetry Dataset and Codebase for TinyOLAF: A Closed-Loop Framework for Autonomous Anomaly Detection, Diagnosis and Self-Healing in Intelligent Edge IoT

Sep 2026 · Zenodo (CERN European Organization for Nuclear Research)

Abstract

This version introduces the expanded physical testbed dataset (>148,000 telemetry records across 66 independent hardware runs) executed on live ESP32 microcontroller nodes and a Raspberry Pi edge gateway. Version 5.0 validates the TinyOLAF closed-loop edge AI framework across nominal baselines, concurrent network contention, distance attenuation, and autonomous self-healing recovery. This release incorporates detector-independent ground truth timestamps (monotonic authority), run-level block bootstrap confidence intervals to account for temporal autocorrelation, and resource-matched hardware ablation benchmarks. This repository contains the complete raw physical testbed telemetry datasets, Python analysis pipelines, LaTeX table generators, publication figure scripts, and edge firmware sketches evaluating the TinyOLAF framework on resource-constrained microcontrollers. The codebase and data validate an ultra-lightweight sequential change detector with an anti-poisoning state machine, coupled with an autonomous closed-loop self-healing controller to preserve IoT transmission reliability and Quality of Experience (QoE) during severe network congestion and channel degradation. 📄 ASSOCIATED MANUSCRIPT This dataset and replication codebase accompany the research article: Title: "TinyOLAF: A Closed-Loop Framework for Autonomous Anomaly Detection, Diagnosis and Self-Healing in Intelligent Edge IoT" 📂 REPOSITORY STRUCTURE TinyOLAF_Experiment/ │ ├── README.md (Dataset specification & replication guide) ├── requirements.txt (Python runtime dependencies) ├── run_pipeline.py (1-click end-to-end audit and analysis pipeline) │ ├── 01_Detection/ (Stage 1: Streaming Anomaly Detection) │ ├── datasets/ # Baseline and saturation telemetry streams (.csv) │ └── firmware/ # ESP32 sequential detection firmware (.ino) │ ├── 02_Diagnosis/ (Stage 2: Metric-Space Fault Diagnosis) │ ├── datasets/ # Multi-fault physical telemetry (RSSI vs. latency .csv) │ └── firmware/ # C++ diagnostic boundary library (.h) │ └── 03_Self_Healing/ (Stage 3: Closed-Loop Adaptation & Mitigation - 66 Runs) ├── datasets/ # Complete raw hardware runs (server UDP & client serial .csv) ├── firmware/ # Production closed-loop edge actuation firmware (.ino) ├── analysis/ # Multi-run statistical evaluation, table & figure generators (.py) ├── gateway/ # Raspberry Pi UDP receiver & traffic injection tools (.py) └── docs/ # Physical testbed topography, calibration, and reproducibility notes 📊 KEY TELEMETRY DATA DICTIONARY server_timestamp: Gateway reception clock recorded via monotonic authority (HH:MM:SS.mmm). packet_seq_num: Monotonic packet counter emitted by the edge node. tx_latency_ms (L_t): Observed round-trip transmission and echo latency in milliseconds. ewma_mu (mu_t): Online running mean baseline calculated directly on the ESP32 silicon. ewma_sigma (sigma_t): Online mean absolute dispersion tracking. z_score (z_t): Standardized innovation score computed against the baseline. cusum_danger_score (S_t): Integrated sequential CUSUM decision statistic. tinyol_state: Anti-poisoning state machine status: 0 (Normal), 1 (Warning), 2 (Critical). rssi_dbm: Radio link Received Signal Strength Indicator (dBm) reported by the Wi-Fi PHY layer. current_mA & power_mW: Instantaneous electrical telemetry monitored via onboard INA219 sensor. sensor_temp & sensor_audio: Sensor readings acquired from DHT22 and INMP441 peripherals. recovery_action: Autonomous mitigation strategy executed on hardware: 0 (Normal), 1 (Backoff 100ms), 2 (Backoff 250ms), 3 (TX Power Boost +19.5dBm). 🛠 USAGE & REPRODUCIBILITY To verify cryptographic checksums, compute multi-run empirical statistics, and reproduce all LaTeX tables and 300 DPI publication figures from the raw data, run the unified automated pipeline: # 1. Install dependencies pip install -r requirements.txt # 2. Run automated validation and analysis pipeline python run_pipeline.py --skip-replay Execution Time: Approximately 26 seconds on a standard desktop workstation. Environment: Python 3.10+ (NumPy, SciPy, Matplotlib, Seaborn) and Arduino IDE 2.x (ESP32 Arduino Core / FreeRTOS).

View source

Similar papers

#computer vision Review Sep 2017

Agile Software Development Methods: Review and Analysis

This publication proposes a definition and a classification of agile software development approaches and analyses ten software development methods that can be characterized as being "agile" against the defined criterion.

P. Abrahamsson, O. Salo, Jussi Ronkainen et al. · 727 citations · ⚡54
#computer vision Jun 2008

The impact of agile practices on communication in software development

The study shows that agile practices improve both informal and formal communication, but indicates that, in larger development situations involving multiple external stakeholders, a mismatch of adequate communication mechanisms can sometimes even hinder the communication.

M. Pikkarainen, Jukka Haikara, O. Salo et al. · 401 citations · ⚡48
#machine learning Review Open access Oct 2014

Software development in startup companies: A systematic mapping study

The results indicate that software engineering work practices are chosen opportunistically, adapted and configured to provide value under the constrains imposed by the startup context.

Nicolò Paternoster, Carmine Giardino, M. Unterkalmsteiner et al. · 394 citations · ⚡54

Related blog posts

Microsoft Research Blog Oct 6, 2026

What AI gets wrong and what failure teaches us

Jennifer Neville did not want to go into computer science—but that’s exactly where she landed. Neville discusses the starts and stops that led to her professional sweet spot and her work identifying “surprising failures” making it hard for AI to handle complexity.  The post What AI gets wrong and what failure teaches us appeared first on Microsoft Research.

We use cookies to run the site and, with your consent, for analytics and to show ads. See our Cookie Policy.