Our
dissemination
and relevance estimation techniques were
evaluated on a simulator we have developped (notably to integrate the
changes in the traffic induced by VESPA notifications). A
prototype of VESPA
has also been implemented using Microsoft .Net to observe its behaviour
in "real conditions" (even if the number of vehicles used during our
tests remain limited for the moment).
Our VESPA prototype runs
on PDA equipped with embedded GPS receivers.
It relies on
Wi-fi communications to disseminate the messages between the vehicles.
In practice, the
generation of events could be initiated using the numerous
embedded sensors (for example by coupling the airbag system with the
creation of an event representing an accident). Since our prototype is
not connected to these sensors, the creation of the events in our
prototype
is managed by the device (using the GPS signal).
Representation
of events
Each
event exchanged among vehicles is characterized by:
- A
message identifier;
- A
Version number (to distinguish the updates of
the same event);
- An
Importance field to determine the urgency of
presenting that information to the driver;
- The
time and place that the event was generated (CurrentPosition
attribute);
- Preceding
reference positions and their timestamps (DirectionRefPosition
and MobilityRefPosition) to compute
the mobility and
direction of the event;
- The
position of the last vehicle which relayed
the message (LastDiffuserPosition);
- The
HopNumber attribute indicates the number of rediffusions of the message;
- Finally,
a Description field describes more precisely the represented event
(e.g.,
accident, emergency braking, etc.).
The
type of the
event (stationary or mobile, directiondependent or not) is not
explicitly represented as an attribute of the event. Indeed, the type
of event can be easily inferred from some of the other message fields.
Each type of event is managed in VESPA in the same way when received on
a vehicle.
A possible sequence of messages exchanged among vehicles to advertise
an available parking space is presented in the figure below:
The first row represents the message emitted by a vehicle leaving a
parking space (or, alternatively, a sensor in the parking space can
detect that a vehicle is leaving and release the event). None of the
fields corresponding to the reference positions is filled here because
of the type of event (DirectionRefPosition and MobilityRefPosition are
both null for stationary nondirection-dependent events). The second row
presents the message generated by a vehicle relaying the message
presented at the first line of the table. The only attributes modified
are the HopNumber, increased because the message is relayed, and the
LastDiffuserPosition, corresponding to the position of the previous
sender of the message. The third row shows the next relay. For
simplicity reasons, only the longitude and latitude (and not the
altitude) of GPS positions are shown.
Graphical
User Interface
This
web page presents some functionalities of the
VESPA prototype. The goal is just to provide an overall impression.
Thus, many
interesting details are omitted. Remember also that VESPA is a project
under
continuous development (indeed, after some usability tests, we recently
re-designed some aspects of the VESPA GUI). For more details, please
contact
us.
The
following picture provides an overview of the
different screens in the VESPA prototype:

The VESPA
prototype offers different functionalities to
drivers (normal users) and developers/testers
of VESPA. Thus, developers have access to more information and details
that are
of no use to drivers. It is possible to switch from one mode to another
from
the File menu:

From
the same menu, it is also possible to export the
interface in an abstract XML-based definition language (for easy
adaptation of
the interface to other devices/computers), select different types of
sounds (or
no sound) to alert the driver when certain events are received, or turn
the GPS
on/off.
We
show in the following the initial screen (main
screen) of the VESPA prototype:

If an
important event for the driver is received, a
new screen appears. For example:

If the
driver clicks the “More
details” button,
he/she can access to additional information
about the event:

In
the developer mode, much more information about the
event is available, through a three-screen set that is navigated by
using a
drop-down menu:

From the
main window, we can also access the VESPA
menu (by selecting the “VESPA Menu”
option):

One of the
VESPA options allows the activation of a
query (“Activate a
query”):

Queries
can be classified in different categories.
When the user activates a query, he/she indicates his/her interest in
the results
of such a query.
Another
VESPA option, accessible from the menu, allows
the user to see the active queries (“See
active queries”):

Through
the VESPA menu option “Add new queries”,
it is possible to define a new query:

Through
the VESPA option “Event record”, we can access
the history of received events:

Through
the “Create
event” option, it is possible to create an event manually. In
user mode,
you can generate an event previously defined and most of the
information about
the event (position, etc.) is automatically retrieved from the context
of the
car:
In
developer mode, you have more options to define the
event. Thus, in this case, you can load a previously-generated event,
load a
saved event, or create a new event:

Before
generating the event, the developer can edit
the features of the event:

Notice
that in developer mode you can define any
information related to the event.
The
VESPA prototype can be launched in both vertical
and landscape modes:

We
have also versions of the prototype for
Windows-based portable computers:


For
an easy adaptation of the VESPA prototype to
different devices and computers, we have developed a library that
allows us to
export a graphical user interface as an XML-based description file that
can
then be modified and manually transformed into a graphical application
for
different devices:



For
testing, we have developed a tool called “VESPA
Center GUI”, which
allows the
definition of queries and events from a Window-based portable/desktop
computer.
The queries can be saved and then imported in the PDA. The events can
be
launched and will be captured by any VESPA-enabled PDA within
communication
range of the computer where the VESPA Center GUI is executing (assuming
that a
Wi-Fi connection is available). The following is a video that shows the
VESPA
Center GUI and the screen of a PDA with VESPA. Notice that, from all
the events
received on the PDA, only important events or events that are the
answer to
some user query are shown to the user:
