## 7 Mobility  
Mobility is probably the most important simulation model for evaluating OppNets. It is the main driver of OppNets and how messages get diffused in the network. Mobility (or its absence) controls which nodes are meeting each other and for how long. We explored the different mobility models for OppNets in our earlier survey [8]. Generally speaking, we identified three groups of mobility models:  
* **Random** mobility traces use analytical models to describe the mobility of devices/people in OppNets. They are simple, fast, but very unrealistic. Examples include Random Waypoint, Random Direction, etc. * **Real trace** mobility models gather real GPS or other location data from real users and replay them in simulation. They are very realistic, easy to implement, but slow. Furthermore, gathering the traces is a very tedious task and there is no way to increase the number of nodes later. There exist a well-known database with such traces, called Crawdad ([[https://crawdad.org](https://crawdad.org)]([https://crawdad.org](https://crawdad.org))). * **Hybrid** models combine both worlds by extracting statistical data or observations from real traces and then implementing a randomized model based on those. They are faster than real traces and more realistic than random models. However, they also quickly become very complex to understand and implement. It is also very hard to grasp all behavioral observations in one model. Examples for such models include SWIM (Small Worlds in Motion) [82], HCMM [83] or TRAILS [84]. The properties we are looking at for mobility models are:
* Scalability: How many nodes can a model produce/simulate? Random and hybrid mobility models are not really restricted in their scalability: as many nodes as needed can be simulated. However, traces are limited to the maximum number of nodes they have been collected for. * Realism: How realistic is the behavior of the moving nodes? Real traces are clearly real. Random models are least realistic, while hybrid models tend to have more realistic properties. * Generalization: How general can the results be considered? A single real trace is a snapshot and thus not representative. Analytical (random and hybrid), when used for a large number of scenarios and parameters, can be considered representative studies with statistical significance. The properties of the three families of mobility models are also summarized in Figure 6 (left). Figure 6 shows how different mobility models vary in degrees of their relevance in terms of generalization, realism and scalability. For instance, a single trace is highly realistic, although neither highly scalable nor relevant in terms of generalization, as it adheres to a specific scenario. Until recently, the models have been used exclusively, i.e., only one model was applied in a particular simulation. However, other approaches are also possible: running simulations with several mobility models separately and together. The first idea is quite straightforward: a simulation is run first with mobility Model A, then with Model B, Model C, etc. All results together are used to derive the performance of the explored protocol. The second idea is more complex and has not been applied yet. Here, individual traces are not run separately from each other, but on top of each other. The coordinate systems of the individual traces need to be converted to match. In this way, a much more scalable and dense simulation is possible, which makes the performance evaluation scalable and general at the same time. The effect of these modifications is also shown in Figure 6 (right). The only remaining challenge is performance of the model itself, as trace-based models are known for their slow performance. The idea of using several mobility models at the same time is not exclusive for traces. It is also very useful with hybrid models, where for example some nodes move similar to vehicles and others similar to pedestrians.