# Satellite-Assisted Disrupted Communications: IoT Case Study
## 4 Experiments
### Experimentation Parameters  
We established ground stations, denoted as _MCC_ (Mission Control Center), to serve as wireless ground hosts. They send pings as _PingApps_ nodes from the INET framework [52] and the quantity of these nodes is determined by the _numOfMCCs_ variable. These stations initiate ping requests, with the first ping transmitted at the specified _startTime_ parameter. In terms of ground station positioning, the framework incorporated a modified transmission model from INET that integrates actual coordinates (longitude, latitude, and altitude) of the nodes and calculates the actual distances and propagation delays across the 2D OMNeT++ map, facilitated by the _IntegratedCanvasVisualizer_ submodule. We conducted simulations involving diverse satellite constellations positioned at an altitude of 600 km, with 25\({}^{\circ}\) elevation angle, mirroring the characteristics of Starlink satellites at this altitude [53]. The ground-to-ground station communication were ruled out as the purpose of the work is to investigate satellite-assisted communications. According to Table 2, these satellites exhibit a coverage percentage of approximately 0.62% of the Earth's surface. Given the known radius of the Earth (\(Re=6378\times 10^{3}\)) we calculate the radius of the satellite's footprint, i.e., approximately 1008 km. This radius is transformed  
\begin{table}
\begin{tabular}{c c c c c c c c c} \hline \hline  & & & & & & & & \\ \hline
**Elevation (\(\epsilon_{0}\))** & **160 km** & **500 km** & **600 km** & **700 km** & **800 km** & **900 km** & **1000 km** & **1500 km** \\ \hline
0\(  
into the 2D OMNeT++ environment through the representation of the _communicationrange_ parameter, a constant value across all our experiments given the consistent 600 km altitude of the satellites. The _fullDuplex_ parameter is also enabled, allowing nodes to simultaneously transmit and receive data, functioning as transceivers. The satellites in our experiments served as wireless hosts, but mobile, orbiting the Earth at an altitude of 600 km. According to the OS3 model, two methods are employed to construct constellations: (1) utilizing.txt files containing current satellite constellation data and (2) creating an entirely new constellation based on predefined standards. The former method leverages the original OS3 framework, utilizing Two-Line Element (TLE) sets of data that can be downloaded from [54] and imported. We opted for the latter method, designing our satellite constellation with specific parameters from the updated OS3 version [50] since a primary goal of this study was to analyze the influence of satellite design parameters on the reliability of satellite communications in different scenarios. Therefore, some of the already existing TLE data might limit our work which led us to \"hard-code\" the number of satellites (_numOfSats_), number of _planes_, satellites per plane (_satPerPlane_), and the _intersatelliteLink_ parameter (which is described below). Moreover, the _updateInterval_ variable served as granularity to signal mobility state changes. A smaller _updateInterval_ enhances result accuracy and smoothness by allowing the identification of a greater number of alternative route paths. However, this improvement comes with corresponding drawbacks, including increased complexity in terms of routing (resulting in larger routing tables) and longer execution times for the experiments. Particularly, in denser constellations, the runtime becomes noticeable since the reconfiguration of routes and the construction of larger network topology graphs require significant time. As the simulation topology was updated based on the _updateInterval_ parameter, the [PERSON]'s shortest path algorithm was invoked, edges were created for nodes located within the communication range, and edge weights were assigned to determine the feasibility of a connection. In case of viable connections, the propagation delay was set as the edge weight, otherwise an infinite weight was assigned to the edge.