Last update: December 2023
MAVSIM+: Testing Data Management Techniques for Vehicular Networks and Parking Space Searching
MAVSIM is a simulator originally designed to evaluate data management techniques in the context of vehicular network (VANET) applications based on mobile agents. Besides, more recently, this simulator has been extended to support the evaluation of data management strategies for searching available parking spaces. On the one hand, it has been extended to support the simulation of on-street parking spaces; on the other hand, it has also been integrated with SimulParking. We identify this new version of MAVSIM as MAVSIM+.
This invention has been registered in Spain (University of Zaragoza — PII-2023-0026).
MAVSIM+: Simulation of Parking Spaces
MAVSIM+, the new version of MAVSIM, is also able to simulate parking spaces in the streets, as well as parking lots thanks to its integration with SimulParking and additional extensions to support on-street parking spaces. As an example, in this video
we show the integration of SimulParking with MAVSIM, as well as other functionalities added to MAVSIM to deal with parking spaces. We also show some sample snapshots:
- MAVSIM with a parking defined using SimulParking and its associated option:
- MAVSIM with two parkings defined using SimulParking:
- MAVSIM with two parkings defined using SimulParking and several on-street parking spaces:
- MAVSIM showing the content of a SimulParking's parking:
- MAVSIM showing the content of a SimulParking's parking and its associated events:
- MAVSIM showing an on-street parking and a console with information about the simulation:
- MAVSIM's about window:
Software
Initial Motivation for MAVSIM and its Conception
Mobile agent systems and VANETs have some similarities. Thus, in a VANET there are many vehicles, distributed on a wide geographic area, that exchange data from vehicle to vehicle based on certain conditions. The existing similarity with a situation where some software agents move from one computer/device to another makes mobile agents a very suitable option to implement applications for VANETs.
Mobile Query Processing Using Mobile Agents
Mobile agents are a very valuable means to process distributed data in a VANET. Their mobility allows them to hop from one vehicle to another carrying a query and/or its results, and their intelligence and autonomy help them to reach suitable vehicles for data processing, by following a certain algorithm or rule set.
A mobile agent can be programmed to adapt itself to the current environmental factors. For example, depending on certain conditions (such as the density of vehicles in the area) it could decide to clone itself to increase the reliability or the number of vehicles that can be visited.
Once a mobile agent arrives in a vehicle, it can process the local data stored there and filter out the irrelevant information. The relevant data found are integrated into the mobile agent's knowledge base and carried to another vehicle, where a local processing starts again (enhanced by the accumulated knowledge of the mobile agent), and so on, until the final query result is obtained.
In this video
we can have an overview of this process.
The query resolution process shown in the video is as follows:
- The car with the red circle acts as the query originator. It launches a query and awaits for the response while it keeps moving.
- The little red number 2 (next to the upper-right corner of the cars) represents the mobile agent issued to process the query.
- The mobile agent travels towards the query area (the light blue square). It hops from one car to another if it follows a better path towards the area.
- Once inside the query area, the agent tries to solve the query visiting cars with relevant information (represented by a little green number (e.g. 14) at the bottom of the cars.
- If the agent leaves the area and the query is not solved yet, it will try to reach again the area hopping to other cars.
- Once enough cars have been visited by the mobile agent and enough data have been collected, the query is solved, and the result must be returned to the query originator.
- The mobile agent estimates the position of the moving origin car and tries to go there by hopping among cars until it reaches the query originator.
- When the mobile agent reaches the query originator, it gives the query solution and ends it execution.
Basics of the VANET Simulator ![](pics/car.png)
We have built a VANET simulator from scratch, that allows us to test different mobile agents configurations in order to find the best algorithms, movement policies, agent behaviours, etc.
Some of the features of our simulator are:
- Programmed in Java, so it can be executed directly in Windows, Linux and other operating systems, in 32 and 64 bits architectures.
- Graphical User Interface with interactive controls and graphics from Yahoo Maps, OpenStreetMap, and Bing Maps.
![](pics/newyork.png) |
![Click to enlarge](pics/AgentVanetSimulator1.png) |
City of New York (USA). Images from OpenStreetMap. |
City of Zaragoza (Spain). Images from Yahoo Maps. |
- Simulation parameters entirely configurable from the command line to allow batch executions for unattended simulations.
- Ability to use and download real geographic data of different cities, using OpenStreetMap.
- Different objects are simulated: vehicles; computers and communication devices; mobile agents; the monitored area; and the fixed infrastructure.
- Different built-in hop strategies for agents.
- Different built-in movement models for vehicles.
- Simulations can be recorded in a file and replayed later (see below) to ease debugging and developing.
- The simulator takes into account the existence of buildings, that act as obstacles that block the WiFi signal propagation.
The following video
shows how different cities can be loaded and simulated in an easy way.
In this video
we show the different options that the simulator offers.
Furthermore, in this other video
we show an example loading a map of Baltimore.
Replay Tool
When simulations are performed, there exists the possibility of recording all the involved data to a file for later analysis.
In every iteration the positions of all vehicles, mobile agents, and communication devices are stored, as well as the status of mobile agents and the values computed by their hopping strategy evaluation function.
Once the simulation finishes, the recorded data can be opened with the Replay Tool for viewing the scenario map and vehicles in a graphical window. Using the controls present in the toolbar, the
whole simulation can be replayed back and forth, and paused at any time of the simulaton to examine more closely the information displayed in the window. The following screenshots show:
In the upper-left side of the window, in blue fonts (left image, click to enlarge):
- The performed experiment name.
- The number of vehicles and the hopping strategy used by the mobile agents.
- The average spatial velocity of the mobile agent.
- The mobile agent's current phase of the process.
- The amount of time that the mobile agent stays in every phase in which the whole process is divided, with graphic bars next to them.
Within the graphic window (right image, click to enlarge):
- The communication device range (red circle around vehicles and fixed sites).
- In red bold font, the mobile agent identificator, the current hopping strategy value, and the next action to be performed by the agent.
- A blue long straight line towards the primary vehicle destination (e.g., the interest area, the query origin, etc.)
- A red straight line to the next vehicle that the mobile agent will hop to, as well as the numeric evaluation (in pink) computed by the hopping strategy of all the nearby candidate vehicles.
- A light blue square denoting the bounds of the interest area.
![Click to enlarge](pics/replay1.png) |
![Click to enlarge](pics/replay2.png) |
Replay Tool window. Toolbar and scenario information. |
Replay Tool window. Vehicle and mobile agent, with the evaluation of nearby candidates to hop |
Note
Some snapshots and videos shown in this web page could be updated, as we continue extending and improving the simulation tool.
Most Related Publications (see also this list)
Óscar Urra and Sergio Ilarri, "Spatial Crowdsourcing with Mobile Agents in Vehicular Networks", Vehicular Communications, ISSN 2214-2096, volume 17, pp. 10-34, Elsevier, June 2019. DOI: 10.1016/j.vehcom.2019.03.004.
Óscar Urra, Sergio Ilarri and Raquel Trillo-Lado, "An Approach Driven by Mobile Agents for Data Management in Vehicular Networks", Information Sciences, ISSN 0020-0255, volume 381, pp. 55-77, Elsevier, March 2017. DOI: 10.1016/j.ins.2016.11.007.
Óscar Urra and Sergio Ilarri, "MAVSIM: Testing VANET Applications Based on Mobile Agents", in Cognitive Vehicular Networks, Anna Maria Vegni, Dharma P. Agrawal (editors), CRC Taylor, Francis Group, Print ISBN 978-1-4987-2191-2, eBook ISBN 978-1-4987-2192-9, pp. 199-224, 2016. DOI: 10.1201/b19351-14.
Óscar Urra, Sergio Ilarri and Eduardo López, "Simulating Mobile Agents in Vehicular Networks", XIX Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2014), Cádiz (Spain), ISBN-13: 978-84-697-1152-1, ISBN-10: 84-697-1152-0, pp. 71-84, September 2014. Editores: Javier Tuya, Mercedes Ruiz, Nuria Hurtado.
Contributors
Main Researchers
Students (final degree projects)
- Eduardo López García worked hard and contributed to this simulator during his Master Project “Simulador de VANETs para evaluar técnicas de gestión de datos basadas en agentes móviles” (2010), under the supervision of Sergio Ilarri.
- Ángel Arraez developed a plug-in to integrate MAVSIM with SimulParking and introduced some functionalities for the simulation of parking spaces in cities, within the context of his final academic project, under the supervision of Sergio Ilarri.
Acknowledgments
We cite below our current funding projects:
- Project PID2020-113037RB-I00 / AEI / 10.13039/501100011033 — Next-gEnerATion dAta Management to foster suitable Behaviors and the resilience of cItizens against modErN ChallEnges (NEAT-AMBIENCE)
- Government of Aragon (COSMOS research group; last group reference: T64_23R; previous group reference: T64_20R)
Logos
![](pics/NEAT-AMBIENCE-logo.png)
![](pics/NEAT-AMBIENCE-funder.png)
![](pics/cosmos-logo.png)
![](pics/MAVSIMplus-logo.png)