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.
Meter
Meter
Meter
Concentrator
DA Node
ML Decision
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.
Solving real congestion problems in smart grid communication networks at scale.
Eliminates packet loss that degrades real-time grid monitoring and control.
tested across 25, 50, 75, and 100 meter configurations without protocol changes.
Detects and corrects congestion within a single 5-second control window.
Decision Tree compiles to a 200-line C++ header deployable on embedded devices.
The system is implemented in three phases: OMNeT++ data collection, Python model training, and adaptive simulation.
OMNeT++ runs different baseline scenarios and exports network metrics to CSV for analysis.
Python processes the collected metrics, trains the Decision Tree classifier, evaluates the model, and exports learned rules.
The exported C++ rules are embedded into OMNeT++, allowing the DA node to classify the network state and update reporting policies at runtime.
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.
| 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 |
February 2026 — 11 May 2026 · durations reflect phase complexity
Search existing work, identify gaps, and define the research scope.
Define functional requirements, tools, simulation setup, and project constraints.
Design the network topology, adaptive mechanism, communication flow, and ML pipeline.
Build OMNeT++ modules, generate datasets, train the Decision Tree model, and integrate adaptive logic.
Evaluate packet loss, delay, queue length, retransmissions, and adaptive response behavior.
Compile project chapters, results, diagrams, references, and final evaluation discussion.
Present the system, demo the website, explain design choices, and discuss final results.
Senior students in the Department of Computer Engineering building a smart grid solutions.
Have questions about our research or methodology? Reach out to the team.
We'll get back to you as soon as possible.