# Performance Modeling and Analysis of LTE/Wi-Fi Coexistence
## 3 Modeling
### MOSEL-2 Simulation  
The proposed model is analyzed via MOSEL-2 simulation, which is an extended version of the original MOSEL [1]. The new MOSEL-2 version is improved and updated to have the possibility to model inter-arrival and service-time distributions that are not only exponential, but also have non-exponential behavior. Conducting simulation with MOSEL-2 language makes life easy, and therefore the proposed model can be easily solved using a programming language that is easy to understand and apply because it is very similar to C language. Using MOSEL-2, the model that is given graphically as a queueing model or Petri net can be simply solved by MOSEL-2, then the associated state space is generated, the stochastic process is derived, and then MOSEL-2 provides a numerical solution that encompasses all the desired performance parameters. Fortunately, in a user-friendly environment, the figures can be formatted and prepared with easy steps by the intermediate graphical language (IGL) package, which is linked with MOSEL-2 upon installation. The old and new versions of MOSEL are frequently used by the group members and other researchers in the performance evaluation and modeling of queueing networks and the new generation of wireless mobile networks (i.e., 2G, 3G, 4G, and 5G). Recently, MOSEL-2 was used to model 4G and 5G mobile networks [6; 24; 25; 30; 31; 32]. Figure 3 explains the steps of the model solution by MOSEL-2, considering that MOSEL-2 is only operational via the Linux operating system. For more information about the license and installation procedure, please see [1]. \begin{table}
\begin{tabular}{c c c c c c} \hline
**QCI** & **Resource Type** & **Priority** & \begin{tabular}{c} **Packet Delay** \\ **Budget (NOTE 1)** \\ \end{tabular} & \
\begin{tabular}{c} **Packet Error Loss** \\ **Rate (NOTE 2)** \\ \end{tabular} &
\begin{tabular}{c} **Example Services** \\ \end{tabular} \\ \hline \(1\) & & & & & \\ (NOTE 3) & & & & & \\ (NOTE 3) & & & & & \\ \hline \(2\) & & & & & \\ (NOTE 3) & & & & & \\ \hline \(3\) & & & & & \\ (NOTE 3) & & & & & \\ \hline \(4\) & & & & & \\ (NOTE 3) & & & & & \\ \hline \(5\) & & & & & \\ (NOTE 3) & & & & & \\ \hline \(6\) & & & & & \\ (NOTE 4) & & & & & \\ \hline \(7\) & & & & & \\ (NOTE 3) & & & & & \\ \hline \(8\) & & & & & \\ (NOTE 5) & & & & & \\ \hline \(9\) & & & & & \\ (NOTE 6) & & & & & \\ \hline \end{tabular}
\end{table} 
Table 3: QCI specifications for LTE [29]. (© 2022 - 3 GPPTM deliverables and material are the property of ARIB, ATIS, CCSA, ETSI, TSDSI, TTA and TTC who jointly own the copyright in them. They may be subject to further modifications and are therefore provided to you “as is” for information purposes only. Further use is strictly prohibited). According to Figure 3, the following steps describe how the simulation model is developed:  
* Step 1: the high-level system description is prepared with the MOSLE-2 tool in a simple C-like language, as shown in Figure 3. The description of the model is saved as \"filename.mos\", where the desired performance measures are specified. Without the programmer interaction, the described model is passed to the evaluation environment, where all the following steps are performed. * Steps 2 and 3: the model is translated into a specific tool for producing the input file via the MOSEL-2 environment. This tool can be the C-based Stochastic Petri Net tool (C-Based SPNP) [33] or TimeNet [34]. After choosing a specific tool, MOSEL-2 environment calls the tool. * Steps 4 and 5: via different command-line options, the input file is processed by the tool in two different methods: 1. Numerical analysis: during this analysis, the complete state space of the system is generated, based on the semantic rules of the modeling language. The obtained semantic model is attached to the stochastic process. Afterwards, the available numerical solution algorithms solve the stochastic process. 2. Simulation: via discrete event simulation, the tool assesses the model with no need to generate the state space. 3.