How haithemnasr/meshnet-ai works
MeshNet AI simulates disaster-resilient routing across Tunisian mesh networks. Users can trigger a disaster, select a routing approach, and observe message delivery and network KPIs in the dashboard; a separate benchmark compares six algorithms, while training produces DQN/PPO agents. The graph preserves geography, disaster effects, simulation, routing, RL, evaluation, and visualization. Some dashboard and benchmark internals are unsampled, so their links are limited to capabilities documented in the README rather than inferred call chains.
Main entry points: network.py Mesh network · dashboard.py Interactive dashboard · comparison_test.py Algorithm benchmark · message.py Messages
Components 16
Network simulation
- Mesh network
src/network/network.py - Mesh nodes
src/network/node.py - Messages
src/network/message.py
Geography and disasters
- Tunisia map
src/scenarios/tunisia_map.py - Disaster scenarios
src/scenarios/disaster.py
Routing and learning
- Flooding router
src/network/routing.py - Baseline routers
src/ai/baseline_routers.py - RL environment
src/ai/stable_rl_env.py - Agent training
train_rl_agents.py - DQN/PPO weights
models
Dashboard and evaluation
- Interactive dashboard
dashboard.py - Network visualizer
src/visualization/network_viz.py - Algorithm benchmark
comparison_test.py - Dashboard metrics
data/dashboard_metrics.json - Comparison charts
data/results/comparison
Other components
- Operator
Connections 28
- Operator → Interactive dashboard: operates
- Interactive dashboard → Mesh network: builds network
- Interactive dashboard → Disaster scenarios: selects scenario
- Interactive dashboard → RL environment: runs AI routing
- Interactive dashboard → DQN/PPO weights: loads agent
- Interactive dashboard → Dashboard metrics: reads KPIs
- Interactive dashboard → Network visualizer: renders network
- Mesh network → Mesh nodes: manages nodes
- Mesh network → Messages: creates messages
- Mesh nodes → Messages: queues and receives
- Disaster scenarios → Mesh network: updates failures
- Tunisia map → Mesh network: supplies city data
- Agent training → RL environment: trains agents
- Agent training → Tunisia map: uses city data
- Agent training → DQN/PPO weights: saves weights
- RL environment → Mesh network: observes and steps
- RL environment → Messages: advances message
- Flooding router → Mesh network: forwards messages
- Baseline routers → Mesh network: routes messages
- Baseline routers → Messages: updates route
- Operator → Algorithm benchmark: runs comparison
- Algorithm benchmark → Mesh network: simulates routing
- Algorithm benchmark → Baseline routers: compares baselines
- Algorithm benchmark → DQN/PPO weights: evaluates learned agents
- Algorithm benchmark → Dashboard metrics: exports metrics
- Algorithm benchmark → Comparison charts: saves charts
- Network visualizer → Mesh network: reads network state
- Network visualizer → Messages: plots message path