Skip to content

ANL-CEEESA/powerdataanomalydetection

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DER Cybersecurity

This is the repository for the CESER 40125b RC project (2023 to 2026) - Adaptive Cybersecurity for DER: A Game-Theoretic and Machine Learning approach for Real-Time Threat Detection and Mitigation. A high-level overview of the project is shown in Fig.1.

high_level_overvew Fig. 1. High-level overview of the project

Project status

Active development

Repository organization

  1. Please do not commit directly to the main branch. Create branches and create merge requests.

  2. Please use separate folders for logically related code deliverables from tasks/sub-tasks.

Software development tools

The table below gives information on the commonly agreed upon software solutions used in this project.

Software requirement Solution
Programming language Python 3.11 or higher
Software version control Git
Machine Learning framework Keras 3 (previously Keras core) with TensorFlow or PyTorch backend
Container management Docker or Podman
Federated learning frame work TBD
DER communication protocol SunSpec MODBUS or equivalent

Getting started

Please clone this repository using the below steps:

git clone https://git.cels.anl.gov/ceser_dercybersecurity/dercybersecurity.git
cd dercybersecurity

To update local repository with changes from GitLab repository:

git pull origin

To create a new branch:

git checkout -b yourbranchname

To push the changes made in your local branch (yourbranchname) to the remote repository, specifically to the branch with the same name on the remote repository:

git push origin yourbranchname

To learn more about using Git, please use this tutorial.

Docker image

Use the Dockerfile to build a Docker image which can be used for running containers. Make sure that that the code added to the repository will run within the container.

Build docker image

Development/training environment

docker build -t dercybersecurity:0.0.1 .

Inference environment

Update RUN_CONFIG_PATH in Dockerfile-service to point to configuration file that needs to be loaded at start time. Config file can be updated with the inference container UI.

docker build -f Dockerfile-service -t ads-system:0.1.5 .

Run Docker/Podman container using Docker image (replace docker with podman)

Development/training environment

docker run --rm -it -v "~/dercybersecurity:/home/dercybersecurity" dercybersecurity:0.0.1

Inference environment

docker run --rm -it -p 5000:5000 --network podman ads-system:0.1.5

Then got to http://localhost:5000/docs on browser to access the UI for inference environment.

Save Docker image

podman save $imageid > s_c_container.oci

Installation

Usage

Project Team

project_team

Acknowledgement

This project is supported by U.S. DOE Office of Cybersecurity, Energy Security, and Emergency Response through the 40125bRC program.

Integrate with your tools

Collaborate with your team

Test and Deploy

Use the built-in continuous integration in GitLab.


Citation

Support

Roadmap

Contributing

Authors and acknowledgment

Show your appreciation to those who have contributed to the project.

License

For open source projects, say how it is licensed.

About

Package to develop anomaly detection models for electric power grid/system using machine learning

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages