A discrete-event network simulator for TSN
Ubuntu 18.04 or Windows 10
python==2.7, simpy==3.0.13, pandas==0.24.2, matplotlib==2.2.3,
Supports eDDSCH-TSN protocol.
Run directory = PYTSN-v2
Step-1: Go to run directory PYTSN-v2
Step-2: Type the following command, $ sudo python run.py
Packets received by the terminals are stored in the file./results/traffic/ts
For plotting packet reception times, you may use the plot_packet_reception_times.py script in ./tools
Initial version
Run directory = PYTSN-v1
Step-1: Go to run directory PYTSN-v1
Step-2: Edit the simulation parameters in file "ini". Choose the ned file for simulating the appropriate experiment-A configuraiton. e.g., to simulate experiment-A, configuration-1, set sim_time = 100e-3 and ned_file = "ned_exp_a_conf_1.py"
Step-3: Type the following command, $ sudo python run.py
Packets received by the terminals are stored in the file./results/traffic/ts
For plotting packet latencies, you may also use the plt_latency.py script in ./tools
Step-1: Go to run directory PYTSN-v1
Step-2: Edit the simulation parameters in file "ini". Choose the ned file for simulating the appropriate experiment-A configuraiton. e.g., to simulate experiment-B, configuration-ST/BE ration method for CT=50us, set sim_time = 100e-3 and ned_file = "ned_exp_b_stbe_50u.py"
Step-3: Type the following command, $ sudo python run.py
Packets received by the terminals are stored in the file./results/traffic/ts
For plotting packet latencies, you may also use the plt_latency.py script in ./tools
Step-1: Go to run directory PYTSN-v1
Step-2: Edit the simulation parameters in file "ini". Choose the ned file for simulating the appropriate experiment-A configuraiton. e.g., to simulate experiment-D, configuration-1, set sim_time = 100e-3 and ned_file = "ned_exp_d_conf_1_rev2.py" and to simulate configuration-2, set ned_file = "ned_exp_d_conf_2_rev2.py"
Step-3: Type the following command, $ sudo python run.py
Packets received by the terminals are stored in the file./results/traffic/ts
For plotting packet latencies, you may also use the plt_latency.py script in ./tools
If you are using PYTSN for your work, do cite the following manuscripts,
-
Kurian Polachan, Chandramani Singh, and T. V. Prabhakar. 2021. Decentralized Dynamic Scheduling of TCPS flows and a Simulator for Time-Sensitive Networking. ACM Trans. Internet Technol. Just Accepted (November 2021). https://doi.org/10.1145/3498729
-
K. Polachan, C. Singh and T. V. Prabhakar, "Decentralized Dynamic Gate Scheduling of IEEE 802.1Qbv Time Aware Shaper and a TSN Simulator for Tactile Cyber-Physical Systems," 2021 IFIP/IEEE International Symposium on Integrated Network Management (IM), 2021, pp. 45-53.
If you have questions on how to use the network simulator do contact me at kurianpol@gmail.com.
my website - https://sites.google.com/view/kurianpolachan/home