# A Modular Web-Based Software Solution for Mobile Networks Planning, Operation and Optimization
## 5 Implementation
### Network Simulation  
The network simulation is the functionality that allows users to infer how the network (the selected site/cells on the network overview section) will behave under certain conditions. To this end, a user is guided through a step-based selection procedure. The naming of each step indicates the transition from general objectives to particular objectives, culminating with the selection of a specific RAN algorithm. More specifically, the procedure comprises four steps, as well call them: Data Context, Playing Mode, Song, and Instrument (see Table 1). \begin{table}
\begin{tabular}{l c c c c c c} \hline \hline \multicolumn{5}{c}{**Data Context**} & \multirow{2}{*}{**Playing Mode**} & \multirow{2}{*}{**Song**} & \multirow{2}{*}{**Instrument**} \\ \cline{1-1}
**DTs** & & & & & & \\ \hline Y & - & - & - & & Site Configuration & Crossed Sector \\ Y & - & - & Y & & & Antenna Tilt \\ Y & - & - & Y & & & Handover \\ \hline - & - & Y & - & & Capacity & Capacity \\ Y & - & - & - & Diagnosis & Coverage & Coverage \\ Y & - & - & - & & Interference & Pilot Pollution \\ Y & - & - & - & & & Overshooting \\ \hline - & Y & Y & Y & & & Energy Management & Energy Consumption \\ Y & - & - & Y & & Radio Propagation & Coverage \\ \hline \hline \end{tabular}
\end{table} 
Table 1: RAN algorithm (instrument) selection process. Figure 7: Novel visual representation of cells in a site. The Data Context represents the first filter intended to aid the user in the RAN algorithms (instruments) selection process. It allows filtering the instruments by the data source requirement of each. From the four data sources available, DTs, Energy Management (EM), PM, and CM, a user may be interested in evaluating a particular data source, such as PM. After selecting the data context (one or more data sources), the user selects a Playing Mode (see Table 1). This filter aims to guide the user towards its end goal. It can be to perform network planning, network diagnosis, or network orchestration (optimization). Then, depending on the selected playing mode, the respective Songs are presented. A song allows filtering the RAN algorithms according to a specific network area. For instance, if the Playing Mode orchestration is selected, the user is provided with a choice between site or cell configuration. Accordingly, different RAN algorithms are displayed for selection by the software solution user. As an example, considering that a user selects as Data Context, DTs, EM, and PM, orchestration as Playing Mode, and cell configuration as Song, it is given two instruments: handover and antenna tilt (cf. Table 1). Considering that the instrument antenna tilt is selected, Figure 8 is exhibited to the user. In the case of the antenna tilt optimization algorithm, four user inputs are required. The first input controls which tilt should be optimized, only the MDT, only the EDT, or both. The second defines the optimization objective (minimize interference, maximize coverage or both). Then the coverage and interference thresholds are defined. After, the user adds a name to this simulation and invokes the execution by pressing the call simulation button. Figure 8: Example of setting inputs and to invoke a RAN algorithm. Such action will dispatch a running process in background that, once finished, stores its outcome in the database. Notice that this runs in parallel so the user can do other things in meantime (actually, the running of the algorithm may take a while to be completed). At some point later on, the user will check the status of the running of the algorithm. If it is complete, then the user can upload and visualize the results. Any algorithm will have its own set of peculiarities as far as visualization and inputs is concerned. Therefore, for a particular user, there will be a set of simulations at disposal that he or she required. In addition, those simulations can be managed, not just uploaded but also deleted. It is worth pointing out that it is possible to input cells either by enumerating the cells ID or by drawing areas of interest in the map.