Skip to content

About

Repository for my 4th year honours project dissertation at Heriot-Watt University. This project will be worked on between September 2025 and April 2026.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

125 Commits

Folders and files

Repository files navigation

honours-project

Title

AI Methods for Intrusion Detection in Power Grid Systems

Description

Create a neural network with an AI agent that classifies cyberattacks targeting power grid systems, based on existing datasets. Create a program that works as a firewall-like wrapper to detect and prevent intrusions, using the created neural network within a simulated power grid environment. Evaluate the systems performance in terms of detection, accuracy and adversarial attack resistance.

About

Repository for my 4th year honours project dissertation at Heriot-Watt University. This project will be worked on between September 2025 and March 2026.

Data Preparation Pipeline

Main Pipeline
cd scripts
python events_to_csv.py
01-Basic Train
python "C:\Users\euanc\git\honours-project\d3-project\scripts\extract_ccx_notifications.py" --input "C:\Users\euanc\git\honours-project\d3-project\01-Basic\raw\train\control-center\control-center\ccx-notifications.jsonl" --outdir "C:\Users\euanc\git\honours-project\d3-project\01-data\train"
01-Basic Test
python "C:\Users\euanc\git\honours-project\d3-project\scripts\extract_ccx_notifications.py" --input "C:\Users\euanc\git\honours-project\d3-project\01-Basic\raw\test\control-center\control-center\ccx-notifications.jsonl" --outdir "C:\Users\euanc\git\honours-project\d3-project\01-data\test"
02-Semiurban Train
python "C:\Users\euanc\git\honours-project\d3-project\scripts\extract_ccx_notifications.py" --input "C:\Users\euanc\git\honours-project\d3-project\02-Semiurban\raw\train\control-center\control-center\ccx-notifications.jsonl" --outdir "C:\Users\euanc\git\honours-project\d3-project\02-data\train"
02-Semiurban Test
python "C:\Users\euanc\git\honours-project\d3-project\scripts\extract_ccx_notifications.py" --input "C:\Users\euanc\git\honours-project\d3-project\02-Semiurban\raw\test\control-center\control-center\ccx-notifications.jsonl" --outdir "C:\Users\euanc\git\honours-project\d3-project\02-data\test"
03-Rural Test
python "C:\Users\euanc\git\honours-project\d3-project\scripts\extract_ccx_notifications.py" --input "C:\Users\euanc\git\honours-project\d3-project\03-Rural\raw\test\control-center\control-center\ccx-notifications.jsonl" --outdir "C:\Users\euanc\git\honours-project\d3-project\03-data\test"
Continue Main Pipeline
python combine_features.py
python convert_boolean_columns.py
python label_features.py
python check_count.py
python ratio_definer.py
python split.py
python model.py
Running Mininet on WSL2
cd mininet
wsl
sudo mn --test pingall
sudo python3 topology.py
h2 tail -f /tmp/h2.log

About

Repository for my 4th year honours project dissertation at Heriot-Watt University. This project will be worked on between September 2025 and April 2026.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages