## 4 Scenario and Parameterization
### Implementation Specifics and Data Collection  
The considered IAB system model was implemented in the OMNeT++ simulation environment. OMNeT++ is a general-purpose discrete-event simulator (DES), supporting main networking functions and allowing for flexible extensions. To implement the considered scenario, we extended the library \"queuinglib\" with the classes presented in Figure 8. The _Sink, Queue_, and _Source_ classes correspond to the standard components of queuing theory models.  
Figure 8: Simulator classes diagram.  
Figure 7: The considered non-synchronized TDM patterns.  
Network initialization begins with the link manager interpreted by the _LinkManager_ class. It receives the model's input parameters and configures the links between nodes according to the given topology. This module implements link scheduling following the TDM pattern and coordinates the operation of the entire network. Due to the peculiarities of the chosen topologies, upstream routing is a simple task, because there is always only one parent node. In the case of downstream, each packet is assigned a header with information about the destination node and the sector in which the service takes place. After the initialization of the network, based on matrix **M**, route tables are compiled and sent to each node. Thus, knowing the destination node number and self number, each node uniquely determines the next recipient. The route table consists of pairs of directly linked nodes, i.e., for the network in Figure 3, we have routes:  
\[\begin{split} 1&:()\\ 2&:(1,2)\\ 3&:(1,2),(2,3)\end{split} \tag{4}\]  
Here, the destination node is specified before the colon, and the first value (key) in the pairs is the number of the node where the packet is currently located. Using the packet header, the line in the route table is determined, and using the number of the current node, the number of the next one (the second value in the pair) is found. The packet is directed to the antenna sector maintaining the backhaul link with this node. When the packet arrives at the destination node, the previous node of the route is determined from the same route table (now the second value is used as a key). Knowing this, we determine the sector of the antenna on which reception will be carried out.  
We extended the standard _Queue_ class to _QueueWithGate_ by adding an abstract gate that prevents packets from leaving the queue if the link to another node is not active. The _CoreNetwork_ class consists of a sink for upstream packets and a set of packet sources whose number equals the total number of antennas in the network. The _Antenna_ class consists of a number of queues (buffers) with gates according to Figure 3 and includes _UEs_, which describe associated groups of users. _IABNode_ contains an array of antennas and some variable parameters that are needed to capture the node state.  
To obtain the simulation data reliably, the method of replications with sampling was utilized [65]. Specifically, for each considered set of system parameters, the simulation was performed 30 times with different random seeds. The overall duration of each experiment was set to 600 s. To get rid of the residual correlation in obtained data, each 10 th packet was sampled. Data were collected during the steady-state period only. To detect the beginning of the steady-state period, the exponentially weighted moving average (EWMA) was utilized. Then, the obtained latency values in each experiment were averaged and then utilized to form an independent and identically distributed (iid) sample for further statistical analysis.