  We present the principled design of CRAWLING: a CRowdsourcing Algorirthm on
WheeLs for smart parkING. CRAWLING is an in-car service for the routing of
connected cars. Specifically, cars equipped with our service are able to {\em
crowdsource} data from third-parties, including other cars, pedestrians, smart
sensors and social media, in order to fulfill a given routing task. CRAWLING
relies on a solid control-theoretical formulation and the routes it computes
are the solution of an optimal control problem where cars maximize a reward
capturing environmental conditions while tracking some desired behavior. A key
feature of our service is that it allows to consider stochastic behaviors,
while taking into account streams of heterogeneous data. We propose a
stand-alone, general-purpose, implementation of CRAWLING and we show its
effectiveness on a set of scenarios aimed at illustrating all the key features
of our service. Simulations show that, when cars are equipped with CRAWLING,
the service effectively orchestrates the vehicles, making them able to react
online to road conditions, minimizing their cost functions. The code
implementing our service and to replicate the numerical results is made openly
available.
