Machine learning with NetSim can be offline and online machine as shown in the figure below
Programming options for online ML
- ML algorithms in C
- NetSim code is in C; write ML code also in C;
- Tight integration is possible since they can be compiled together
- Difficult. Low-level memory management required.
- Very fast; low execution time
- ML algorithms in Python
- Inter-process communication between NetSim (C code) and Python via sockets
- Easy and user-friendly
- Slow; high execution time
- Interface with Gymnasium for advanced RL Algorithms
Useful Links
- AI/ML with NetSim. Main webpage: https://tetcos.com/machine-learning-netsim.html
- Example project with code and documentation. 5G DL Power Control to Maximize Sum Throughput using Reinforcement Learning (PDF). Includes Tabular Q-learning, A2C, PPO and DQN algorithms.
- https://support.tetcos.com/a/solutions/articles/14000138368 - Load balancing and applying RL.
Example papers that have used AI/ML with NetSim
- DETONAR: Detection of Routing Attacks in RPL-Based IoT (https://ieeexplore.ieee.org/document/9415869)
- Reinforcement-Learning-based IDS for 6LoWPAN (https://ieeexplore.ieee.org/document/9724461)
- ELNIDS: Ensemble Learning based Network Intrusion Detection System for RPL based Internet of Things (https://ieeexplore.ieee.org/document/8777504)
- Q-Learning Relay Placement for Alert Message Dissemination in Vehicular Networks (https://www.sciencedirect.com/science/article/pii/S1877050922006342)
- Adaptive Hybrid Heterogeneous IDS for 6LoWPAN (https://arxiv.org/abs/2205.09170)