How vvvrome/data-center-scada works
DataCenter Lab is a Python critical-infrastructure simulation lab with a Flask interface. The main runtime starts in main.py: it configures the datacenter and simulation engine, starts periodic updates, then serves the web app. The simulation combines infrastructure, workload/power/cooling/network behavior, monitoring and security; the plant is a separate physical-process and safety domain, with QKD security. Graph Lab and user/audit persistence are additional capabilities. Edges use README architecture statements or source-index references; unsampled subsystem internals are not inferred.
Main entry points: motor.py Simulation engine · proceso.py Nuclear plant process · app.py Flask application · main.py Runtime launcher
Components 25
Runtime and web
- Runtime launcher
main.py - Flask application
API/app.py
Datacenter simulation
- Datacenter infrastructure
infraestructura/datacenter.py - Server and network devices
infraestructura/server.py - Simulation engine
simulacion/motor.py - Workload generation
simulacion/workload.py - Power and cooling
simulacion/power.py - Network simulation
simulacion/network.py - Monitoring and alerts
monitorizar/alerts.py
Security and persistence
- Security manager
seguridad/security_manager.py - Firewall policies
seguridad/firewall.py - Intrusion detection
seguridad/ids.py - User accounts
database/users.py - Audit records
database/audit.py
Plant and QKD
- Nuclear plant process
planta/proceso.py - Reactor model
planta/reactor.py - Fault management
planta/fault_manager.py - Plant safety control
planta/safety_controller.py - QKD session manager
planta/security/qkd_manager.py - BB84 QKD session
planta/security/qkd.py - QKD security response
planta/security/security_controller.py
Graph Lab
- Graph Lab routes
graph_lab/routes.py - Expression parser
graph_lab/expression_parser.py - Graph plotting
graph_lab/plotting.py
Other components
- User
Connections 26
- User → Flask application: uses
README.md - Runtime launcher → Datacenter infrastructure: creates
main.py - Runtime launcher → Simulation engine: starts
main.py - Runtime launcher → Flask application: serves
main.py - Runtime launcher → Server and network devices: configures
main.py - Flask application → Graph Lab routes: registers
API/app.py - Flask application → User accounts: authenticates users
API/app.py - Flask application → Audit records: records events
API/app.py - Simulation engine → Workload generation: uses
simulacion/motor.py - Simulation engine → Monitoring and alerts: updates
simulacion/motor.py - Simulation engine → Security manager: checks security
simulacion/motor.py - Simulation engine → Nuclear plant process: updates
simulacion/motor.py - Datacenter infrastructure → Server and network devices: builds
infraestructura/datacenter.py - Security manager → Firewall policies: checks connections
seguridad/security_manager.py - Security manager → Intrusion detection: inspects connections
seguridad/security_manager.py - Nuclear plant process → Reactor model: updates
planta/proceso.py - Nuclear plant process → Fault management: updates
planta/proceso.py - Nuclear plant process → Plant safety control: checks safety
planta/proceso.py - Nuclear plant process → QKD session manager: runs sessions
planta/proceso.py - QKD session manager → BB84 QKD session: runs session
planta/security/qkd_manager.py - Nuclear plant process → QKD security response: handles QKD result
planta/proceso.py - Graph Lab routes → Expression parser: parses expressions
graph_lab/routes.py - Graph Lab routes → Graph plotting: prepares graphs
graph_lab/routes.py - Simulation engine → Power and cooling: models power and cooling
README.md - Simulation engine → Network simulation: simulates traffic
README.md - Monitoring and alerts → Nuclear plant process: alerts across domains
README.md