objects: places, transactions and arcs, graphically
represented by circles, rectangles and oriented lines.
The first aspect relates to the identification of the
user's intents by BotWheels: it is necessary in practice
to understand what he/she is interested. Various
options are considered, including changing tires, the
workshop nearest search and request for information.
• In particular, the conversation begins through
the activation of the transition "start
conversation", then the system asks the intent
(“ask intent” transition) as long as it is not
understood; below, after obtaining the intent
(“get intent” transition), through “ask vehicle”
transition, system will be asked to user the
vehicle (car, motorcycle, etc...).
• Assuming it has been identified the intent of
wanting to change the car tires, it can begin the
process of tires recommendation for car: the
system will randomly ask general information
on the car or the tire size, activating the “ask car”
or “ask tire” transition. Obtained an answer, “get
response for cars” or “get response for tire size”
transition is activated.
• If it is aware of the brand and model, “get car”
transition is activated, and then it can be
possible to ask later the car version and year; as
well as if it is aware of the width, height and
diameter, the transition “get size” is activated,
requiring later load and speed.
• Finally, “get tire from car data” or “get tire from
tire data” transition is activated only when the
system will have obtained all the information
(brand, model, version and year) or the context
of the tire (width, height, diameter, load and
speed). Obtained result will be represented from
one or more tires that correspond at the research
done, based on the data provided.
• The result obtained can then be further filtered
based on optional parameters, such as the
season, in order to activate “recommend tire”
final transition.
• The transition ends the conversation is activated
and the conversation ends.
The most delicate initial aspects to consider are as
follows:
1. Controls relating to the information that the user
communicates;
2. The next question that the system will has to
make;
3. Any flow of communication changes.
For this purpose, the monitor places were used, which
are a control structure of the system evolution:
recording some events, commanding the other
eligible events and by disabling other.
1. In detail, monitor places related to car context
(brand mp, car_model mp, version mp, year mp)
and to the dimension context of tire (width mp,
height mp, diameter mp, load mp, speed mp)
have been defined: they tell what information of
the context the system knows.
For example, in the case where the system has
requested information on the car and the user
has provided the brand (brand monitor place
fills with a token), “get car” transition could not
enabled, having the need to know also model;
information that the system will require.
Obtained this information (model monitor place
fills with a token), the transition is activated and
the system will prompt version and year. Also
received these information, “get tire from car
data” transition is activated.
The monitor places may be filled by direct
method and indirect method. In the first case, a
determined monitor place is filled directly
following an explicit user response, for example
relative to the car model. A monitor place can be
filled indirectly also, if for example, the user
provides the model and can be traced back to the
brand in that, in the ontology of reference, there
is a single association: in this case, also brand
monitor place will be filled.
For example, the user provides Panda model,
can be traced back to FIAT brand.
2. To determine which question the bot will ask the
user, we have considered the monitor places in
a denied context, graphically defined by an
underline name. For example, for car denied
context, a token in MODEL MP indicates that
the system does not know the car model.
For example, when the user has already
provided the brand of his/her car, BRAND MP
will be filled and “ask brand” transition will not
be active. Instead, BRAND MP of the car
context will be filled and consequently “ask
model” transition will be active. Obtained brand
and model, “get car” transition is enabled;
VERSION MP and YEAR MP are filled and
subsequent transitions to enable will be “ask
version” and “ask year”.
3. When the weighted sum of the missing
information on the total of a context is smaller
than the current value, there is a change context.
Suppose the user after providing the car brand,
gives information about the height, width and
diameter tire; there is a change of context from
the current context C (drive) to another context
N (size) because the weighted sum of the
missing tokens of N on total - the product of the