<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Defining CARE Properties Through Temporal Input Models</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Lucio Davide Spano</string-name>
          <email>davide.spano@unica.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Department of Mathematics and Computer Science, University of Cagliari Via Ospedale 72 Cagliari</institution>
          ,
          <country country="IT">Italy</country>
        </aff>
      </contrib-group>
      <fpage>35</fpage>
      <lpage>41</lpage>
      <abstract>
        <p>In this paper we show how it is possible to represent the CARE properties (complementarity, assignment, redundancy, equivalence) modelling the temporal relationships among inputs provided through di erent modalities. For this purpose we extended GestIT, which provides a declarative and compositional model for gestures, in order to support other modalities. The generic models for the CARE properties can be used for the input model design, but also for an analysis of the relationships between the di erent modalities included into an existing input model.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        INTRODUCTION
The characteristics of gestural input, such as its long
temporal extension, or the possibility to support parallel
interaction even for single-users, set di erent challenges
that are shared with multimodal interaction. In
particular, di erent modelling techniques and formalisms are
shared between gestural and multimodal interaction
research. As we discuss better in the related work section,
the considered modalities in literature are usually
graphical and vocal. However, the wide availability of input
devices allowing gestural interaction and the progresses in
voice recognition technologies require a general approach
for combining modalities, focusing more on User Interface
(UI) design rather than technology integration.
In this paper, we enlarge the spectrum of GestIT [
        <xref ref-type="bibr" rid="ref12 ref13">12, 13</xref>
        ],
a declarative and compositional meta-model with an
associated code library for describing gestures, generalizing
the modelling technique to modalities di erent from
gestural. We show that providing such temporal modelling
for multimodal input allows to i) represent the CARE [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]
(Complementarity, Assignment, Redundancy and
Equivalence) properties in the UI code and ii) to identify the
CARE properties into existing UI code and/or models.
The provided de nitions allow checking whether an
interaction model is compliant with the intended modality
allocation or not, providing the theoretical background
for an automatic tool support.
      </p>
      <p>
        RELATED WORK
In this paper, we exploit a formal notation for de ning
the input sequences that can be recognized by the UI. The
idea of describing di erent types of input through a formal
notation has been widely investigated in literature, using
di erent formalisms. For instance, Finite State Machines
(FSM) have been integrated into widely adopted window
toolkits, such as Java Swing, by Appert et al. [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. The
authors integrate FSMs inside the de nition of the UI
classes, in order to de ne in a single place the interaction
code. Di erent FSMs can work together at the same time,
in order to avoid the state explosion problem. One of the
motivating examples was the drag and drop interaction
technique, which cannot be modelled through a single
event.
      </p>
      <p>
        The combination of di erent interaction modalities
needed a formalism able to integrate di erent
concurrent information sources. In [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], Accot et al. used Petri
Nets for modelling low-level graphical interaction events.
In addition, they created multimodal models starting
from single-modalities, composing them into one Petri
Net. They exempli ed the composition technique de ning
a bimanual interaction model for a direct-manipulation
interface. A similar approach for modelling bimanual
interaction has been proposed in the same years in [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ].
The research in multimodality has been focused mainly in
combining vocal and graphical inputs. Di erent
environments and model based techniques have been proposed in
this regard. For instance, Damask [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] is an environment
allowing designers to create interfaces through di erent
layers associated to particular devices and modalities. It
is possible to specify which elements are common to all
devices and modalities and which UI parts are related
only to a particular interaction platform. MARIA [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]
describes user interfaces through di erent levels of
abstractions. It contains a multimodal platform, which
allows generating applications for exploiting web services
through both the graphical and the vocal modality. In
order to combine them, the language allows specifying
CARE properties [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] for each interactor in the interface,
which has both a graphical and a vocal part in its de
nition.
      </p>
      <p>
        This paper starts from a compositional and declarative
model for gestural interaction and extends it in order
to support input from di erent modalities. We consider
the GestIT model in [
        <xref ref-type="bibr" rid="ref12 ref13">12, 13</xref>
        ], but a similar approach has
been adopted in Proton++ [
        <xref ref-type="bibr" rid="ref7 ref8">8, 7</xref>
        ]. Both of them allow
reusing the same gesture models for di erent applications
or in di erent parts of the user interface, separating the
gesture de nition from the application behaviour. A
comparison between the two approaches can be found
in [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ], where the authors demonstrate that GestIT is
more expressive than Proton++. A library support for
the model is publicly available in [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. Our research aims
at combining di erent modalities, extending the approach
for gesture modelling to a more general input model.
INPUT ABSTRACTION
In this section we extend the de nition of the declarative
and compositional gesture model in [
        <xref ref-type="bibr" rid="ref12 ref13">12, 13</xref>
        ] for including
input modalities di erent from gestural. We show that
having an explicit dialog model in the application de
nition allows checking the CARE properties [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] on the
input temporal sequence.
      </p>
      <p>Ground terms
GestIT models the input through an expression de ning
the input temporal sequence. The ground term
expressions represent the basic building blocks for such
description. Each of them describes an atomic event, that is
a noti cation that cannot be further decomposed. In
general, they are associated to a value change of a feature,
which is a single data tracked by an input device.
For instance, we can de ne a ground term representing
the current mouse pointer position, or a key press on a
keyboard. In the gestural modality, we associate a ground
term to each point tracked by the recognition device, such
as the skeleton joints for MS Kinect, or the touch points
for a multitouch screen. In the vocal modality, we can
associate a ground term to the recognition of a word (or
a phrase) pronounced by the user.</p>
      <p>The noti cation can be optionally associated to a
condition, which can be exploited receiving only a subset of all
possible state changes associated to a ground term. This
is useful in the gestural modality for receiving movements
that follow a speci c trajectory (e.g. linear), or in
order to calculate di erential characteristics of the gesture
performance (e.g. the speed). In the vocal modality,
we can associate a word or a grammar to an utterance
recognition.</p>
      <p>In this paper, we associate a symbol to each considered
ground term. For instance, we indicate with Hr the
position of the right hand, with Sl the position of the
left shoulder etc.. We represent a generic ground term
with the symbol Gt. For the vocal modality, we use the
symbol V for indicating the recognition of a word.</p>
      <p>A boolean predicate can be associated to a ground term
for ltering the noti cation. We represent it through its
name in square brackets, immediately after the ground
term name: Gt[p] represents a generic ground term Gt
associated to a predicate p. For instance V [quit] expresses
the recognition of the word \quit", where V is the vocal
ground term and quit is the predicates that restrict the
recognition only to the considered word. A predicate p
can be associated to more than one ground term in both
the formal notation and in the library supporting the
GestIT model.</p>
      <p>
        In GestIT [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ], a generic ground term is represented by
an abstract class (SimpleExpr ), which can be extended
for including di erent sources of input. A predicate
can be associated with a ground term providing the
implementation of the boolean method accept, through a
delegate pattern [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ].
      </p>
      <p>Composition operators
Starting from ground terms, it is possible to de ne the
input temporal sequence composing the di erent expression
through the following set of temporal operators:
Iterative Operator, represented by the symbol,
repeats an input expression an inde nite number of
times.</p>
      <p>Sequence Operator, represented by the symbol,
connects two (or more) expressions to be executed in
sequence, from left to right.</p>
      <p>Parallel Operator, represented by the symbol k,
connects two (or more) expressions that can be recognized
at the same time.</p>
      <p>Choice Operator, represented by the symbol [ ],
allows to select one among the connected components in
order to complete the entire expression.</p>
      <p>Disabling Operator, represented by the [&gt; symbol,
de nes that an expression stops the recognition of
another one, typically used for stopping iteration loops.
Order Independence, represented by the j j
sym=
bol, de nes that the connected sub-expression can be
performed in any order.</p>
      <p>The choice, parallel and order independence operators
are commutative. The sequence, parallel, choice and
disabling operator are binary and associative. The order
independence operator is a n-ary operator, it can be
de ned through a choice of sequences, as we detail better
while describing equation 7.</p>
      <p>In GestIT, a composed expression is represented by the
class ComplexExpr, where it is possible to include the
operands (either simple or composite) and to specify the
temporal operator. This class is independent from the
modality and it can be used for connecting ground terms
from di erent input devices.</p>
      <p>Auxiliary functions
We de ne two auxiliary functions for de ning the CARE
properties on input expressions. The rst function
answers the following question: which modalities are needed
for completing the considered input expression?
Obviously, since it may be possible to provide the same
information through di erent modalities, it is possible to
exploit di erent sets of modalities for completing the
same expression.</p>
      <p>We formally model this association through the M od
function, which maps an expression to a family of sets.
The family contains all the possible sets of modalities that
the user can exploit for completing the considered input
expression. We provide an inductive de nition for this
function in equation 1, starting from a ground term and
showing how to build the family of sets for two generic
expressions connected through a composition operator.
M is the set of all possible input modalities.</p>
      <p>M od : Exp 7! fS1:::Sng
where Si</p>
      <p>M; i 2 [1; n]
M od(Gt) = fmg; m 2 M
M od(Exp ) = M od(Exp)</p>
      <p>Si 2 M od(Exp2)g
M od(Exp1[ ]Exp2) = fSijSi 2 M od(Exp1) _
M od(Exp1 op Exp2) = fSi;jjSi;j = Si [ Sj;</p>
      <p>Si 2 M od(Exp1); Sj 2 M od(Exp2)g
op 2 f</p>
      <p>; [&gt;; j=j ; kg
A ground term Gt is assigned to a single modality,
therefore the function M od maps it to a single set with a
single element. The iterative operator does not add any
element to the family of sets.</p>
      <p>The choice operator allows selecting between one of the
sub-expressions. From the modality point of view, it is
possible to choose only one of the sets provided either
by the left or the right operand. Therefore, the resulting
family of sets for the composed expression is obtained
considering all sets from both operands.</p>
      <p>For the other composition operators, the user needs to
complete both operands, which means that she can select
a set of modalities for completing the left operand and
another set for completing the right operand. Therefore,
in order to obtain the resulting family of sets, we rst
calculate all possible pairs of sets, selecting one set from
left and one set from the right operand families. After
that, we calculate for each pair the union of the two
sets and we obtain the resulting family for the composed
expression.</p>
      <p>The second function associates an input expression with
a semantic label identifying which input data provides
to the application. Considering two input expressions
Exp1 and Exp2, the value returned by Input function
is the same if they provide an equivalent input for the
application. The possible values for this function are
related to the speci c application. The function is de ned
in equation 2: Datain is a set of semantic labels associated
to all the possible user's input needed by the considered
application, and d is a particular label.
(1)</p>
      <p>T ap [ ] N um
T ap = Start1
This association between an expression and its semantic
label represents the abstraction of the \message" that
the system needs from the user for completing an
operation. The same input can be provided through di erent
modalities. For instance, we can consider an application
allowing the user to enter a phone number either dialling
it through a virtual keyboard or to pronouncing it vocally,
as modelled in equation 3. In this case, we consider two
di erent input expressions: one de ning the screen taps
(T ap) and one for the vocal interaction (N um). The
rst one is simply a sequence of a touch start (Start1)
and a touch end (End1). The second expression allows
the user to dictate the number digit by digit. Such
expressions provide the same data to the application logic
(represented by the phoneN umber label).</p>
      <p>N um = V [zero] [ ] V [one] [ ] : : : [ ] V [nine]
(3)</p>
      <p>
        Input(T ap) = Input(N um) = phoneN umber
In this paper, we assume that the Input function has
been de ned for each expression in the input model. The
straightforward way for obtaining this mapping is to
require its speci cation from designers, but this may
limit the acceptance of the modelling technique.
We think that it is possible to provide an automated
labelling procedure based on the reverse engineering of
code. If we consider the T ap and N um expressions, the
behaviour associated to their completion should contain
a call to the same application logic, e.g. through a
command pattern [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. We aim to investigate the identi cation
of such patterns in future work.
      </p>
      <p>
        MODELLING CARE PROPERTIES
The CARE properties [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] are a simple way for
characterizing how di erent modalities relate to each other for
supporting the interaction. In this section, we show how
it is possible to model such properties through the
composition operators de ned in GestIT, starting from their
de nitions in [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. The care properties are four
(Complementarity, Assignment, Redundancy and Equivalence).
In the following discussion we include their de nition
(reported from [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]) and their modelling through the
proposed notation.
      </p>
      <p>In all de nitions, we suppose that the UI is currently
in a state st and that the user wants to change this
state to st+1. Exp is the input expression de ning
all the possible UI options for reaching st+1 from st.
In addition, we consider two modalities in the de
nitions, but they can be easily extended to the general case.
Assignment
De nition. The modality m is assigned from state st to
reach st+1 if no other modality can be used for moving
from st to st+1.</p>
      <p>Model. We can de ne this property on the expression
Exp simply checking that all ground terms belong to the
modality m, as de ned in equation 4.</p>
      <p>Assignment(Exp; m) , M od(Exp) = fmg
(4)
Equivalence
De nition. Two (or more) modalities m1 and m2 are
equivalent for changing the state of an application from
st to st+1 if it is necessary and su cient to use any one
of the modalities for changing the state. This means that
the user is free to select exactly one modality among
the ones supported by the interface for completing one
action.</p>
      <p>Model. We can de ne the equivalence between two
different modalities connecting the expressions for m1 and
m2 with a choice operator as shown in equation 5 (Exp1
is assigned to m1 and Exp2 is assigned to m2).
However, this is not su cient for being compliant with the
de nition. For ensuring that st+1 is the same
independently from which expression the user selects, we must
ensure also the same type of input is provided by the
user through both expressions. This is modelled by the
condition Input(Exp1) = Input(Exp2).</p>
    </sec>
    <sec id="sec-2">
      <title>Equivalence(Exp; fm1; m2g)</title>
      <p>, Exp = Exp1 [ ] Exp2
^ M od(Exp1) = fm1g
^ M od(Exp2) = fm2g
^ Input(Exp1) = Input(Exp2)
(5)
Redundancy
De nition. Two (or more) modalities are used
redundantly to reach state st+1 from state st, if they have the
same expressive power (e.g. the user provides the same
information to the UI through di erent channels or vice
versa).</p>
      <p>
        Model. As discussed in [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], the redundancy may occur
following two di erent temporal relationships: sequence
and parallelism. In the rst case, before completing the
state transition, the user selects the rst modality and
completes the correspondent actions, then she selects the
second modality and completes the interaction, providing
again the same input. In general, if the number of
modalities is more than two, it is possible to select the modalities
in any order, but the user has to complete the actions
for all of them. In the second case (parallelism), the user
can perform actions belonging to di erent modalities at
the same time. Therefore, we can de ne in equation 6
two variants for the redundancy property.
      </p>
    </sec>
    <sec id="sec-3">
      <title>SeqRedundancy(Exp; fm1; m2g)</title>
      <p>P arRedundancy(Exp; fm1; m2g)
, Exp = Exp1 j=j Exp2
^ M od(Exp1) = fm1g
^ M od(Exp2) = fm2g
^ Input(Exp1) = Input(Exp2)
, Exp = Exp1 jj Exp2
^ M od(Exp1) = fm1g
^ M od(Exp2) = fm2g
^ Input(Exp1) = Input(Exp2)
(6)</p>
      <p>The two versions model the property in a similar way.
The only di erence is the temporal operator connecting
the two expressions Exp1 and Exp2, which are assigned
to only one modality (respectively m1 and m2).
The rst de nition, SeqRedundancy, connects the two
expressions through the order independence operator,
which guarantees that the two input sub-expression must
be both completed in order to reach the state st+1. The
user is free to select which modality she wants to use
rst. Indeed the order independence is by de nition a
choice between all possible sequences for executing the
input actions, as shown in equation 7.</p>
      <p>Exp1j=jExp2 = (Exp1</p>
      <p>Exp2)[ ](Exp2</p>
      <p>
        Exp1) (7)
In the second de nition, Exp1 and Exp2 are connected
through the parallel operator, which allows the execution
of the input actions assigned to the di erent modalities
at the same time. It is worth pointing out that the
sequences of actions recognized by expressions satisfying
SeqRedundancy can be also recognized by those that
satisfy P arRedundancy. However, as also remarked in [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ],
when two modalities compete for the same human
resources (e.g. the same bu ers in sensory memory) the
designer should avoid a parallel redundancy and restrict
it to the sequential version.
      </p>
      <p>In both cases, the command for changing the UI state is
associated to the completion of Exp, which ensures that
the UI changes its state only when the input from both
modalities has been provided.</p>
      <p>Complementarity
De nition. Two (or more) modalities are used for
reaching the state st+1 from st, all of them must be used for
changing the state, but no one is able to complete the
change individually.</p>
      <p>Model. In this case, there is no need to enforce a
particular temporal sequence for the input actions in Exp.
The only requirement is that M od(Exp) contains a
single set, whose elements are all the considered modalities.
Considering the de nition we provided for the function
M od, this guarantees that the user completes the input
expression using all modalities at least once. The formal
de nition is shown in 8.</p>
    </sec>
    <sec id="sec-4">
      <title>Complementarity(Exp; fm1; m2g)</title>
      <p>
        , M od(Exp) = fm1; m2g
(8)
(9)
SAMPLE APPLICATION
In this section we redesign the interaction applying the
CARE properties to the touchless recipe browser
presented in [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]. We show that it is possible to check the
constraints on the input expression automatically,
applying the de nitions discussed in the previous sections.
The touchless recipe browser allows the user to select
among di erent recipes, groped in di erent categories
(e.g. starters, rst courses, second courses, desserts etc.).
After selecting the dish, the application presents all the
steps for cooking, through textual descriptions enhanced
with a video. It is possible to watch the video entirely,
or step by step. In the latter mode, the video stops at
each intermediate action that the user has to complete
for cooking the dish, and the playback continues when
the application receives an explicit request by the user.
The application combines the gestural (g) and the vocal
modality (v), since it may be di cult for a person to
use a keyboard and/or a mouse while cooking (she may
have wet or dirty hands). It consists of three di erent
presentations: the rst shows the recipe category, the
second allows to select a dish from a list of a speci c
category and the last one shows the steps for preparing
the selected dish.
      </p>
      <p>All presentations respond to the input only if the user
stands in front of the screen, in order to ignore movements
or speech when they are not intended for interacting with
the application (e.g. movements for chopping a carrot
or talking with other persons in the kitchen). We can
model this input ltering by recognizing the user pose in
front of the screen. It is su cient that the user's shoulder
joints are contained in a plane roughly parallel to the
screen. The interaction is modelled in equation 9.</p>
      <p>AppIn = F ront</p>
      <sec id="sec-4-1">
        <title>Interact [&gt; N otF ront</title>
        <p>F ront = (Sl[p] k Sr[p])</p>
        <p>N otF ront = (Sl[p] k Sr[p])
The de nition of the expressions F ront and N otF ront
is similar, since they track the parallel movement of the
left and right shoulder joints (represented by the Sl and
Sr ground terms). They are complementary, since all
movements recognized by F ront are not recognized by
N otF ront and vice versa. This is modelled by the p
predicate, which tests whether the two joints are parallel
with respect to the screen plane. N otF ront uses the
logical negation of the same predicate.</p>
        <p>Interact contains the expression de ning the interactions
supported by the application, which we re ne later on.
The sequence operator between F ront and Interact
guarantees that no input is processed while the user is not
in front of the screen. The disabling operator between
Interact and N otF ront ensures that the input tracking
nishes as soon as the user moves from the screen front
position.
Such design of the interaction, assigns the expression of
the user's will to interact to the gestural modality, as
demonstrated in equation 10.</p>
        <p>M od(F ront) = M od(N otF ront) =
= M od(Sl) [ M od(Sr) = g
(10)
While interacting with all presentations, it is possible
to quit the application or to go back to the previous
presentation. In order to avoid unintended terminations,
we ask a con rmation for the quit command, as usual
in many interfaces. In the vocal modality, the user says
the word \quit" for quitting the application, while in the
gesture modality we associate this command to a wave
gesture.</p>
        <p>The wave gesture is depicted in gure 1. For convenience,
we set the origin of our coordinate system on the elbow
of the considered hand, obtained at each frame simply
de ning a translation of the original coordinate system,
using the vector de ned by the elbow position. The
gesture starts when the hand point reaches the second
quarter in our coordinate system, with a positive Y and a
negative X value, depicted in gure 1. Then, the user has
to move the hand in the rst quarter of the coordinate
system, with both values of X and Y positive, as shown in
gure 1, part 2. At this point, there are two alternatives:
either the user repeats the wave, returning to the situation
in gure 1, part 1, or she can conclude the gesture moving
the hand in the third quarter, as depicted in gure 1,
part 3.</p>
        <p>We model the gesture with the expression in equation 11.
The position of the right hand is represented by Hr; x
is true if the hand point has a positive value for the X
coordinate, x is true otherwise; y is true if the hand
point has a positive value for the Y coordinate, y is true
otherwise.</p>
        <p>(Hrf1; g[x ^ y] [&gt; Hrf1; g[x ^ y])f1; g [&gt;
Hrf1; g[x ^ y]
(11)
In order to support the exit con rmation using di erent
modalities, it is possible to follow di erent strategies.
We can ask the user to provide the input sequentially
or in parallel, since voice and gestures do not cause
con icts. The two situations are modelled in equation 12,
respectively by the Seqquit and by the P arquit expressions.
Since the equivalence between the inputs entered through
the expressions using the vocal and the gesture
modality holds (considering the interaction semantics we
associated them in this speci c case) we can
conclude that both SeqRedundancy(Seqquit; fv; gg) and</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>P arRedundancy(P arquit; fv; gg) are true.</title>
      <p>Another strategy is to allow only one modality for the
rst request (e.g. vocal) and then a con rmation through
either the vocal or the gesture modality (the vice versa
is also possible, with a symmetric modelling technique).
In this case, the command received through the vocal
command \enables" a selection between a gesture and the
same vocal command for con rmation. The strategy is
modelled in equation 13 by the AssEquivquit expression.
We have an assignment property for the rst request and
an equivalence property for the con rmation.</p>
      <p>AssEquivquit = V [quit]
(W ave[ ]V [quit])
(13)
We assign the back command to the vocal modality
(V [back]). Therefore, the interaction with a generic
presentation (Interact, see equation 9) consists of a
presentation-speci c (P resIn) expression in choice with
the back and the quit command, as de ned in equation 14,
where Expquit is a place holder for either Seqquit, P arquit
or AssEquivquit.</p>
      <p>Interact = P resIni [ ] V [back] [ ] Expquit
(14)
In the rst presentation, which is shown in gure 2, the
user points a target on the screen and selects it closing
the hand. The interaction is modelled in equation 15:
the user moves the dominant hand an inde nite
number of times (Hr ), until she selects an item closing the
hand (we indicate the feature for the hand opening with
oHr, and we restrict the recognition only to the closed
state). In this case, we assigned the interaction to the
gestural modality. The interaction for the dish selection
presentation exploits the same gesture set.</p>
      <p>P resIn1 = Hr [&gt; oHr[closed]
M od(P resIn) = g
(15)
The presentation for preparing the selected dish is shown
in gure 3. It allows reading the description of the steps
that are needed for cooking a dish, through a text and
a video. The video can be played continuously, in order
to have an overall idea on the whole preparation process.
Otherwise, the video can be played step-by-step, pausing
the playback at the end of each step. In this case, the user
requests to watch the next (or previous) step explicitly.
In addition, she can jump randomly from one step to
another, moving the video timeline knob. Finally it
is possible to change the volume setting for the video
description. The interface supports the interaction with
the expression in equation 16. The change between the
continuous and the step-by-step playback is supported
through the \continuous" and the \step" vocal commands
(respectively V [cont] and V [step].</p>
      <p>In order to navigate the recipe steps, the user can select
among the gestural and the vocal modality. The next
step (N ext) can be visualized through the \next" vocal
command (V [next]) or (choice operator) through a swipe
from left to right. The latter gesture can be modelled
through an iterative movement of the dominant hand with
a speed higher than a speci c threshold (Hr [spr]),
disabled by a movement slower than this threshold (Hr[spr]).
We use a symmetric modelling approach for visualizing
the previous step.</p>
      <p>The steps can be randomly navigated performing a grab
gesture and dragging the timeline knob (Random): it
consists of closing the dominant hand (oHr[closed]), followed
by its iterative movement (Hr ), disabled by opening the
hand (oHr[open]). The same gesture can be used for
changing the volume setting, after having pronounced
the \volume" vocal command.</p>
      <p>The V olume expression in equation 16 satis es the
complementary property, since M od(V olume) includes only
one set containing both the vocal and the gesture
modality. This means that the input expression cannot be
completed without using all the considered modalities.
Instead, in N ext we have an equivalence between the
two sub-expressions since they provide the same
input through di erent modalities (the same holds for
P revious). The \continuous" and the \step" commands
are assigned to the vocal modality.</p>
      <p>P resIn3 = V [cont] [ ] V [step] [ ] V olume [ ]</p>
      <sec id="sec-5-1">
        <title>N ext [ ] P rev [ ] Random V olume = V [vol] Drag</title>
        <p>N ext = V [next] [ ] (Hr [spr] [&gt; Hr[spr])</p>
        <p>P rev = V [prev] [ ] (Hr [spl] [&gt; Hr[spl])
Random = Drag</p>
        <p>Drag = oHr[op]</p>
        <p>Hr [&gt; oHr[op]
M od(V olume) = fg; vg</p>
        <p>M od(V [step]) = M od(V [cont]) = fvg
M od(Random) = fgg
Input(V [next]) = Input(Hr [spr] [&gt; Hr[spr])
(16)
CONCLUSIONS AND FUTURE WORK
In this paper we extended an existing declarative model
for gesture de nition in order to support other
modalities. With this extension, we provided the de nition of
the CARE properties for managing multimodality,
representing them through the temporal input modelling.
This is useful for providing automatic model checking
procedures, able to identify the properties inside existing
models. This can support designers in the UI creation
process or during the reverse engineering of existing
applications. In future work, we aim to include the multimodal
support in the next release of the GestIT library, together
with tool support for the model creation and checking.
ACKNOWLEDGEMENTS
We gratefully acknowledge Sardinia Regional Government for the
nancial support (P.O.R. Sardegna F.S.E. Operational Programme
of the Autonomous Region of Sardinia, European Social Fund
20072013 - Axis IV Human Resources, Objective l.3, Line of Activity
l.3.1 \Avviso di chiamata per il nanziamento di Assegni di Ricerca"</p>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1. GestIT library http://gestit.codeplex.com/. Accessed:
          <fpage>2014</fpage>
          -05-13.
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Accot</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Chatty</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Palanque</surname>
            ,
            <given-names>P. A.</given-names>
          </string-name>
          <article-title>A Formal Description of Low Level Interaction and its Application to Multimodal Interactive Systems</article-title>
          . In DSV-IS,
          <string-name>
            <given-names>F.</given-names>
            <surname>Bodart</surname>
          </string-name>
          and J. Vanderdonckt, Eds., Springer (
          <year>1996</year>
          ),
          <volume>92</volume>
          {
          <fpage>104</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Appert</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Beaudouin-Lafon</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <article-title>SwingStates: adding state machines to the swing toolkit</article-title>
          .
          <source>In Proceedings of the 19th annual ACM symposium on User interface software and technology, UIST '06</source>
          ,
          <string-name>
            <surname>ACM</surname>
          </string-name>
          (New York, NY, USA,
          <year>2006</year>
          ),
          <volume>319</volume>
          {
          <fpage>322</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Coutaz</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nigay</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Salber</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Blandford</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>May</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Young</surname>
            ,
            <given-names>R. M.</given-names>
          </string-name>
          <article-title>Four easy pieces for assessing the usability of multimodal interaction: the care properties</article-title>
          .
          <source>In InterAct</source>
          , vol.
          <volume>95</volume>
          (
          <year>1995</year>
          ),
          <volume>115</volume>
          {
          <fpage>120</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Gamma</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Helm</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          , Johnson, R., and
          <string-name>
            <surname>Vlissides</surname>
          </string-name>
          , J. Design Patterns:
          <article-title>Elements of Reusable Object-Oriented Software</article-title>
          .
          <source>Addison-Wesley Professional Computing Series. Pearson Education</source>
          ,
          <year>1994</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Hinckley</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Czerwinski</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Sinclair</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <article-title>Interaction and modeling techniques for desktop two-handed input</article-title>
          .
          <source>In Proceedings of the 11th annual ACM symposium on User interface software and technology, UIST '98</source>
          ,
          <string-name>
            <surname>ACM</surname>
          </string-name>
          (New York, NY, USA,
          <year>1998</year>
          ),
          <volume>49</volume>
          {
          <fpage>58</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Kin</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hartmann</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>DeRose</surname>
          </string-name>
          , T., and
          <string-name>
            <surname>Agrawala</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <article-title>Proton++ : A Customizable Declarative Multitouch Framework</article-title>
          .
          <source>In Proceedings of the 25th annual ACM symposium on User interface software and technology (UIST</source>
          <year>2012</year>
          ), ACM Press (Berkeley, California, USA,
          <year>2012</year>
          ),
          <volume>477</volume>
          {
          <fpage>486</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Kin</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hartmann</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>DeRose</surname>
          </string-name>
          , T., and
          <string-name>
            <surname>Agrawala</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <article-title>Proton: multitouch gestures as regular expressions</article-title>
          .
          <source>In Proceedings of the 2012 ACM annual conference on Human Factors in Computing Systems (CHI</source>
          <year>2012</year>
          ), ACM Press (Austin, Texas, USA,
          <year>2012</year>
          ),
          <volume>2885</volume>
          {
          <fpage>2894</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Lin</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Landay</surname>
            ,
            <given-names>J. A.</given-names>
          </string-name>
          <article-title>Employing patterns and layers for early-stage design and prototyping of cross-device user interfaces</article-title>
          .
          <source>In Proceedings of the SIGCHI Conference on Human Factors in Computing Systems, CHI '08</source>
          ,
          <string-name>
            <surname>ACM</surname>
          </string-name>
          (New York, NY, USA,
          <year>2008</year>
          ),
          <volume>1313</volume>
          {
          <fpage>1322</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Manca</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Paterno</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          <article-title>Supporting multimodality in service-oriented model-based development environments</article-title>
          . In
          <string-name>
            <surname>Human-Centred Software</surname>
            <given-names>Engineering</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Bernhaupt</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Forbrig</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Gulliksen</surname>
          </string-name>
          , and M. Lrusdttir, Eds., vol.
          <volume>6409</volume>
          of Lecture Notes in Computer Science. Springer Berlin Heidelberg,
          <year>2010</year>
          ,
          <volume>135</volume>
          {
          <fpage>148</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Spano</surname>
            ,
            <given-names>L. D.</given-names>
          </string-name>
          <article-title>Developing Touchless Interfaces with GestIT</article-title>
          . In Ambient Intelligence,
          <string-name>
            <given-names>F.</given-names>
            <surname>Paterno</surname>
          </string-name>
          , B. de Ruyter, P. Markopoulos,
          <string-name>
            <given-names>C.</given-names>
            <surname>Santoro</surname>
          </string-name>
          ,
          <string-name>
            <surname>E. van Loenen</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          K. Luyten, Eds., vol.
          <volume>7683</volume>
          of Lecture Notes in Computer Science. Springer Berlin / Heidelberg,
          <year>2012</year>
          ,
          <volume>433</volume>
          {
          <fpage>438</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Spano</surname>
            ,
            <given-names>L. D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cisternino</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Paterno</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          <article-title>A Compositional Model for Gesture De nition</article-title>
          .
          <source>In Proceedings of the 4th International Conference in Human-Centered Software Engineering (HCSE</source>
          <year>2012</year>
          ), vol.
          <volume>7623</volume>
          , LNCS, Springer (Tolouse, France,
          <year>2012</year>
          ),
          <volume>34</volume>
          {
          <fpage>52</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Spano</surname>
            ,
            <given-names>L. D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cisternino</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Paterno</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Fenu</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          <article-title>A Declarative and Compositional Framework for Multiplatform Gesture De nition</article-title>
          .
          <source>In EICS</source>
          <year>2013</year>
          ,
          <article-title>5th Simposium on Engineering Interactive Computing Systems</article-title>
          , ACM Press (
          <year>2013</year>
          ).
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>