University of Bahrain
College of Information Technology
Department of Computer Engineering
Adaptive DNP3
Intelligent Congestion Control for Smart Grids
Senior Project 2026

Adaptive Event Reporting
For DNP3 In Low-Bandwidth Smart Grids

An adaptive ML-driven DNP3 reporting system for low-bandwidth smart grid networks. It monitors network conditions such as delay, queue length, packet loss, and retransmissions, and dynamically adjusts reporting parameters to reduce congestion and improve communication reliability.

psychology Smarter
Event Reporting
speed Faster
Congestion Control
check_circle Reliable
Grid Communication
Smart Meter Meter
Smart Meter Meter
Smart Meter Meter
Concentrator Concentrator
DA Node DA Node
ML Decision ML Decision
Adaptive Two-Way Communication
Our Mission

About the Project

This project addresses a critical gap in Advanced Metering Infrastructure: the DNP3 protocol uses fixed event-reporting parameters that do not adapt to varying network conditions, causing congestion, packet loss, and degraded grid monitoring when hundreds of smart meters report simultaneously.

By combining OMNeT++ network simulation with a lightweight Decision Tree classifier embedded in the Distribution Automation node, we achieve real-time congestion detection and graduated parameter adjustment, without modifying the DNP3 protocol stack.

  • Real-time network state classification (Normal / Warning / Congested)
  • Exported as C++ header — runs on embedded field hardware
  • Closed-loop feedback every 5 seconds
  • Validated across 4 network scales (25–100 meters)

Technology Stack

OMNeT++ logo OMNeT++ 6.3
DNP3 Protocol logo DNP3 Protocol
scikit-learn logo scikit-learn
Python logo Python
C++ logo C++
Decision Tree logo Decision Tree
Making a Difference

Project Impact

Solving real congestion problems in smart grid communication networks at scale.

Grid Reliability

Grid Reliability

Eliminates packet loss that degrades real-time grid monitoring and control.

Scalable Design

Scalable Design

tested across 25, 50, 75, and 100 meter configurations without protocol changes.

Fast Response

Fast Response

Detects and corrects congestion within a single 5-second control window.

Machine Learning

Lightweight ML

Decision Tree compiles to a 200-line C++ header deployable on embedded devices.

System Features

How It Works

The system is implemented in three phases: OMNeT++ data collection, Python model training, and adaptive simulation.

Data Collection
01

Phase 1: Data Collection

OMNeT++ runs different baseline scenarios and exports network metrics to CSV for analysis.

  • Run baseline traffic scenarios
  • Simulate different network scales
  • Collect delay, queue, loss, and retransmission metrics
  • Export network metrics to CSV files
Model Training
02

Phase 2: Model Training

Python processes the collected metrics, trains the Decision Tree classifier, evaluates the model, and exports learned rules.

  • Extract features and generate labels
  • Train Decision Tree classifier
  • Evaluate model accuracy
  • Convert learned rules into C++ if/else logic
Adaptive Simulation
03

Phase 3: Adaptive Simulation

The exported C++ rules are embedded into OMNeT++, allowing the DA node to classify the network state and update reporting policies at runtime.

  • Embed C++ rules in the simulation
  • Classify network state during runtime
  • DA issues adaptive policy updates
  • Export results and compare performance
Performance Results

Performance Evaluation

Under heavy traffic, the adaptive mechanism reduced congestion indicators and stabilized DNP3 event reporting by dynamically changing reporting behavior based on real-time network conditions.

↓48%
Queue Length Reduction
At 50 meters, time-weighted average queue dropped from 28.9 to 15.1 packets = nearly halved under heavy traffic.
↓96%
Dropped Packets at 50 Meters
Dropped packets fell from 2,662 (standard) to just 98 (adaptive) = the strongest improvement scenario.
0 penalty
Normal Traffic Unaffected
At 25 meters and under light traffic, both configurations perform identically = no degradation introduced.
Scale Std Queue (avg pkts) Adp Queue (avg pkts) Dropped — Std Dropped — Adp Outcome
25 Meters 17.1 17.1 0 0 Normal : no policy triggered
50 Meters 28.9 15.1 2,662 98 ↓ 48% queue · ↓ 96% drops
75 Meters 32.4 17.3 6,150 1,481 ↓ 47% queue · ↓ 76% drops
100 Meters 33.0 18.6 9,830 2,848 ↓ 44% queue — delay trade-off
⚠ Delay Trade-off: At 75–100 meters under heavy traffic, the adaptive mechanism significantly reduces dropped packets but increases buffering delay due to longer event aggregation windows. At 50 meters it improves both delay and packet loss — the clearest win. Under light traffic at all scales, both configurations perform identically.

✔ Strengths

  • Significant packet loss and dropped packet reduction under heavy traffic
  • Retransmission reduction, fewer repeated frames on the channel
  • Queue stability, prevents sustained saturation at the 50-pkt cap
  • Zero penalty under normal conditions (25 m / light traffic)
  • Protocol compatible, no changes to IEEE 1815 DNP3 standard

⚠ Limitations

  • Fixed queue size (50 pkts) can still bottleneck at 100 meters
  • Homogeneous meter behavior — real deployments may vary
  • Delay trade-off at 75–100 meters due to aggregation buffering
  • Limited state granularity (3 classes: Normal / Warning / Congested)
  • Simulation-only — not yet validated on real hardware
Project Journey

Project Timeline

February 2026 — 11 May 2026 · durations reflect phase complexity

1 Feb – 14 Feb 2 weeks
Literature review

Background Research

Search existing work, identify gaps, and define the research scope.

15 Feb – 28 Feb 2 weeks
Requirement collection

Requirements & Planning

Define functional requirements, tools, simulation setup, and project constraints.

1 Mar – 21 Mar 3 weeks
Design

System Design

Design the network topology, adaptive mechanism, communication flow, and ML pipeline.

22 Mar – 25 Apr 5 weeks
Implementation

Development & Build

Build OMNeT++ modules, generate datasets, train the Decision Tree model, and integrate adaptive logic.

19 Apr – 2 May 2 weeks
Testing & results

Testing & Evaluation

Evaluate packet loss, delay, queue length, retransmissions, and adaptive response behavior.

26 Apr – 12 May 2 weeks
Report writing

Final Report

Compile project chapters, results, diagrams, references, and final evaluation discussion.

20 May 2026 Final day
Presentation

Final Presentation

Present the system, demo the website, explain design choices, and discuss final results.

Meet the Team

Our Team

Senior students in the Department of Computer Engineering building a smart grid solutions.

This project is a Final Year Senior Project completed during Semester 2 of the Academic Year 2025/2026 at the College of Information Technology - University of Bahrain.
Ameena Alhammadi
Network Engineer
202210859
Fatema Alaali
Network Engineer
202202743
SV
Project Supervisor
Dr. Luisella Balbis
Department of Computer Engineering · University of Bahrain
Get In Touch

Contact Us

Have questions about our research or methodology? Reach out to the team.

Contact Information
📍
Location
Zalaq, Kingdom of Bahrain
🎓
Institution
University of Bahrain - College of Information Technology

Send a Message

We'll get back to you as soon as possible.