Survey of Smart Parking Systems

: The large number of vehicles constantly seeking access to congested areas in cities means that ﬁnding a public parking place is often di ﬃ cult and causes problems for drivers and citizens alike. In this context, strategies that guide vehicles from one point to another, looking for the most optimal path, are needed. Most contributions in the literature are routing strategies that take into account di ﬀ erent criteria to select the optimal route required to ﬁnd a parking space. This paper aims to identify the types of smart parking systems (SPS) that are available today, as well as investigate the kinds of vehicle detection techniques (VDT) they have and the algorithms or other methods they employ, in order to analyze where the development of these systems is at today. To do this, a survey of 274 publications from January 2012 to December 2019 was conducted. The survey considered four principal features: SPS types reported in the literature, the kinds of VDT used in these SPS, the algorithms or methods they implement, and the stage of development at which they are. Based on a search and extraction of results methodology, this work was able to e ﬀ ectively obtain the current state of the research area. In addition, the exhaustive study of the studies analyzed allowed for a discussion to be established concerning the main di ﬃ culties, as well as the gaps and open problems detected for the SPS. The results shown in this study may provide a base for future research on the subject.


Introduction
The vehicle routing problem (VRP) is one of the most widely studied problems in intelligent transport systems (ITS) today. The growth of cities in terms of population and number of vehicles led to a search for alternatives for a better transport system. The considerable number of vehicles trying to access areas that remain permanently congested means that finding a public parking space is often difficult, creating even more traffic chaos, as well as greater fuel consumption and, thus, higher greenhouse gas emissions. The routing techniques that comprise VRP study the search for routes for a vehicle wanting to move from an origin point to a destination point. They can comprise different selection criteria for identifying and selecting the optimal path [1][2][3].
Smart parking systems (SPS) use a variety of technologies and advanced research. These systems are implemented in many environments and have a variety of features, which solve the problems faced by vehicle drivers in their day-to-day search for parking spaces. SPS takes advantage of a variety of complementary technologies such as sensors and routing algorithms [4]. SPS and VRP are closely associated because the search for a parking spot involves establishing a route, which must be optimum according to the context in which the system is operating. Functions to determine costs in the path may be complex and may involve various pieces of information which can change dynamically, for example, the driver's preferences of which streets to take, several destination points, the places for parking that are occupied while driving, the time required to get to that place, information about where the traffic lights are, information about roads that are congested or blocked, and so on. In addition, the destination can vary if the parking spot the driver is supposed to head for becomes busy while they are on their way to it which, in turn, implies that the destination point will change. All these data mean constant re-planning and updating the route from the current location of the vehicle to the desired destination is required. The algorithms can provide results that may not prove to be entirely ideal or executing them can be costly in terms of the time required for the procedure. Thus, the routing algorithm not only has to be quick enough to find the optimal path to a vacant parking place according to the needs of the driver, but also has to be adaptable to the changing environment.
The current state of the art of SPS, presented in Reference [4], reviewed SPS, providing a brief description of this type of technology and classifying the systems into five main categories: parking guidance and information system, transit based information system, smart payment system, e-parking, and automated parking. The study also looks at the techniques for detecting whether a parking space is occupied or not, and how this is related to the systems previously classified. A similar article is a survey [5] that focused on exploring the concept of SPS and their categories. The survey classified the various existing parking systems and their corresponding technologies and categorized them into a summary form. Consequently, the following classification was proposed: centralized assisted parking search, non-assisted parking search, opportunistically assisted parking search, parking guidance and information system, transit based information system, smart payment system, automated parking, e-parking, car park occupancy information system, parking reservation system, intelligent transport system, intelligent parking assist system, and agent-based guiding system. Polycarpou and other authors [6] presented the results of a survey concerning drivers' parking infrastructure needs from the perspective of intelligent services. They concluded that SPS is currently becoming an important need in urban areas. In addition, they addressed the latest trends in monitoring the availability of parking in parking reservation and dynamic pricing schemes.
Another review [7] focused on describing vehicle monitoring and vehicle detection technique (VDT) using sensors and other technologies in conjunction with sending this information to drivers via Short Message Service (SMS) or user interfaces. Kotb, Shen, and Huang [8] presented a review that described two types of SPS: parking guidance and information systems and parking reservation systems; they also developed the description of the VDT for these SPS. Other related work [9] presented a limited survey on SPS that focused the work on the concept of this area of research and developed a comparison between already published work that implemented solutions for these systems, along with a brief description of the technologies and services used by each of them. The limitations we encountered were due to the small number of papers analyzed between 2013 and 2015, as this did not allow us to draw conclusions from a broad spectrum of literature. Finally, in Reference [10], the authors introduced a smart parking ecosystem overview and proposed the following classification by functionality and problem focuses: information collection, system deployment, and service dissemination. In addition, the authors presented a classification of research projects, patents, commercial solutions, and municipal deployments.
All these studies presented different and interesting results with respect to the solutions for SPS, as well as VDT. However, they lacked an analysis of how these systems relate to the described techniques, in addition to not having an exhaustive study of the types of algorithms that are implemented in these systems, which would allow for their characteristics to be grouped and classified. Finally, we did not find a classification that allowed us to determine the stages of development the studies analyzed are at. We wanted to do this to establish which SPS are implemented, simulated, or just proposed. This paper uses a survey to determine what types of SPS are reported, to classify them, describe the VDT, algorithms, and methodologies used by them, as well as the relationship between these classifications, and finally indicate their stage of development. Furthermore, we analyze the status of this research area and obtain more information on the most commonly used methods and systems; then, based on the results attained, we determine what challenges SPS are currently facing. The work is organized as follows: Section 2 defines the methodology used to search for the primary papers in this work, while Section 3 presents the types of SPS classified from the 274 studies selected. Section 4 explains the VDT implemented in the SPS detailed in Section 3, while Section 5 details the algorithms and methods obtained. Section 6 shows the stages of development of all the work studied, while Section 7 discusses the analysis carried out during the research and explains the gaps and open issues identified by our review. Finally, Section 8 draws some conclusions.
For the reader's convenience, Table 1 presents the acronyms used throughout the paper and their meaning.

Methodology Used to Search for and Select the Primary Studies
This work uses the systematic literature review (SLR) methodology proposed by Kitchenham and Charters [11]. This is a rigorous and well-defined method that allows us to obtain a structured, well-organized report with a clear definition of how the process is carried out. The aim is to specify research questions and search through relevant studies considered to be primary papers. In order to identify the status in the research area, as well as to appraise contributions and gaps for drawing partial conclusions for each research question and to build the general conclusion of the report, the search is divided into three phases: planning the review, performing the review, and reporting results. Each phase is explained in the sub-sections below.
2.1. Planning the Review 2.1.1. Identifying the Need for the Review All of the aforementioned related articles lack the valuable information that can be obtained from a systemic process of searching for and evaluating primary articles on the topic in question. This information would make it possible to establish statistical and critical data that can then be used for other research work, as well as to draw a well-founded conclusion of what the current state of the problem being addressed is. Furthermore, the papers reviewed do not address the classification of the algorithms used by all the papers and that form part of their research, as well as their distribution among the different types of SPS. They also do not attempt to show in their results the development state of each work-information that may be highly valuable and necessary to establish an area of development within the problem or be of interest for the work of other researchers in this field.

Specifying the Research Questions
The objective of this paper is divided into four research questions (RQs) which are listed in Table 2 along with a description of what information is to be expected when each question is addressed. The answers to these RQs can readily be linked to the objective and are as follows: identify the types of SPS (RQ1) and the types of VDT available in SPS (RQ2), identify the use of algorithms or other methods in these applications (RQ3), and analyze the current development stage of these systems (RQ4).

Definition of the Search Method
In this work, the automatic and snowballing search methods were applied sequentially. To start, an automatic search for primary sources found in online databases was initially carried out. To find relevant studies for the review, four databases were used in an attempt to cover the majority of journals and conference papers published in the fields of computer science and ITS. Thus, the following research databases were selected: Scopus, Institute of Electrical and Electronics Engineers (IEEE), the Association for Computing Machinery (ACM) Digital Library, and TRID (Transport Research International Documentation), an important bibliographic resource specialized on transportation research information. After obtaining a series of primary sources, these were then processed using the snowballing search technique following the guidelines proposed by Wohlin [12].

Performing the Review
This section describes the selection criteria for the primary papers, the search process, and study selection. It also includes a data extraction synthesis and an explanation of the validity controls applied once the set of papers was obtained.

Definition of Inclusion and Exclusion Criteria
The papers that met at least one of the following criteria were selected: (i) papers detailing or proposing the development of an SPS, or (ii) papers focused on the algorithms used in VRP.
Some additional exclusion criteria were also applied. For instance, a paper that was an extended version of a previous paper was excluded, as were papers not written in English, those that did not mention implementing an SPS, or those that were published prior to 2012.

Process of Search and Study Selection
In accordance with the RQs posed in the previous section, the following search terms were determined: "smart parking system", "intelligent transport system", "vehicle routing problem", "parking", "car parking", "artificial intelligence", "routing algorithm", "algorithm of planning", and "smart cities".
Some of the search strings used in the databases are shown in Table 3 with their own syntax. It is important to mention that different combinations of search terms were applied to establish an outcome that maximizes the recovery (i.e., trying to track all the literature) and accuracy of the papers found, which are relevant. Table 3. Search strings for online databases.

Data Extraction and Synthesis
Once the steps of the research method were implemented, the result was 274 articles (considered as primary studies) published between January 2012 and December 2019 that either proposed or detailed the development of an SPS or focused on the algorithms used in VRP. Table 4 depicts the steps applied in this work and the results obtained at each stage.
As mentioned above, two search methods were used: the automatic and snowballing search methods. These methods were divided into five steps, which were then applied to seek out studies and select a set of primary papers from which to extract the data for this review.

•
The first step to study selection is the automatic search. This corresponds to applying search strings to the online databases mentioned above to obtain a first set of primary studies of evidence. In this initial step, 1063 papers were obtained when all the results from all of the selected databases were totaled. Over this total, 350 works were obtained from Scopus, 340 from IEEE, 276 from ACM Digital Library, and 97 from TRID.

•
The second step is analysis of titles and duplicates papers. The previously defined inclusion/exclusion criteria, in Section 2.2.1, were applied to the set of papers obtained in the first step and took into account the title of each article. In addition, the duplicate articles obtained from the different online databases were eliminated. For this step, 611 articles were selected.

•
The third step is the meta-data analysis. Meta-data refers to the abstract and keywords in each article and determines whether these comply or not with the selection criteria. The most relevant work, for this study, after applying this step, amounted to 388 articles.

•
The fourth step is full-text analysis. In this step, the full text from the papers obtained is analyzed in order to produce a more thorough examination of their compliance with the selection criteria. One this is done, those that meet the inclusion criteria are chosen. Once this step was completed, a total of 253 papers comprised the final set of papers.

•
The fifth step is the snowballing search technique. This final step consists of applying the selection criteria to the studies found using the first search method. The snowballing search technique is used to select those papers that may have escaped the automatic search, thereby allowing us to find all possible evidence. This method consists of reading the list of references or quotations (backward snowballing) for each article from the set of papers, and analyzing the citations given for these articles (forward snowballing), to search for other sources or primary papers. Because the issue addressed in this work is a very recent one, it was not possible to accurately determine an "article seed" with which to implement the snowballing search technique. For this reason, two studies that were considered to have the greatest potential to having this technique applied to them were chosen: (1) "A new smart parking system based on optimal resource allocation and reservations" [13], and (2) "A study on smart parking guidance algorithms" [14]. As a result of this step, we were able to add a further nine articles obtained after applying the snowballing search technique. Finally, the search concluded with 274 primary papers from which to extract information for this survey.

Validity Control
In order to reduce bias and subjectivity in the article selection process, two researchers were brought in to analyze a series of articles and, under their criteria, determine which articles met and which articles did not meet the selection criteria. The researchers worked from steps two to four of the search and selection process outlined earlier. To this end, 150 articles (14% of the total obtained in step 1) were randomly selected for each reviewer, but there was also an attempt to maintain an overlap of 15 papers, with the aim of reducing bias between the reviewers. The papers accepted by each reviewer were incorporated into the primary set of papers, and no decision problems arose between the repeated papers analyzed by each reviewer. The snowballing technique is an excellent validity control to perform on the primary work set as it ensures that all articles that meet the inclusion/exclusion conditions were found and selected correctly. In our case, after this technique was applied, nine other works not originally incorporated were uncovered, thus allowing the scope of study for the review to be increased.

Reporting Results
With the objective of developing the analysis and classifications extracted from the selected primary studies, a report of the results obtained (the last step of the applied article selection methodology) is presented in Sections 3-6 of this work.

Types of SPS Reported in the Literature
Once the studies selected were analyzed, the types of SPS reported in them were identified. Based on the classification proposed by Revathi and Dhulipala [5], some important concepts in the description of each investigation were taken into account to establish the type of application to propose or describe. It was possible to divide the types of SPS reported into six categories: parking reservation systems (PRS), parking guidance and information systems (PGIS), crowdsourcing in intelligent transportation systems (CITS), centralized assisted parking search (CAPS), agent-based guiding systems (AGS), and electrical vehicle parking systems (EVPS).
Several of the papers selected did not present a specific description of SPS but focused on algorithms or solutions for them. Based on the contents of the selection, two other categories were established for the studies. They were approach to detection systems (DS) and research of algorithms for parking systems (APS).
All these categories are described in the subsections below.

Parking Reservation Systems
PRS use technology to reserve a parking space ahead of arrival, ensuring that the desired slot for the vehicle is held, and providing the system with the ability to indicate to the other drivers those places that were already reserved and are not available. PRS require data centers or servers to be set up, where all reservations and inquiry operations concerning available parking are processed and a communication system between the users and these servers is established. Users are able to reserve a parking slot and receive an answer from PRS through various communication media such as mobile phones or a web page [15,16]. In addition, these systems may be able to provide real-time monitoring of current parking availability and forecast demand estimates based on historical data [17].
The types of reservations can be different in each system. There is the normal reservation (mentioned above) and others that, for example, combine real-time bookings where a driver can book a place while driving (for instance, a few minutes ahead), with timeshare bookings, or booking at any time in the future (for example, many days ahead) [18]. Another alternative is automatic reservations, where the user does not have to make the reservation but rather is assigned a parking spot based on the location of the final destination and parking availability [19].
This type of SPS can be implemented with varying degrees of difficulty, depending on the type of parking zone where it is being applied (e.g., covered private parking, public street parking, etc.). We consider that, in covered private parking, the reservations can be implemented more easily because there exists the ability to guarantee the availability of the reserved space by requesting verification from the vehicle or the driver who made the reservation. In contrast, in public street parking, actions such as user verification (driver or vehicle) to secure the reservation are more difficult to carry out and more costly to implement [20]. In this context, the system must be complete when it implemented, i.e., all drivers must use it so that it is easier for everyone to access the availability of parking slots. Alternatively, parking on the street (in the spaces reserved for this activity) may be subject to fines. In environments where there is no reservation check, the driver can choose to reserve or not a space for their vehicle [14]. One solution to this, although costly, is to implement a parking control in the system when the driver parks their vehicle in a reserved area, for example, using this alternative through radio frequency identification (RFID) readers that validate that the user who parked in that slot is the correct one [21,22].
Another discussion within PRS is the kind of payment policies they implement. As one of the characteristics of PRS is being able to reserve parking slots, many papers incorporate the possibility of charging a fee for this. Private car parks mostly require payment, as do many parking places available on public streets in cities. In this context, PRS present different alternatives. For instance, there are options to collect an established fee to park the vehicle [23]. In addition, there are others that make this feature more flexible in order to improve the users' experience, for example, by offering a price-on-demand option. This gives users the ability to choose between the most convenient options (presumably located in more central parts of a city) or less expensive ones (usually found on the periphery) [20]. On the other hand, there are also dynamic pricing policies, and parking will be more expensive during the rush hour (more traffic and more parking places occupied) and cheaper otherwise [24]. This implies having the ability to identify when the rush hours are and set prices accordingly by taking into account parking space occupancy and historical traffic data or using real-time traffic data. More innovative versions have a reservation payment scheme that is based on an auction with the user who pays the most obtaining the parking slot (this is more convenient for private car parks) [25].

Parking Guidance and Information Systems
PGIS are systems whose main objective is to guide the user to available parking slots, thereby reducing the time expended searching for free spaces. In this sense, they become a driver's assistant and help them to park their car. For this reason, the system must know the status of each parking slot. PGIS use different types of technologies such as Global Positioning System (GPS) or physical proximity sensors, among others, which allow the driver's current position to be identified. These are described in Section 4. While this technology increases the likelihood of finding free parking slots, it, in turn, changes the driver's behavior from searching for to competing for parking [26].
As PGIS can be implemented for use in public parking, arranged in different areas of a city, usually on the streets, or in private parking that is found in other places such as buildings or fields, this allows these systems to be quite versatile in this respect.
This type of SPS can be divided into four layers. The first layer consists of a parking monitoring mechanism that detects when a vehicle arrives at or leaves a parking slot. All of these techniques are described in Section 4. The second layer is an information disseminating mechanism. This is the function provided to all users, which provides information about the availability of parking slots. Various techniques can be used such as mobile applications [27,28], web applications [29,30], and even SMS [31]. The third layer consists of a telecommunications network. Here, the communication between all system layers is established. In the development of a PGIS, it is necessary to determine the network structure that will be used for communication. Deployments can use 3G/4G [32], Wi-Fi [33,34], vehicular ad hoc network (VANET) [28], wireless sensor networks (WSN) [35], or ZigBee wireless network [36]. Finally, the fourth layer describes a control center, which processes the occupancy data from parking facilities and controls the display of availability information for system users.
The advantage to using PGIS lies in the accurate information that is provided in a timely manner so that motorists can make more informed parking decisions. It reduces unnecessary movement and leads to better use of the parking on offer. The liveliest discussion concerning PGIS is in terms of which VDT to use, the details of which are developed in Section 4, while how they are related to PGIS is established.

Crowdsourcing in Intelligent Transport Systems
CITS, as so coined by Ali K. and D. Al-Yaseen [37], is a recent type of SPS which establishes crowdsourcing as an alternative to developing ITS applications. The purpose of this type of system is to use the community of motorists with a smart mobile phone (crowd) to collaborate and feed data to the SPS in real time and almost real time. The motivation is to provide this data to the system without the need to deploy sophisticated sensors on the roads or complex and expensive communication devices inside the vehicles. This is the main difference from the rest of the SPS classified.
With this type of SPS, the data are collected mostly by a large number of users [38]. This term is used when users of various types of systems are the main engines feeding the databases, rather than using sensors to identify and manage various statistics, events, and parking availability. In CITS, these tasks, together with others, are performed by the crowd, that is to say, by the active users of the system, i.e., any driver or passenger of a vehicle can send the system information about the status of the parking slots, in different ways such as a voice recording [37], GPS [39], or both [40]. The rest of the users, according to their interests, receive this localized information. In addition, it is possible for the system to collect information from users passively, without direct user action. By using geo-positioning data obtained directly from users' smartphones or Google Maps, these data can be processed using distance and speed measurements from an origin and, thus, a vehicle can be determined as parked [37].
CITS implements client-server communication, where the active users use geo-positioning data about the state of parking slots sent to driver and client devices. These users are called "smart parkers" [41] and are those who can send information to the system by answering questions about the availability of parking slots. The other users will receive this information to employ in their decision-making process. It is also possible to use smartphone sensors, such as an accelerometer and/or gyroscope, to detect when a driver parks their vehicle in a certain position. To this purpose, all drivers must have the application installed and activated when driving to a parking place. The information captured is transmitted dynamically [42]. The success of such systems depends largely on the density of users using their mobile devices with the application.
CITS architecture is composed of three parts: interface, information processing, and localized device messaging. Interface refers to the application that is used by drivers in which the status of car parks and spaces sent by the crowd is displayed. Information processing refers to the system-processing server where tasks such as information retrieval and storage, logging and authentication, and localized messaging to users' mobile devices are executed. In addition, additional services can also be developed, e.g., archiving and forecasting of traffic, verification of information, statistics, etc. Localized device messaging refers to the strategy established for sending notifications to system users. The push mechanism is one such example and is energy-efficient with less-overloaded mobile phone communications.

Centralized Assisted Parking Search
Here, a central processor or server is entirely in charge of processing the information. It collects the information from sensors that are located in the parking places and, after processing these data, can send this information directly to the users or display information that can serve the drivers [43]. This concept is not very different from, for example, PGIS. However, these types of SPS have quite marked conceptual differences. CAPS bases its operation on a single central processing unit or server, while a PGIS can offer a decentralized structure applied to VANETs or other networks. In addition, CAPS indicates the number of parking slots available and does not offer the possibility of indicating to drivers the route or a guide to the selected parking slot. These two main differences mark CAPS as an SPS that aims to be used more in small car parks with a controlled area [44], and they greatly limit the scalability of the system in case the infrastructure changes or grows. This type of controlled parking where this kind of SPS is generally applied may contain physical visual indicators, like LED screens, so that drivers can identify the parking slots available and go directly to them.
Complete information processing and decision-making tasks depend on a single server. Parking position sensors are only responsible for transmitting the availability of parking slots to servers. The server's real-time two-way communication with vehicles and parking sensors requires a heavier network infrastructure, both wired and wireless. In a first-come-first-served (FCFS) form, the server queues requests and satisfies them, delegating to a vehicle the parking slot that is closest to its destination [43].
Another important difference in a CAPS and distributed PGIS has to do with their installation, operation, and maintenance costs. A fixed centralized infrastructure requires a large investment [45], as well as a design that forecasts system maintenance [46]. In addition to other difficulties related to the scalability of the system, as mentioned above, there are further ones such as the number of parking slots monitored and the burden of resizing the detection network. Vehicle nodes that can be established in distributed detection systems, such as VANETs [47], are fully cooperative, whereas, in the CAPS approach, cooperation is partial or non-existent. This can lead to selfish and/or malicious behavior by drivers that can significantly undermine the system's performance. Therefore, detecting and penalizing inappropriate behavior is a challenge.

Agent-Based Guidance Systems
In AGS, the agent concept is used. An agent can be any software module capable of perceiving facts or actions through sensors and performing an action in a medium by sending or exchanging information [48]. Agents have characteristics such as autonomy, reactivity, and adaptability. These capabilities are highly necessary to establish automation mechanisms, as in the case of guiding users to a parking place, allowing a highly dynamic and interactive behavior in the system to be established.
Some AGS solutions propose a collaborative process between agents based on mutual knowledge. Each agent receives information and participates in its updating and regeneration [49]. This process avoids centralization which, as we saw earlier, is costly and makes scalability difficult. Other applications deploy a pool of multi-search agents used in the intelligent parking field, with the contribution of processing a route considering multiple routes and scenarios, on which agents make different decisions in the search for an optimal route to the destination [50,51].
This type of SPS is the least used in the studies found. The main reason for this is that they are highly complex algorithmic implementations, which implies a higher cost of development time for the systems against other solutions which are easier to implement. However, an AGS offers solutions that allow decentralizing the processing and adding artificial intelligence in a more natural way to the system.

Electrical Vehicle Parking Systems
Currently available on the market, electric vehicles (EVs) are becoming increasingly popular, and widespread use is expected in the future [52]. This growth is due to two reasons: the entry into the market of vehicles, both 100% electric and hybrid, and the efforts of some countries to put more low-pollution transport on the streets [53]. In this context, EVPS offer a solution for electric vehicle drivers in terms of parking management and planning. The operation of EVPS is mainly based on one of the major challenges of this type of transport, i.e., the management of the charging needs in the parking spaces [54].
EVPS are composed of algorithms that allow establishing an optimal route to parking places with charge stations. These routes can be determined by the user's preferences, the vehicle's charge level, the power available from the electricity grid to supply the demand of the circulating EVs, or the price of the electricity charge according to the vehicle's location [55].
The charging stations that feed the EVs can communicate with the EVPS, to specify which parking lots are available or which will be free. In this way, real-time information can be obtained on the status of the parking spaces, in order to calculate the route of a vehicle [55].
Generally, EVPS offer drivers a route to the parking lot via a web or mobile app. In addition, they can include information about the status of charge of the vehicle and the expiration of the parking time, which is usually not unlimited.
The latter refers to the fact that EVPS seek to ensure that charging is carried out efficiently, avoiding overloading the power grid, and limiting the number of parking spaces available, thus maximizing the state of charge of the vehicles and meeting the needs of drivers, but also optimizing the consumption and availability of the power grid [52].
The cost of implementing this type of SPS is high due to the requirement to implement EV charging plants and their connection to the power grid. Some cities implement the payment of a fee for the charging of vehicles in the parking lots, in order to solve the expense of infrastructure and the provision of electricity. Some EVPS systems are developed to optimize the energy expense according to the cost of this service [56].

Other Categories
• DS: This category of studies focuses only on information concerning VDT and parking slots that can used in an SPS, for example, measuring the impact that web services have on WSN when they are used for estimating the free size of parking places in smart cities [57], proposing smart parking slot occupation monitoring solutions based on the new tendency of sensors [58], or using image and video technologies to identify vehicles in a parking slot [59]. • APS: This category focuses on the research on algorithms for SPS in terms of routing vehicles, information on the current state of parking, or solving potential problems. For example, a study for parking sensor networks focused particularly on delay constraints and energy efficiency issues from a network traffic viewpoint [60], where two types of traffic models performed with different rate parameters. Another task, for example, was an analysis and proposal of an algorithm to select the best route for a vehicle based on uncertain influencing factors. Routes were selected by taking into account the uncertainty of the road conditions information, the factors influencing it, and their uncertainty. In addition, the algorithm proposed using decision rules based on the user's attitude or preference [61].

Data Synthesis for Types of SPS Reported in the Literature
In Table 5 Table 6 complements the information in Table 5 and shows the principal advantages and disadvantages of the types of SPS described in this section. There are some salient features that identify each of them. Items classified as DS and APS are not shown in these tables because they do not (as mentioned earlier) describe a particular SPS and, thus, the advantages or disadvantages of the SPS in them cannot be established. The summary and references of these unclassified works can be seen in Table 7. Table 8 presents the relationship between the type of SPS and the year of publication; here, it is possible to see how, in the past three years, the number of publications increased considerably. This may establish a trend in the approach to this type of problem for organizing and modernizing vehicle parking.

PRS 49
This is based on a parking slot reservation scheme. Payment policies can be included. It is aimed at private parking slots, where most of these applications guarantee the reserved space for users. [14][15][16][18][19][20][21][22][23][24][25] PGIS 47 This guides users to an available parking slot. They have knowledge of the status of each parking slot. Users observe parking availability information on their mobile devices. Drivers are able to make informed parking decisions, reducing unnecessary trips to find parking. [26][27][28][29][30][31][32][33][34][35][36] CITS 25 The purpose is to use the community with a smart phone (crowd) to collaborate to feed data in real time and almost real time. The motivation is to provide these data to the system without the need to deploy sophisticated sensors on the roads or complex and expensive communication devices inside the vehicles.
[44-46,  AGS 6 Agents can be any software module capable of perceiving facts or actions through sensors and performing an action in a medium by sending or exchanging information. These capabilities are highly necessary to establish automation mechanisms, as in the case of guiding users to a parking place, thus allowing a highly dynamic and interactive behavior to be established in the system.
[49-51, [191][192][193] EVPS 15 This type of SPS focuses on planning to find routes to a parking lot to solve the need for EV charging. Many of these systems seek to optimize the consumption of electrical energy and the availability of charging stations for the circulating EVs.

PRS
Previous reservations are used. A free parking spot is guaranteed for the driver. Most implement the payment system directly in the applications. Implementation is simple compared to other systems.
Establishes static routes to destinations. Most do not allow a merger of free and reserve parking.

PGIS
The route that leads users to the parking slot is set. Can process information in real time. Can implemented in diverse contexts, whether public, private, or semi-private parking slots. Can be supported by a decentralized infrastructure.
Can lead to competition among drivers for a parking slot. Are more complicated to develop and implement.

CITS
Can be implemented without the need for a large underlying infrastructure. Can process information in real time.
Its operation depends on the users.
There is a risk of not providing accurate information.

CAPS
Can process information in real time. Can implement first-come-first-served assignments by avoiding competition for parking slot.
Processing depends on a single server. Are more efficient in closed car parks (off-road).

AGS
The route that leads users to the parking slot is set. Can process information in real time. Can be implemented in diverse contexts, whether public, private, or semi-private parking slots. Can be supported by a decentralized infrastructure. Can use artificial intelligence to process the information.
Implementation is very complex.
Higher cost in time and algorithm development.

EVPS
There is not that much competition for a parking space.
The system can communicate with the charge station to obtain and provide information in real time. The algorithms weigh the optimization of resources. This type of system contributes to the reduction of polluting gas emissions from vehicles.
Its implementation is costly. Less availability of parking lots with charging stations. Table 7. Number of publications for unclassified work, along with a summary and references.

DS 54
Studies focused on information concerning VDT and parking places that can used in an SPS.
[ [57][58][59] APS 39 Papers focused on the research concerning algorithms for SPS in terms of routing vehicles, information on the current state of parking, and solving potential problems. [60,61,255-291]

Vehicle Detection Techniques (VDT) Implemented in SPS
It was possible to establish the most commonly employed techniques for detecting available parking slots in public or private areas that allow SPS to be fed with the necessary information to guide drivers to such spaces.
Some of the documents selected did not present a specific description of a VDT for an SPS. These studies assumed that data on the availability of parking slots will be obtained by any means, or they described algorithms implemented regardless of how the information was obtained from each parking slot. These items were added to the without detection (WD) category.

In-Roadway Sensors
IRS detection technology is based on monitoring car parks using sensors located in these spaces, which allow vehicle arrival and departure to be detected from the corresponding place [292]. The IRS is usually located on the pavement or road surface. Most have an ultrasonic [263] or magnetic [109] detection type that reacts when the vehicle is parked in the parking slot.
There are also wireless optical communication systems that use the modulation of visible light waves they receive to sense information; this technology is called visible light communication (VLC) [156]. In the event that a vehicle is parked in a parking slot, a VLC module will no longer receive light and will indicate a change of state. Therefore, through the light modulations, one can send data and, thus, get real-time parking information.
IRS is not widely implemented and does not have a greater tendency to be used by any SPS in particular. Each of these IRS sensors has its own limitations that must be taken into account when establishing an SPS. Because they all require being slotted into the bitumen, this makes them expensive in terms of installation and maintenance. They are also sensitive to temperature and weather conditions [4]. Ultrasonic sensors suffer from surrounding noise, and magnetic sensors are affected by air temperature and pressure. These inconveniences lead to the need for frequent maintenance of the systems using these sensors. In addition, they need power from either cables or batteries, which implies an additional cost in their use.

Over-Roadway Sensors
These sensors are placed above the road surface, i.e., unlike IRS, they work on vehicles and not below them. One of the most common technologies for identifying vehicles and parking slots in this category is closed circuit television (CCTV) [163,205], which allows the occupation of a parking slot to be determined through captured images. Some of these implementations use algorithms of deep learning for image recognition to determine even the number plates of the vehicles; thus, the efficiency of the system is increased considerably [230].
On the other hand, other types of ORS are infrared sensors. This technology is based on the combination of an emitter and a receiver, which are devices placed close together and usually form part of the same integrated circuit. By identifying an interference between the signals emitted, they detect an object in the environment [45]. Implementing this technology can be less expensive than that of other types of sensors. Many proposals and implementations with these circuits make use of Arduino modules, which are cheaper and easier to program [174,175,178].
RFID readers are other widely used sensors [101,126,228]. This technology requires a reading device which is usually installed in each parking slot or at the entrance to them. The reading device emits a series of radio frequency waves to a chip that possesses information that will be sensed. These chips or RFID tags must be installed in each vehicle for the system to work [4], which is a disadvantage in this type of implementation, since, without this, the system cannot obtain information on the state of the parking slots. The chip picks up the waves emitted by the reader and transmits to it the data it stores. The advantage is that these chips are usually very precise in their detection function [163].
The potential offered by the combined use of these different technologies and sensor standards offers high performance. The joint use of technologies such as RFID, WSN, and near-field communication (NFC) makes it possible to collect (in real time) the environmental parameters and information on the occupancy status of parking slots in a common space through a hybrid detection network made up of these technologies. This type of integration is used and analyzed in implementation environments for the Internet of things (IOT) [32,227].
Another new technology implemented in VDT, which can be classified as ORS, is the Bluetooth low-energy (BLE) beacon. These evolved discreetly but steadily since their first use in 2013, with the first version of Apple's iBeacon©. The devices are based on micro-localization and are generally used in closed environments (due to their short range). In SPS, they are used to identify vehicles inside a closed car park, in order to guide them to a parking space based on their location. As these are short-range devices, a certain quantity must be available to cover the entire parking area to be able to detect vehicles from any point [79]. Identifying a vehicle can be done more precisely by using this Bluetooth technology through a driver's cell phone. Because the sensing is done on mobile devices and not on the vehicle itself, these devices can then also be classified within the VDT crowdsensing group (see Section 4.4).

Roadside Units
Another type of VDT which implements vehicle-to-roadside (V2R) and vehicle-to-vehicle (V2V) communications are RSUs [158]. V2R communications allow vehicles to connect through their on-board units (OBUs) to RSUs belonging to one or more service providers and to download (or upload) various types of data related to SPS or other applications [83]. These data refer to the vehicle's position and, by triangulating this position information, it is possible to determine the availability of parking slots and communicate this information to the vehicle. This is possible because the location of each parking space is stored and compared to the location of each vehicle thanks to the information obtained by the system [285].
This type of infrastructure is costly to implement and should usually be implemented through a service provider. These implementations occur in oversized car parks, thus allowing more precise control of vehicle positions and parking slot locations. In addition, each vehicle must have an OBU to operate the system, which is another disadvantage [270,286].

Crowdsensing
This detection technique collects data provided by citizens. This paradigm was proposed as a type of SPS in Section 3.3, where CITS and its architecture were described as a system based on the crowd (set of system users).
However, in this section, CS is considered a detection technique that allows the availability of parking slots to be determined. This distinction is made because this type of detection technology does not always fall within an SPS of the CITS type. For example, in Reference [125], the users (drivers) fed the system with information concerning the availability of parking spaces through images recorded from cameras installed in their vehicles. Then, the system processed this information to determine the spaces available and published the information in an application that guides users to these places; thus, it can be considered a PGIS (see Section 3.2).
Therefore, CS detection offers advanced services through the intelligent analysis of data, which allows useful information to be extracted. Detecting vehicular activity, the urban environment, adequate road and environmental conditions, and tourist services are examples of these urban services that can be improved through the collaboration of the population [38]. This collaboration can be consolidated through a smartphone-based detection system, which allows users to accurately track the time and location of their vehicle's parking events and real-time parking events, without the need for user intervention, regardless of the location and orientation of the telephone [143].
In addition, the detection system can be explicit, where the user indicates when a parking slot is available or vacant, or a third party (not necessarily a driver) can detect this information and upload it to the system [40]. This type of system depends entirely on users, often called crowdsources. If there is not a sufficient population of users, the parking slot detection data will be scarce. To mitigate this risk, some implementations offer users some rewards for using the system, such as store discounts or municipal tax breaks [136].
As mentioned in Section 4.2, beacons can be used in this type of VDT as well. This is because these devices communicate via drivers' cell phones and, hence, communicating and making sense of the data is based on user collaboration [151].
The main advantage of this VDT is the cost of the infrastructure as, when compared to the other VDTs described so far, it is much cheaper to deploy, unlike RFID systems (ORS) that are very expensive to implement. This is because an RFID reader system must be installed in each parking space and a chip must be installed in each vehicle or in the architecture with RSU where a long-term investment is required to assemble the whole system. Crowd detection works with user smartphones, which means a lower implementation cost, but at the cost of a less accurate detection function.

Prediction Models
This type of detection is based on algorithms that estimate or predict the occupancy of parking places. These predictions can be generalized for a group of parking slots or for each space in a particular way. PMs offer the option of detecting vehicles and processing this information without physical validation, that is, without the use of physical sensors, cameras, smartphones, etc.
One of the most widely used techniques for prediction is artificial intelligence using neural networks. These implementations are based on forming neural networks with the historical data collected on the availability of parking places in order to make a prediction.
The real-time occupation prediction scheme based on recurrent artificial neural networks applies simple but flexible memory mechanisms to replicate the temporal dynamics of parking occupancy [216].
Some implementations, such as convolutional neural networks (CNN) [251] for detecting vehicles in open car parks, were recently proven to be effective models, especially in analyzing image and video content from security cameras in closed circuit TV (CCTV) or similar [212]. The keys to these applications are techniques for scaling networks to tens of millions of parameters and massively labeled datasets used in the learning process. For the recognition of actions, CNN could be considered as a large-scale video classifier of the information of interest. In this case, it is about the availability of a parking slot [293].
Other PMs use algorithms that predict the availability of parking facilities in real time using current (online) and combined historical information [294]. In this case, we can establish a hybrid model that uses other means of detection to obtain the current information, but whose processing determines a prediction regarding occupation and not the strict use of this information online.
Some implementations used decision trees and classifiers such as the naïve Bayes model to predict the level of parking occupancy for a block in the next hour [280]. Another model with an extremely low error level implemented regression trees according to the simulations [271] to predict parking occupancy in a specific area. In both cases, as mentioned above, the parking availability was predicted in a group manner.
All of these types of solutions for predicting the availability of the parking places have a strong theoretical background on the operation and fidelity of each prediction model. Unlike the other VDTs that need an online infrastructure, they can work offline or in a hybrid way. However, a disadvantage is, although they may have high levels of approach, they do not ensure the availability of parking slots in real time.

Data from a Third Party
Detecting a parking slot is carried out by obtaining DFTP. This may be a government unit that controls public parking [30], a communications company that has its own detection system [24], or another available SPS [112]. For example, in Reference [210], the database used there contained 3791 images collected from parking places at the Federal University of Parana, in Curitiba, Brazil, to predict available parking.
Another case, for example, is where two sets of parking occupancy data were used to feed an algorithm based on a model of estimated time variance. One set of data came from the public parking data near the Carnegie Mellon University campus and the other from the SPS deployed in San Francisco, United States of America (USA) (SFPark) [295]. For the estimates model, use is made of the payment schemes obtained from the previous datasets. To achieve an accurate estimate and avoid the infrastructure overload that the installation of a sensor network entails, these transaction-based estimates consider the implicit uncertainty regarding vehicles that pay less than they should and are exempt from overpaying [288].
Although this technique is not widely applied, it has certain advantages since there is no need to implement a detection system. Therefore, it can be less expensive. The data already exist; thus, it is only necessary to obtain some kind of license or agreement with the holder of the information to be able to access it. In this way, information on the availability of parking slots can be obtained either to predict occupancy.

Without Detection
Finally, investigations that did not establish any detection technique were classified as WD. For example, Reference [67] designed a system which enabled the composition of different mobility services to, for instance, route and additionally reserve a free parking slot close to a driver's destination. Alternatively, Reference [110] investigated the impact of an SPS on parking slot management under different parking policies and traffic patterns. Generally, these were proposals of SPS that supposed an average number of spaces available or that did not consider this information. Table 9 shows a summary of VDT described here, the number of primary studies for each of these types, and the references. As can be seen, the ORS was the detection technique most applied to SPS. Ultrasonic sensors, magnetic sensors, RFID readers, video images, and others ORS were found in 142 papers out of the 274 selected. Table 10 shows the principal advantages and disadvantages of the types of VDT described in this section along with some salient features that identify each of them. Items classified as WD are not displayed in this table because they do not describe a particular VDT. Table 11 presents the relationship between the type of SPS, defined in Section 3, and the types of VDT obtained in this section. It is possible to observe that ORS was most widely applied in PRS, PGIS, and CAPS systems, as well as in the work that only described DS. Naturally, the CS detection technique was most commonly implemented on CITS. The few articles in which it was implemented in AGS principally described WD techniques. Articles that described APS were presented in the same context as the AGS, because they were studies that presented descriptions of algorithms and other characteristics. Detects parking slot availability by obtaining data from a third party, e.g., a government unit that controls public parking, a communications company that has its own detection system, or another intelligent parking system available. [24,30,74,112,114,124,183,210,272,288,289] WD 50

Data Synthesis of Vehicle Detection Techniques (VDT) Implemented in SPS
Describes proposals of SPS that assume data on the availability of parking slots will be obtained by any means. In certain cases, an average number of spaces is assumed available, or the information of availability is not considered and centers only on the algorithm or method implemented. [

VDT Advantages Disadvantages
IRS Very accurate measurements of information. Can send information in real time.
Need to be installed on the road, so they are difficult and expensive to install. Are sensitive to ambient pressure and temperature. Require more frequent maintenance than other VDTs.

ORS
Very accurate measurements of information. Can send information in real time.
Require frequent maintenance as they are exposed. There are better suited to closed or controlled environments than to public roads. Some, such as RFID, require devices in vehicles for vehicle identification.
RSU Very accurate measurements of information. Can send information in real time.
Expensive and installation cost are high. Needs devices in vehicles (OBU) for communication with RSU. Due to their complex infrastructure, they are better suited to closed and small car parks.

CS
No installation or maintenance costs. Can send information in real time. A large number of parking slots can be sensed if the set of users is large.
Sensed information depends entirely on user cooperation. Measurements of the information may not be accurate.

PM No installation or maintenance costs.
An initial volume of information for the training of models is required. Its operation is based on a prediction. Such information may not be accurate. Cannot send information in real time.

DFTP
No installation or maintenance costs.

Algorithms or Methods Implemented in SPS
The analysis of the set of primary documents made it possible to identify the most common algorithms and methods implemented in SPS. These were grouped by type of algorithm, i.e., static, dynamic, and real-time algorithms. In addition, other types of algorithms were explored, many of which were implemented in a single work.
A number of studies did not present the description of a particular algorithm or method, but rather described VDT or characterized some SPS without going into detail as to which method or algorithms it used; these were detected and classified as no data (ND).

Static Algorithms
Static algorithms can be applied to route modeling where costs and restrictions do not vary over time [296]. These algorithms can establish the route from the vehicle to the parking slot, but do not modify the information about availability of the particular parking slot.
This means that, once the shortest path is calculated, any change in the route or context requires a complete recalculation of the shortest path. Declared static routing algorithms are commonly used in modern vehicular navigation systems to quickly calculate routes between two points [297].
A case of a static algorithm is the Dijkstra optimization algorithm, which is also used in other types of systems [162]. Other implementations complement a static algorithm, an ORS detection technique, and CAPS. They indicate to drivers the availability of a parking slot, but do not modify these visual notifications once the vehicle enters the car park [159].
According to the research carried out, most of the work implemented this type of algorithm in PRS systems. This type of SPS includes a reservation module as the system's main assistance to minimize the time spent searching for parking slots. Through the reservation, car owners have a guaranteed parking space, which is why the route established to the space is static, since it ensures, in theory, its availability [15].
Within this classification, genetic algorithms can be listed. These algorithms are efficient developments to find solutions to complex problems. They propose an optimization method based on populations, using the general principles of natural selection. In SPS, they are used to find the nearest free parking space, through operators such as crossover, mutation, and selection [73].
This type of algorithm is executed as a search tool, using as parameters the preferences of the drivers. As these searches are complex and can involve many variables, they are executed in a previous stage to establish the route to the parking lot and generally do not have an update of the variables during its execution [256]; thus, they are grouped within the static algorithms.
The selection process of these algorithms in that an SPS establishes parking populations represented by chromosomes. Each chromosome is made up of genes, and these are used as variables that describe characteristics of the problem for each car park. Such as the distance of the trip from the current position of the vehicle, the total time to reach the destination, and cost of the parking, among others. The set of these chromosomes is crossed (using the crossover operator) to obtain a new population of parking lots. Those that fit the objective function of the algorithm are selected and the rest are omitted. This procedure is repeated until the car park that best suits the user's preferences is reached [134].
Other types of algorithms are artificial neural networks (ANN), which are machine learning algorithms that mimic the behavior of biological neural networks.
In SPS, the use of neural networks was introduced to predict time series of parking occupancy in different regions of a city or to predict the probability of a parking space becoming free in the following time intervals. They are very robust and accurate algorithms with a high hit rate.
As they are prediction tools, they are grouped within the static algorithms, since their execution is established in the phases prior to the execution of the route to a given car park.

Dynamic Algorithms
In these types of algorithms, the fact that information can vary is prioritized, so that several searches are generally performed, allowing the information to be updated at certain intervals [3]. In general, they do not establish a re-planning of the trajectory toward a parking slot, but they do offer a better performance than the static algorithms [101,141]. Those algorithms are able to react to ever-changing conditions in the context in which they operate.
They are the mostly used in SPS because they are less complex to implement. This type of algorithm is most often found in PGIS systems, where, once a user enters areas with the smartphone's application active, the server determines the closest available parking place according to the user's preference and sends them the location [117]. Alternatively, the vacant parking slot detection circuit can detect if a parking space is available or not and transmits the data wirelessly to the parking management circuit. The system shows the closest available parking slot in accordance with the user's preference list in the database. It can also send the information via SMS [31].
Multi-agent algorithms can be listed in this category. These algorithms are software programs (agents) that are continuously active. These algorithms can execute autonomous actions (either pro-active or reactive) and generally base their operation on user preferences. These agents that compose the algorithm can communicate with other agents to negotiate on a set of variables and make a decision for the problem in the background [255].
In the context of SPS, finding a route to a car park through a single-agent environment is effective, but not efficient, in terms of optimization and competition for the car park. However, this considered search can be extended to multiple agents working and negotiating together to find the most beneficial routes for all users allows for route optimization, but its implementation complexity is high. This problem is an ongoing research topic [50].

Real-Time Algorithms
In these cases, it is necessary to re-plan the route while driving as new information is received [298]. This information that is being received is generally from the particular method of detection for available parking slots that are being used. The system is fed with updated information on the status of each parking in real time and can also incorporate information about traffic, the state of the routes, accidents, detours, etc. Their implementation complexity is greater, and they need more processing power. However, this type of algorithm is probably the best solution to implement in an SPS, since it will keep drivers constantly informed, thus increasing the efficiency of such systems.
The detection process in an SPS can be coupled with a pre-analysis algorithm that allows the construction of a topology to be implemented in a distributed way that allows the driver to be informed about the available parking places in real time. The routing algorithm for the end-user is implemented as an incremental algorithm, i.e., it starts from a general point or position at the beginning and, as it increases, advances with more precise available parking positions as the driver approaches their final destination [34].
The main difference with dynamic algorithms is the availability of information. The information in the dynamic algorithms depends on the refresh rate in the set of data available for processing. This presents a limitation in case the route changes, and the information is not updated. Many of these applications show availability at a certain time and, although this is updated with some frequency, users can take the indicated route without being aware of the changes in the availability of the space [46]. In real-time algorithms, however, drivers are assured of up-to-date information, thus further enhancing their decision-making [209].
While the complexity of implementation is greater, this feature makes them more suitable for modern systems whose real objective is to reduce the amount of time drivers spend looking for a parking slot.
Other types of real-time algorithm are convolutional neural networks (CNN). These are a type of deep learning algorithm, which extends from ANNs. The main difference between these two methods is the use of convolutional layers in CNNs. CNNs were shown to be an effective model, especially in the analysis of image and video content [170].
CNNs are composed of several layers of neural networks, and their training can be used to extract features automatically.
In the context of SPS, CNN algorithms are used to detect and locate vehicles in parking lots. The algorithm is suitable for its performance and real-time responses, benefiting the management of parking spaces and information on their availability [212].
In addition, CNN algorithms are used in private and closed parking lots to detect the license plates in real time and recognize the user who wants to park their car [133].

Data Synthesis of Algorithms or Methods Implemented in SPS
The types of algorithms described above, as well as the other algorithms and methods found, are summarized in Table 12. As you can see, dynamic algorithms represent the majority (i.e., in 86 of the 274 articles). In Table 13, we can see the relationship between the types of SPS and the algorithm or method implemented in each case for the 274 articles selected.

Stage of Development
Three states of implementation were determined for all the work analyzed. These are as follows: • Proposal: Work consisting of a proposal for an SPS, detection technique, algorithm, or method. • Simulated: Work that carried out laboratory simulations with the SPS proposals described in the articles, obtaining results for their evaluation. • Implemented: Work that implemented the systems described in vehicles and in public or private parking slots, and that obtained real results for this application.
From the total of number articles selected, 50% (130 papers) simulated their applications, and only 2% (6 papers) really implemented them. Meanwhile, 48% (126 papers) of the publications were just a proposal for the SPS problem. In this context, we went into greater detail in the work that was implemented in reality.
We analyzed the size of the parking slots where the systems were implemented, the types of VDT used, and the main strengths and weaknesses detected in each implementation.
The first implementation corresponds to Reference [26]. In this paper, the proposed SPS was implemented in a garage containing 27 parking slots at Boston University. Each slot had sensors, but the document did not detail what the characteristics of each one were. In addition to these sensors, cameras and image processing algorithms were used to determine the status of each parking slot (empty or occupied); the joint data from the sensors and cameras were combined to increase the reliability of the estimates of parking slots. Real-time parking information was published and updated on the website and could be obtained by users. Note that the implementation was carried out in a closed parking lot, and that the occupied/unoccupied parking slots were also indicated by LED displays. The results showed that the approach improved the use of parking resources and reduced both user cost and search time. As traffic intensity increased, the improvement offered by the proposed SPS became more significant.
The second work analyzed is Reference [204]. Here, the data on the occupation of parking slots came from DFTP, in this case, from the city of Santander, Spain. Under the Smart Santander project [299], 400 sensors were located throughout the city, providing the necessary information about the state of parking space occupancy. This infrastructure involved retrieving parking sensor data every minute.
With the data obtained from the city's sensors, an algorithm for parking occupancy prediction was proposed. For this purpose, the spaces were divided into four zones. Using a previously trained recurrent artificial neural network, the prediction of the occupation of the parking slots for the indicated zones was obtained. The user could also request the parking slot occupancy status. The data were retrieved and displayed on a digital site map or mobile phone.
The results obtained showed that the proposal was able to accurately predict the region's parking occupancy rates for up to 30 min in the future.
The third system implemented is Reference [21], in which they proposed a VDT with ORS implemented by RFID technology. An RFID reader counted the percentage of free parking slots in each car park. An RFID card that communicated with the reader identified each vehicle. The system, implemented in Taichung, Taiwan, provided a mechanism to avoid disputes over a parking slot and involved the process of reserving the parking slot to secure it for the user. However, it also maintained a parking alternative for vehicles that were not previously booked, indicating on the reservation form if there were spaces available. The proposed SPS was adapted to closed parking lots with entrance control where the RFID reader was located. The results showed that the algorithm reduced the average waiting time for users to park.
The fourth work [223] proposed the use of WSN sensors for vehicle detection. The characteristics of the proposal were based only on the implementation of a VDT. Sensors were deployed in 50 nodes in the parking areas of the city of Riyadh, Saudi Arabia. It operated for three months. The results indicated that they obtained a 98% detection rate of vehicles in the parking slots.
The fifth implementation [217] was based on a system implementing an ORS-type VDT. Its implementation consisted of computer vision logics and an IOT middleware solution. These technologies were used in the design of a network of visual sensors, which was physically deployed throughout the parking slots in Pisa, Italy for evaluation. Image analysis and frame differentiation were used to detect changes perform in a default region of interest (RoI) on the acquired frame. Each RoI corresponded to a specific parking slot. The visual assessment by means of cameras and computers that process the information allowed the status of the parking places to be obtained.
The tests carried out on the public roads resulted in 95% of the information processed about each parking slot being correct.
Finally, the last and sixth implementation is Reference [179]. VDT IRS geomagnetic sensors collected information from each parking slot and sent it to a server in the cloud. The server processed the data and fed two systems: a maintenance system, where it reported on the status of the sensors, and another for the users of the vehicles. A mobile application informed the drivers about the status of the parking slots in the city by obtaining data on where there were free places. However, it did not offer information about the route to the parking spot, nor any other indications to the user. Therefore, it can be classified as an SPS of the CAPS type. It was also integrated with a payment system so that users could pay for parking from their cell phones. The system was deployed in two cities in Zhejiang province, China. Table 14 shows the principal strengths and weaknesses of each implementation described previously. Provides information to users on availability and guides them to available locations. Information is updated in real time.
Results indicate a reduction in parking space search time.
No information is given about the sensors used. Is implemented in a semi-public and closed parking lot.
[204] SD Santander, Spain Has a web interface for users. Is implemented in public car parking spaces along the road.
Uses DFTP. Just sets up a parking prediction and does not indicate available/occupied places in real time.
[21] PRS Taichung, Taiwan Offers alternative booking or free access to the parking slot. Provides a mechanism to avoid disputes over the parking slot.
Is implement in a closed parking slot. Vehicles need an RFID reader to enter the parking lot.
[223] SD Riyadh, Saudi Arabia Results show a high level of accuracy in the sensed data.
Just implements a detection method.
Does not provide information to users.
[217] SD Pisa, Italy Results show a high level of accuracy in the sensed data. Is implemented in public car parks on the road. Information is updated in real time.
Camera and sensor installation are complex. -First version tested does not provide information to users.
[179] CAPS Zhejiang, China Provides information to users on availability of parking. Information is updated in real time. Offers the possibility of paying for parking through a third-party application.
No information provided to guide users concerning available locations.

Discussion and Open Problems
The analysis of 274 articles from the SPS literature allowed for the different classifications (presented in the previous sections) to be made. Diverse information on the types of SPS, the VDT, the algorithms that implement these systems, and the state of development of each published work were obtained.
After having proposed and described each of the above-mentioned classifications for all the articles studied, we are now in a position to establish an analysis of the challenges, gaps, and main discussions concerning smart parking solutions.

Information Gathering
Every SPS needs accurate information on the status of each parking slot to provide the information to users, establish routes that guide drivers, or predict availability or occupancy in certain time segments.
As analyzed and classified in Section 4, VDT for parking slots, which can be obtained from various sources, provide information on the availability of the parking spaces. Table 8 shows that sensors predominate as elements for sensing and obtaining the required data. There are different types of sensors such as ultrasonic, magnetic, or light that fall into the IRS category. On the other hand, video processors, image detection, infrared sensors, or RFID are also classified as ORS.
While the sensors are highly accurate in measuring the information they provide [163], to operate, they require an underlying infrastructure [4], for instance, the purchase of and installation in each parking slot, plus nodes or antennas that collect the information, and servers that receive and provide all the sensed data [101]. This implies a cost that local government or private parking lots must consider when implementing an SPS to facilitate the task of parking for their citizens or users.
Even though most of the solutions implement the sensors described, other alternatives may allow intelligent parking systems to be implemented at a lower cost. For example, the crowdsourcing systems offer the possibility of sensing the parking activity of a large number of drivers using data collected from their smartphones via an app [143]. While this reduces the costs of purchasing and deploying the sensors and part of the underlying infrastructure (a server that processes the data is required), it is at the cost of less accurate information. As mentioned in Section 5, these systems depend on users employing them and whether the information is collected actively or passively (without user intervention); if not all drivers are covered, the sensed data will not be sufficient, and the information provided to users will be incomplete. This may lead municipalities making the use of these applications mandatory or encouraging their use by offering some kind of perks or benefits.
Finally, another option proposed is to use the parking slot status information already available. These solutions were classified as DFTP in Section 5. For example, municipalities in some cities have public parking controls via parking meter operators or inspectors who control the use of parking slots and parking fee payment if necessary [32]. This existing infrastructure can be used to "sense" the availability of parking slots, in order to avoid the costly deployment of a sensor system or other technologies for vehicle detection, thus focusing the development of an SPS only on its algorithm and its features.
It would be enriching to carry out in the future a more technical analysis of all the sensors classified for the different VDTs, thus obtaining more information on the specific characteristics of each one and a greater comparison of the functionality of each proposal.

User Preferences
The main gap identified in the extensive search is the poor identification of user preferences for establishing efficient routes to available parking slots or the choice of an optimal parking slot based on those preferences.
In this context, papers were published that mentioned user preferences as part of the process of finding and selecting parking slots, but they did not detail how they were implemented [10,13,14,300,301]. Only in MADM (multiple attributes decision-making guidance algorithm) was the use, classification, and implementation of driver preferences described [274].
Due to the low suitability of this feature, we believe that intelligent parking systems have even greater potential if they implement these preferences as the main parameters. This will allow the systems to adapt the searches based on these variables, being more precise in the visualization of the information as far as drivers are concerned.
These pre-search accuracies, together with a suitable algorithm, can make establishing optimal parking slots for each driver possible, thus reducing competition for a common space. That is, there are users who may prefer to park near their workplace while others may prefer to park as quickly as possible. This feature can decongest the competition between drivers for free places, because, by indicating the optimal places according to preferences, the drivers will be guided to them.

Routing Algorithms
Analysis of routing algorithms is scarce in the literature. No work was found that proposed a study of the different algorithms used in SPS.
We identified studies that investigated and proposed a parking slot assignment game or competition for a place [302][303][304], or models that studied parking actions in different contexts [305][306][307]; however, they did not address in a global way which algorithms are present in the literature and which implementation characteristics they have.
In Section 5 of this paper, the algorithms from the 274 selected papers were classified and three main groups of algorithm types were identified (static, dynamic, and real-time), as well as other types of algorithms that were used but to a lesser extent. These three large groups were described and the relationships between the algorithms and the types of SPS classified in Section 3 were established. It is interesting to note that dynamic algorithms were the most widely implemented in the literature.
It would be enriching to propose for the future a more in-depth analysis of all the algorithms, i.e., a study that goes beyond the present survey and establishes which data are used by each of the algorithms, and how they are used, weighing the results obtained, and which would be the most appropriate to implement in different contexts.
As we identified a potential increase in SPS, we believe that, with cities becoming increasingly digitally connected, and where every digital user has real-time information in their hands, it would be highly favorable for parking systems if the underlying algorithms that are implemented address the sampling of data and indication of results in real time. This, in addition to promoting the use of these systems, will lead to a better reading of the information by users and, most importantly, would become a fundamental factor in making decisions in the hunt for a free parking space.

Rescheduling Routes
Related to the previous point about algorithms, we uncovered another gap in the research. No solution proposed, in the work analyzed (when applicable), that the routes established by the SPS can be re-planned according to events that can be triggered when executing the path of a vehicle toward the destination parking slot. This algorithmic and data processing characteristic can bring greater value to SPS.
The main reason why we consider this type of action necessary in the system algorithms is the fact that, during the real driving of a vehicle, events may occur that cause the route established a priori or in real time to not be completed. Such events could include traffic jams, detours, construction sites, accidents, damaged traffic lights, etc.
Although there were some studies that mentioned deviations as variables to take into account when calculating routes, they did not specify how these variables should be implemented or how the system would react to changes in them [308].
To implement this feature in the system, a real-time algorithm would be essential. Moreover, other types of data sensors would need to be added to provide the system with information on the status of the routes.

Inclusion of SPS in Smart Cities
The IoT is a multidisciplinary concept that allows the deployment of an infrastructure that can be developed in a large number of areas. It can be applied to data processing methods, security systems, accessibility, and even social and industry applications, enabling real-world interaction with computers that interact with the environment by processing sensory data and permitting the acquisition of skills that help improve people's quality of life [309]. One of the many uses of this infrastructure is for smart cities.
Smart cities use IoT by employing sensors, alarms, actuators, and other devices to collect and analyze data, assist in making decisions, trigger events, and even control the environment [219].
In recent years, this concept took hold, and IoT developments for smart cities multiplied in several areas of some cities. SPS can be considered one of the first successful implementations.
Cities like Santander [204] or Barcelona [310] in Spain, or San Francisco [295] in the USA managed to implement SPS, and they were able to obtain excellent results that demonstrate that this type of system can be part of (and even one of the most important applications in) a smart city ecosystem.
The future of smart cities is clearly growing, such that many cities can adopt an SPS that solves the problem of parking a vehicle for its citizens. However, these implementations have to be context-sensitive. All cities have different infrastructures, different investment budgets, and different societies. There are cities where parking slots are arranged along the same roads where cars circulate, while others have developed public or semi-public parking slots in buildings or off-road areas, while others combine these two options. These different contexts mean that the implementation of a type of SPS (see Table 5) must be carried out on an almost custom-made basis for each city, and the choice of SPS type may vary according to how best to solve the parking problem and by taking into account the aforementioned aspects.
Cities with limited budgets can choose to develop a CITS type of SPS, implementing a crowdsourcing application and encouraging its use among their citizens, while others with a larger infrastructure can deploy sensors throughout the city to provide accurate information on the status of parking slots.
Large cities that use public parking slots on the streets can offer greater benefits to drivers if they implement a PGIS, providing route guidance to the parking location chosen by the application or user, while others that offer solutions such as parking slots in buildings can combine PGIS to guide drivers to some of them, as well as a CAPS to report on the status of the parking slots in each location, thus allowing users to choose which one they want.
As discussed in this section, cities that have a parking control system with inspector-controlled operators or parking meters can invest in providing an SPS using the data they process every day by these means. As we can conclude, SPS adaptation in cities can be diverse, and the choice of which type of system to implement will depend on the reality of each individual city. What is clear is that solving the parking problem can foster the growth of smart cities.

Electrical Vehicles
EVs present one of the fastest-growing futures in ITS. Green transport is a reality that is becoming more and more established in cities around the world. Achieving a higher percentage of circulation of this type of vehicle entails various challenges, and many of these are linked to SPS.
The investment in infrastructure needed to set up parking spaces with charging stations for plug-in EVs is expensive and complex. This involves planning the location of the parking spaces, their interconnection to the electricity grid or through solar energy, and the implementation of an EVPS that allows users to have information about the available spaces and the charge states of the stations.
On the other hand, EVs currently comprise a very small percentage of circulation with respect to vehicles with other types of energy (fossil, gas, biodiesel); this means that there is less competition for parking spaces, and EVPSs have a better way of planning routes and optimizing resources. The systems and algorithms developed today must be prepared for growth in the percentage of EV and in the number of charging stations that can be placed in parking spaces, as well as the different types of these stations. The EVPS must be able to operate and provide information to users by stations that are either coupled to the electric grid or powered by solar panels, for example.
Finally, the EVPS can be coupled to other types of SPS, allowing users to make a reservation for the charge of a vehicle in a parking lot, as in a PRS, guiding drivers with real-time information, as in a PGIS, or by sensing the availability of the car parks through the users themselves, as in a CITS.

Open Problems
The gaps, advantages, and disadvantages of SPS uncovered here allowed us to establish what the current situation is, what the points of interest and innovation are, and what new proposals can be made.
One of the points that can be addressed among the open problems is the use of user preferences, which will make it possible to establish a selection of parking spaces in a more efficient way, as well as a choice of routes to reach these spaces according to those preferences. This feature is among the main gaps mentioned in Section 7.2.
Open issues may also include the establishment of a multi-objective optimization that will allow working with different types of user preferences to search for parking and establish the routes mentioned above. Among the preferences to be taken into account is a distance from the parking lot to the destination, i.e., parking as close as possible to the destination (this type of preference was implemented in Reference [274]), time in finding an available parking lot, i.e., parking as fast as possible, parking avoiding congestion zones, i.e., parking in places of high availability of spaces, and parking for people with disabilities, i.e., parking near accessibility ramps.
Another feature that can be taken into account, which will allow the disadvantages detected for the routing algorithms that do not obtain updated information (Section 7.3) to be overcome, is the use of an algorithm in real time, which will allow updated information to be obtained to establish routes to the parking spaces by taking into account variables in the context of that route, such as congestion of the traffic of an artery, streets being cut off, detours, and the occupation of parking spaces.
In addition, to solve the problem described in Section 7.4, the algorithm must allow a new route to be calculated as it is executing the trajectory of an already established route (rescheduling route). This rescheduling will be executed after events that influence the previously established route, such as, for example, the occupation of the parking space established for the driver as they are on their way to it. If this event occurs, the system should be able to search for a new parking space according to the user's preferences and re-establish a new route to the new target location.
Finally, as mentioned in Section 7.1, the challenge in obtaining the information about the detection of vehicles depends on the underlying infrastructure in the place where the system is going to be implemented, or on the technology that was chosen to be used according to the system to be implemented.

Conclusions
The study was based on finding evidence of the types of SPS, the VDT that these systems use, the algorithms and methods that they apply, and the stage of development of each work. The research was divided into four features. By applying a formal methodology of searching for and selecting papers, we obtained a set of 274 works published between January 2012 and December 2019.
The result of this survey was the classification of the types of SPS for vehicles that exist in the literature. It is important to mention that this work presented an analysis of how SPS relate to VDT, as well as an exhaustive study of the types of algorithms that these systems implement, allowing us to group and classify these characteristics. Finally, a classification was made that allowed us to determine the stage of development of the works analyzed are in. It was possible to observe how the number of publications increased per year (see Table 8) over the range of years analyzed. Among the total 274 articles, 132 were published in the last three years (January 2017-December 2019).
Based on the results, in relation to SPS type, most applications were PRS and PGIS. In addition, there are growing alternatives that implemented crowdsourcing techniques where users are the players within the system as they feed information to it in real time.
Furthermore, when investigating the VDT applied to the SPS, it was observed that ORS sensors predominated the papers found in the literature. This solution can be expensive in middle-to large-sized cities because of the large the number of parking slots they have to monitor. However, other proposals like CS or DFTP, such as parking meters or systems implemented by the government for parking control, can be truly effective low-cost solutions for an intelligent parking system. Dynamic algorithms were the most predominant algorithms or methods used. This type of algorithm can react to changes in variables because they can change over time; however, if this happens, the use of resources due to processing can be used inefficiently, unlike, for example, real-time algorithms which, although more complex to implement, have a much more powerful and efficient performance.
Finally, in terms of the stage of development of the work found, 50% of the systems proposed were simulated while 48% were merely proposals, and only 2% of the applications among the 274 articles selected were implemented.
In conclusion, it can be determined that the applications proposed by SPS have great potential, as there is a wide variety of types and a wide range of algorithms and methods that can be implemented. This problem is very new given that the largest number of articles were published in the last four years (see Table 8). This study can serve as a starting point for future research on the subject. Section 7 discussed some of the gaps and open issues identified during our research, leaving an analysis of several aspects that involve the issue of SPS.
As future work, we will propose the development consist of a PGIS-type SPS to be simulated in a public parking environment of a city. This system will be developed with a real-time algorithm, based on drivers' preferences, which will establish a multi-target function for choosing the most optimal parking slot according to those preferences. The algorithm will also allow the re-planning of routes according to what happens in the context.