The Cerberus architecture is designed to be highly modular and layered. The CommunicationManager acts as the central orchestrator, making high-level decisions and managing various communication and security modules. This separation ensures resilience and adaptability, allowing for independent operation and graceful degradation of capabilities.
graph TD
subgraph " "
%% Top Level: Simulation Entry Points
subgraph "Application & Simulation Layer"
direction LR
Runner["run_simulations.sh
Interactive Runner"]
Sim1["main_communication_manager_simulation.py"]
Sim2["main_mesh_simulation.py"]
Sim3["main_5g_simulation.py"]
Sim4["main_advanced_communication_simulation.py"]
Sim5["main_testing_operationalization_simulation.py"]
end
%% Core Orchestration Layer
subgraph "Orchestration & Decision Layer"
CommManager["CommunicationManager
(communication_manager.py)
The central brain; selects comms mode."]
end
%% Communication Modes
subgraph "Communication Modes (Managed by CommunicationManager)"
direction LR
%% 5G Module and its specific dependencies
subgraph "Secure 5G Stack"
Secure5G["Secure 5G Module
(secure_5g_module.py)"]
subgraph G5Security["5G Security Components (security/)"]
direction TB
IMSI["IMSI Privacy"]
BSAuth["Base Station Auth"]
CarrierVal["Carrier Validation"]
DoubleEnc["Double Encryption"]
TrafficOb["Traffic Obfuscation"]
end
Secure5G -. Uses .-> G5Security
end
%% Mesh Module conceptual group
subgraph "Enhanced Mesh Stack (BitChat-Inspired)"
MeshModule["Enhanced Mesh Module
(Conceptual)"]
subgraph MeshComponents["Mesh Security & Routing"]
direction TB
Onion["Onion Routing
(onion_routing.py)"]
PoR["Proof of Relay
(proof_of_relay.py)"]
RPM["Relay Path Manager
(relay_path_manager.py)"]
end
MeshModule -. Composed of .-> MeshComponents
end
%% Advanced/Fallback Modules
subgraph "Advanced & Emergency Modules"
SatComm["Satellite Module
(satellite_communication.py)"]
Beacon["Emergency Beacon
(emergency_beacon.py)"]
end
end
%% System-Wide Services (Consulted by Orchestration Layer)
subgraph "System-Wide Services & Protocols"
direction LR
subgraph "Unified Threat Detection (security/)"
UTD["UnifiedThreatDetector"]
G5Detector["G5ThreatDetector"]
MeshDetector["Mesh Anomaly Detector
(Conceptual)"]
UTD -- Consolidates --> G5Detector
UTD -- Consolidates --> MeshDetector
end
subgraph "Autonomous Protocols (protocols/)"
AutoRecovery["Autonomous Recovery
Decision Tree"]
Blackout["Communication Blackout
Detection"]
PerfOpt["Performance Optimization
Traffic Shaping"]
end
end
%% External Frameworks for Testing and Ops
subgraph "Testing & Operationalization Frameworks"
direction LR
Testing["Security Testing
(testing/security_testing_framework.py)"]
Operational["Operational Procedures
(operational/operational_procedures.py)"]
end
end
%% Defining Relationships between all components
%% Simulations trigger core components
Runner --> Sim1 & Sim2 & Sim3 & Sim4 & Sim5
Sim1 --> CommManager
Sim2 --> MeshModule
Sim3 --> Secure5G & G5Detector
Sim4 --> UTD & AutoRecovery & Blackout & SatComm & Beacon
Sim5 --> Testing & Blackout & AutoRecovery
%% Manager controls all communication modes
CommManager -- Manages & Chooses --> Secure5G
CommManager -- Manages & Chooses --> MeshModule
CommManager -- Manages & Chooses --> SatComm
CommManager -- Manages & Chooses --> Beacon
%% Manager uses system-wide services
CommManager -- Consults --> UTD
CommManager -- Triggers --> AutoRecovery
CommManager -- Uses --> PerfOpt
%% Protocol interactions
AutoRecovery -- Uses Status from --> Blackout
Blackout -- Activates on Failure --> Beacon
%% Testing Framework acts on the system
Testing -- Adversarially Tests --> Secure5G & MeshModule