<!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>Multi-level Dialog Modeling in Highly Interactive Web Interfaces</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Efrem Mbaki</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Jean Vanderdonckt</string-name>
          <email>jean.vanderdonckt@uclouvain.be</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Josefina Guerrero</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Marco Winckler</string-name>
          <email>winckler@irit.fr</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>IRIT, Université Toulouse 3, France</institution>
          ,
          <addr-line>118 route de Narbonne, F-31062 Toulouse cedex 9</addr-line>
          ,
          <country country="FR">France</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Université catholique de Louvain, Louvain School of Management, Belgian Lab. of Computer-Human Interaction</institution>
          ,
          <addr-line>Place des Doyens, 1 B-1348 Louvain-la-Neuve</addr-line>
          ,
          <country country="BE">Belgium</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2008</year>
      </pub-date>
      <fpage>38</fpage>
      <lpage>43</lpage>
      <abstract>
        <p>As web user interfaces become more sophisticated both in functionalities and reactivity, the dialog of such user interfaces is highly interactive and therefore raises the need for abstracting these capabilities into an advanced dialog model that enables modeling such dialogs. To address this need, multi-level dialog modeling enables designers to model a dialog at two inter-related levels of abstraction (i.e., concrete and abstract dialog) and at five levels of granularity: object-level (dialog at the level of a particular objects such as a widget), low-level container (dialog at the last level of decomposition of user interface containers, such as a group box), intermediary-level container (dialog at any non-terminal level of decomposition such as a dialog box or a web page), within-application level (dialog at the level of an interactive application), and across applications-level (dialog across user interfaces of different interactive applications).</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>
        Among all models involved in Model-Driven
Engineering (MDE) of User Interfaces (UIs) of any interactive
application in general or for a web application in particular,
the dialog model is probably one of the most challenging
remaining problems due to several reasons:
 Lack of ontological definition [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]: different terms, e.g.,
dialog, navigation, behavior, dynamics, conversation,
the “feel”, are inconsistently used to refer to the
dynamic aspects of a UI, as opposed to the presentation,
which refers to as the static aspects of a UI, e.g., its
layout. In this paper, we define a dialog model as the
model that captures all dynamic aspects of a UI
behavior. This therefore includes dynamics at any level of any
object that may appear in a UI. This definition will lead
us to define five particular levels.
 Lack of precise abstraction [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]: in principle, MDE
suggests three levels of abstraction (i.e., computing
independent model, platform-independent model, and
platform-specific model). These three levels are rarely
observed in the area of dialog modeling where the
platform-specific level remains predominant.
 Lack of continuity [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]: when two levels of abstractions
are covered, it is not always obvious to see how
modelto-model mappings (whether it is achieved through
transformations or not) are ensured to establish and
maintain continuity between them.
 Lack of expressiveness [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ]: the demand for more
sophisticated dialogs stems for a dialog model that is
capable enough to accommodate the description of desired
dynamic aspects, such as animations, transitions, the
two traditional forms of adaptation (i.e., adaptability and
adaptivity). A modern dialog model should be
expressive enough to model dynamic aspects.
 Risk for modeling complexity: it is likely that a more
expressive model tend to be more complex to define and
therefore to use in general.
      </p>
      <p>In this paper, we attempt to address the problem of
dialog modeling in a comprehensive way in order to address
the aforementioned shortcomings. For this purpose,
Section 2 will report on significant work related to the area of
dialog modeling. Section 3 will define the semantics of
a dialog model respectively at the platform-specific level
(concrete UI) and at the platform-independent level
(abstract UI) with a derivation from a computing-independent
model (task model). Section 3 will then define five levels
of granularity. Section 4 will conclude the paper by
presenting some future avenues of this work.</p>
    </sec>
    <sec id="sec-2">
      <title>2. Related Work</title>
      <p>
        Dialog models enable to reason about the UI behavior.
Consequently, dialog models are often considered as
a continuation of task model concepts. This explains why
the task model has been extensively used to derive a
dialog model, for instance, in an algorithmic way [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ] or in
a logical way supported by model-to-model
transformations [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] and graph grammars [
        <xref ref-type="bibr" rid="ref12 ref7">7,12</xref>
        ]. We hereafter give
a brief survey of dialog modeling methods that percolated
into the field of Human-Computer Interaction (HCI)
development methods [
        <xref ref-type="bibr" rid="ref16 ref3 ref8 ref9">3, 8, 9, 16</xref>
        ]:
 Backus-Naur Form (BNF) grammars: they are typically
used to specify command languages [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]. Command
languages express commands that modify the state of the
UI on the user’s initiative. Grammars are particularly
good in detecting inconsistencies within command sets.
An inconsistent UI may contain unordered or
unpredictable interaction. Inconsistency renders the UI error
prone and hard to learn. Grammars are both efficient
and effective for expressing sequential commands or
users actions in general, but become complex for
multimodality.
 State transition diagram are a finite state machine
representation that consists in a graph of nodes linked by
edges [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ]. Each node represents a particular state of the
system. Each edge species the input (i.e., event)
required to go from one state to another. State transition
diagrams have been subject to several extensions [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ]
and specializations, like Statecharts [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] that provide a
mean for specifying the dynamic behavior of the
interface. State transition diagrams present several
drawbacks for modeling the UI. Indeed, today's UI tend to be
modeless where one state can lead to many states.
Furthermore this can be done using many different widgets
of the UI. Theses two requirements match the quality
criteria of reachability and device multiplicity. In
consequence, state transition diagrams are prone to a
combinatorial explosion and tend to replace nodes by
screen prints. In [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ], the transition space is restricted to
events and transitions that are triggered by window
managers in graphical state transition diagrams, thus
supporting only simple windows transitions [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ]. Many
other forms of dedicated state transition diagrams have
been extensively used for dialog modeling without
identifying which one is superior to another one with
respect to various criteria: dialog charts [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], dialog
flows [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], interaction object graph [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], Abstract Data
Views [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], dialogue nets [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ].
 Statecharts: similarly to state transition diagrams, they
are supported by a graphical representation of dynamic
aspects of systems [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]. Some work especially address
the modeling of UI behavior with statecharts [
        <xref ref-type="bibr" rid="ref18 ref22">18, 22</xref>
        ].
Statecharts represent state variables with rounded
rectangles called states. State changing mechanisms are
represented with edges between states. State changing is
triggered by events and can be further conditioned.
Statecharts facilitate the representation of state nesting,
state history, concurrency and external interrupts.
Statecharts [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] propose solutions to the shortcomings of
state transition diagrams: statecharts have
representational capacities for modularity and abstraction. The
number of states with respect to the complexity of the
modeled system increases slower with statecharts than
with state transition diagrams. Statecharts avoid the
problem of duplicating states and transitions. States in
statecharts are hierarchical and capable of representing
different levels of abstraction. Statechart are more
convenient for multimodal interfaces as they provide
nesting facilities, external interrupt specification and
concurrency representation. Statecharts have been also
specialized for specifying the dialog of web interfaces
through StateWebCharts, that can be edited via
a SWCEditor [
        <xref ref-type="bibr" rid="ref22">22</xref>
        ].
 And-Or graphs: borrowed from Artificial Intelligence,
AND-OR graphs have been used to branch to various
sub-dialogs depending on conditions, for instance in [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ].
And-or graphs have been expanded towards function
chaining graphs [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] by combining them with data flow
diagrams [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ].
 Event-Response Languages: they treat input stream as
a set of events [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]. Events are addressed to event
handlers. Each handler responds to a specific type of event
when activated. This type is specified in a condition
clause. The body of the event generates another event,
changes internal state of the system or calls an
application procedure. Several formalisms are suited for
eventresponse specification. They can be distinguished
following their capacity in managing dialog state variables
and concurrency control. Production rules and
pushdown automata [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ] are often used to describe
eventresponse specifications.
 Petri Nets are a graphical formalism associated with
a formal notation. Petri nets are best suited to represent
concurrency aspects in software systems. Petri nets
represent systems with state variables called places
(depicted as ellipses), and state-changing operators called
transitions (depicted as rectangles. Connections between
places and transitions are called arcs (represented by
edges). State marking mechanism called tokens
(represented by black solid circles distributed around places).
State change is the consequence of a mechanism called
firing. A transition is red when all of its input places
contain tokens. Firing involves the redistribution of
tokens in the net i.e., input tokens are withdrawn from
input places and output tokens are added in output places.
Like State Charts, Petri nets hold mechanisms to
represent additional conditions and nested states. Petri nets
have the advantage of being entirely formal [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. Thus,
model checking of interest properties of the dialog
model could be applied [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ].
      </p>
      <p>Fig. 1 graphically depicts some of these dialog models
in families of models. Each family exhibits a certain
degree of model expressiveness (i.e., the capability of the
model to express advanced enough dialogs), but at the
price of a certain model complexity (i.e., the easiness with
which the dialog could be modeled in terms specified by
the meta-model). At the leftmost part of Fig. 1 are located
BNF and EBNF grammars since they are probably the
least expressive dialog models ever, but they do not
support many dialog aspects. They we can find respectively
State Transitions Networks and their derivatives, then
Event-Response Systems. Petri nets are probably the most
expressive models that can be used to model dialogs, but
they are also the most complex to achieve. Therefore, we
believe that we could be less expressive and complex than
Petri nets if Event-Condition-Action systems are
considered.</p>
      <p>Model
complexity</p>
      <p>State charts,
StateWebCharts,</p>
      <p>ADV</p>
      <p>ECA
DISL</p>
      <p>Petri nets</p>
      <p>ICO
Our dialog model</p>
      <p>BNF,
EBNF,…</p>
      <p>STN,
ESTN,…</p>
      <p>ERS</p>
      <p>Model expressiveness</p>
    </sec>
    <sec id="sec-3">
      <title>3. Semantics of Dialog Modeling</title>
      <p>In this section, we present the most salient aspects of
the two levels of dialog modeling with respect to the Final
User Interface (FUI). A FUI is hereby referred to as any
UI running on any computing platform with any
interaction modality (e.g., graphical, vocal, tactile, haptic or
multimodal), whether it is rendered by markup language
interpretation or by code generation.</p>
      <sec id="sec-3-1">
        <title>3.1. Concrete User Interface</title>
        <p>A Concrete User Interface (CUI) is defined as the
abstraction of any Final User Interface (FUI) with respect to
computing platforms, but with the interaction modality
given. According to MDE, it is a platform-specific model
(PSM). A CUI is made up of Concrete Interaction Objects
(CIO), which are abstractions of widgets found in those
platforms. Any CIO may be associated with any number
of behaviors (Fig. 2). A behavior is the description of
a Event-Condition-Action (ECA) mechanism that results
in a system state change. The specification of a behavior
may be decomposed into three types of elements: an
event, a condition, and an action. An event is a description
of a run-time occurrence that triggers an action. The
general format of a ECA rule is: (ON Event, IF Condition,
THEN Action). The Event specifies when the rule should
be fired, the Condition specifies the logical condition when
it should be fired and the Action determines what methods
should be executed for this purpose. Some canonical
events are described in Table 1. They consist of any
system event (i.e., issued from a process belonging to the
domain), user interface event (i.e., issued in the context of
the user interface). For instance movePointer([X], [device])
refers to an event that consists in moving a pointer in the
context of a CIO [X]. Events cannot make any reference to
coordinates. The concept of context of an object
(identified by its id) is used to reference a display area where
a particular object is rendered. Note that, the negative
expression of an object context is also allowed.</p>
        <p>For instance, depress(NOT[X]), [device]) refers to a
depress event (e.g., a mouse down) outside the context of
[X]. [X] is unimportant in the realization of an event in
such a case a value null is referenced. The [device]
parameter makes reference to the device from which the
event is generated. Each device or device part, is
referenced in a device model (not in the scope of this
dissertation) with a unique identifier.</p>
        <p>graphicalContainer
textComponent
Slider
Spin</p>
      </sec>
      <sec id="sec-3-2">
        <title>CIO Events</title>
        <p>System event ellapsedTime(n), systemEvent(eventName)</p>
      </sec>
      <sec id="sec-3-3">
        <title>Graphical User Interface Events</title>
        <p>All graphical movePointer(X,device),
CIOs pointerOver(X,device), moveOutPointer (X,
device), click (X,device), doubleClick (X,
device), depress(X,device), release (X,
device), dragOver(X,Y,device),
dragDrop(X,Y, device), hasFocus(X),
lostFocus(X).
resize(xFactor,yFactor)
Change
move(cursor,x)
spinUp, spinDown</p>
        <p>
          Events can be composed into more complex event
expressions using a subset of the LOTOS operators as used
in IdealXML [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ]. “|||” indicates a concurrence of events
(to be interpreted as a disjunction). “&gt;&gt;” indicates a strict
sequence of events. “|=|” indicates an order independent
sequence of events. “(n)” indicates a finite iteration of
events where n is an integer indicating the iteration factor.
For instance, click (Button1, Mouse1LeftBut) |=| depress
(null, KeyBrd_Z) is an event that is an order independent
composition of a mouse click on a button and a keyboard
depress. A condition is the expression of a state that has to
hold true before (pre-condition) or after (post-condition)
an action is performed. A condition may be positive or
negative.
        </p>
        <p>We express condition as patterns (i.e., a partial
description of a state) on the user interface specification itself.
Conditions may be composed using traditional logical
operator. “AND”, “OR”, “XOR” indicate respectively a
conjunction, a disjunction, an exclusive disjunction of
conditions. “IMPLIES” indicates an implication between two
conditions. An action is a process that results in a state
change in the system. An action can be of three types:
1. A method call is a call to a method that is external to the
UI. If a domain model exists, all method calls must
reference a method belonging to this model. A method call
is normally specified with the name of the method
(under the form Class.methodName), but other
referencing techniques are not forbidden. The method call
parameters can be specified by making a reference to the
value of a property of an object belonging to the CUI.
2. A transformation system is the expression of any
property change at the UI level [25]. We use a mechanism to
specify property changes on the UI. To avoid too much
forward reference, it can be said that a transformation
system can be explained as follows: when a pattern is
found in CUI specification, changes should occur on the
elements matching the pattern. A transformation system
might be, for instance, “when a green button is found in
the specification, change the color property of this
button to red” or “For all text components belonging to the
main window, double their font size”.
3. A transition, also called navigation, is a description of
a change in the container’s visibility property of a user
interface system. A transition has a source (a navigation
individual component) and a target (generally a
container).</p>
      </sec>
      <sec id="sec-3-4">
        <title>3.2. Abstract User Interface</title>
        <p>An Abstract User Interface (AUI) is defined as the
abstraction of any CUI with respect to interaction modality.
According to MDE, it is a platform-independent model
(PIM). An AUI is made up of Abstract Interaction Objects
(AIOs), which are abstractions of CIOs found in existing
interaction modalities, and linked through abstract
relationships (Fig. 3). Therefore, an AUI only specifies
interaction between a user and a system in totally independent
terms. Only later on, once the interaction modalities are
selected and once the target computing platform is
elicited, this AUI will be turned into CIOs and final widgets,
respectively. Abstract Interaction Object (AIO) may be of
two types Abstract Individual Components (AIC) and
Abstract Containers (AC). An Abstract Individual
Component (AIC) is an abstraction that allows the description of
interaction objects in a way that is independent of the
modality in which it will be rendered in the physical world.
An AIC may be composed of multiple facets. Each facet
describes a particular function an AIC may endorse in the
physical world. Four main facets are identified:</p>
        <p>An input facet describes the input action supported by
an AIC.</p>
        <p>An output facet describes what data may be presented
to the user by an AIC.</p>
        <p>A navigation facet describes the possible container
transition a particular AIC may enable.</p>
        <p>A control facet describes the links between an AIC
and system functions i.e., methods from the domain
model when existing.</p>
        <p>A single AIC may assume several facets at the same
time. The AIO that reifies this multi-facetted AIO will
assume all those ‘functionalities’. For instance, a CIO may
display an output while accepting an input from a user,
ensure a transition between windows and trigger a method
defined in the domain model. An Abstract Container (AC)
is an entity allowing a logical grouping of other abstract
containers or abstract individual components. AC are said
to support the execution of a set of logically/semantically
connected tasks. They are called presentation units in
some cases or work spaces. An AC may be reified, at the
concrete level, into one or more graphical containers like
windows, dialog boxes, layout boxes or time slots in the
case of auditory user interfaces. Abstract User Interface
Relationships (AUI relationship) are relationships that can
be drawn between abstract interaction objects of all kinds.
Various types of abstract relationships may be defined at
this level:
 Decomposition relationship allows specifying a
hierarchical structure of abstract containers and abstract
individual components.
 AbstractAdjacency relationship indicates that two AIO
are logically adjacent.
 Spatio-temporal relationship allows a specification of
a very precise layout in time or space in a way that is
independent of any modality.
 Dialog control relationship allows a specification of
a flow of control between the abstract interaction
objects. Like for task models, LOTOS operators are used
for this purpose. For instance a relationship
AIC1.EnterCountry []&gt; AIC2.EnterPro vince indicates
that AIC2 cannot be initiated while AIC1 is not
achieved and that AIC1 has provided a value for the
data on which the two components synchronize with.
Like for tasks, an interpretation for each type of
LOTOS operator may be provided in terms of
pre/postconditions, termination, initiation states.</p>
      </sec>
      <sec id="sec-3-5">
        <title>3.3. Five Levels of Dialog Granularity</title>
        <p>Based on AUI and CUI, five levels of dialog
granularity can be identified and specified:
1. Object-level dialog modeling: this level models the
dialog at the level of any particular object, such as</p>
        <p>a CIO or a AIO. In most cases, UI toolkits and
Integrated Development Environments (IDEs) come up
with their own widget set with built-in, predefined
dialog. For instance, a push button comes up with its
native dialog (or behavior) that can be only modified
by overwriting the methods that define its behavior.
Most IDEs do not allow such a superseding, only
toolkits allow the developer to redefine an entirely
new dialog for a particular widget, but this
programming is very complex.</p>
        <p>Low-level container dialog modeling: This level
models the dialog at the level of any container of other
objects that is a leaf node in the decomposition.
Typically, this could be a terminal AC at the AUI level or
a group box at the CUI level in case of a graphical
interaction modality. If the UI is vocal, then an auditory
display should be implemented that marks the
boundaries of this vocal group. For instance, by
pronouncing the beginning and the end of the group.
Intermediary-level container dialog modeling: this
level models the dialog at the level of any
nonterminal container of objects, that is any container
that is not a leaf node in the container decomposition.
For any graphical UI, this could be a window, a
dialog box, or the various tabs of a tabbed dialog box.
This level models the dialog at the level of top
containers within a same interactive application such as
a web application or a web site. It thus regulates the
navigation between the various containers of a same
application.</p>
        <p>
          Within-application dialog modeling: This level
models the dialog at the level of top containers within
a same interactive application such as a web
application or a web site. It therefore regulates the navigation
between the various containers of a same application.
For instance, SketchiXML [
          <xref ref-type="bibr" rid="ref20">20</xref>
          ] allows the designer to
graphically specify within-application dialog by
affecting predefined ECA rules between web pages.
Each such ECA rule represents a dialog pattern, such
as Open-Close, Activate-deactivate. For instance, the
Open-Close pattern means that when a web page is
closed, the next page in the transition is opened.
Across-application dialog modeling: Since the action
term of a ECA rule could be either a method call or an
application execution, it is possible to specify a dialog
across several applications by calling an external
program. Once the external program has been launched,
the dialog that is internal to this program
(withinapplication dialog) can take place.
        </p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>4. Conclusion</title>
      <p>
        In this paper, we have introduced a definition of a
dialog model at both concrete and abstract UI levels, which
represent respectively the PSM and PIM levels in MDE.
For both, ECA rules are used to specify the dialog at five
different levels of granularity. Five levels of granularity of
this dialog model have been introduced. A dialog at any
level of granularity can be equally modeled in the terms of
an ECA system that consist of ECA rules. Depending on
the UI level of abstraction (AUI or CUI), the events, the
conditions, and the actions are different: the AUI events
represent abstractions of CUI events, AUI actions
represent abstractions of CUI actions, etc. For a mono-device
dialog or for a multi-device dialog but with the same
interaction modality (like in [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]), the CUI level is enough.
For more interaction modalities, the AUI level should be
specified with an explicit mapping between the levels
using the same support as specified in [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ].
      </p>
      <p>
        In the near future, we are pursuing effort towards
specifying the dialog at multiple levels, separately or
simultaneously in a coordinated way. For this purpose, the
cascading style sheet mechanism of XML has been
applied to the corresponding UsiXML models so as to form
a cascading dialog modeling [
        <xref ref-type="bibr" rid="ref23">23</xref>
        ]. In this way, it is
expected that high level properties and values are
progressively propagated from one level to another while
preserving quality properties, such as consistency.
5. References
      </p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>G.</given-names>
            <surname>Ariav and L.-J. Calloway</surname>
          </string-name>
          ,
          <article-title>Designing conceptual models of dialog: A case for dialog charts</article-title>
          ,
          <source>SIGCHI Bulletin</source>
          ,
          <volume>20</volume>
          (
          <issue>2</issue>
          ),
          <year>1988</year>
          , pp.
          <fpage>23</fpage>
          -
          <lpage>27</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>R.</given-names>
            <surname>Bastide</surname>
          </string-name>
          and
          <string-name>
            <given-names>P.</given-names>
            <surname>Palanque</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A</given-names>
            <surname>Visual</surname>
          </string-name>
          and
          <article-title>Formal Glue Between Application and Interaction</article-title>
          ,
          <source>J. of Visual Language and Computing</source>
          ,
          <volume>10</volume>
          (
          <issue>5</issue>
          ),
          <year>1999</year>
          , pp.
          <fpage>481</fpage>
          -
          <lpage>507</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>F.</given-names>
            <surname>Bodart</surname>
          </string-name>
          ,
          <string-name>
            <surname>A.-M. Hennebert</surname>
          </string-name>
          ,
          <string-name>
            <surname>J.-M. Leheureux</surname>
            ,
            <given-names>I. Provot</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Vanderdonckt</surname>
          </string-name>
          , and G. Zucchinetti,
          <article-title>Key Activities for a Development Methodology of Interactive Applications, Chapter 7</article-title>
          , in Benyon, D.,
          <string-name>
            <surname>Palanque</surname>
          </string-name>
          , Ph. (Eds.), “
          <article-title>Critical Issues in User Interface Systems Engineering</article-title>
          ”, Springer-Verlag, Berlin,
          <year>1995</year>
          , pp.
          <fpage>109</fpage>
          -
          <lpage>134</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>M.</given-names>
            <surname>Book</surname>
          </string-name>
          and
          <string-name>
            <given-names>V.</given-names>
            <surname>Gruhn</surname>
          </string-name>
          ,
          <article-title>Efficient Modeling of Hierarchical Dialog Flows for Multi-Channel Web Applications</article-title>
          ,
          <source>Proc. of 30th COMPSAC'2006</source>
          (Chicago,
          <fpage>17</fpage>
          -
          <issue>21</issue>
          <year>September 2006</year>
          ), IEEE Computer Society, Los Alamitos,
          <year>2008</year>
          , pp.
          <fpage>161</fpage>
          -
          <lpage>168</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>D.A.</given-names>
            <surname>Carr</surname>
          </string-name>
          ,
          <article-title>Specification of interface interaction objects</article-title>
          ,
          <source>Proc. of ACM CHI'94 (Boston</source>
          ,
          <fpage>24</fpage>
          -
          <lpage>28</lpage>
          April
          <year>1994</year>
          ), ACM Press, New York,
          <year>1994</year>
          , pp.
          <fpage>372</fpage>
          -
          <lpage>378</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>D.</given-names>
            <surname>Cowan</surname>
          </string-name>
          and
          <string-name>
            <surname>C. Pereira de Lucena</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <article-title>Abstract Data Views: An Interface Specification Concept to Enhance Design for Reuse</article-title>
          ,
          <source>IEEE Transactions on Software Engineering</source>
          ,
          <volume>21</volume>
          (
          <issue>3</issue>
          ),
          <year>1995</year>
          , pp.
          <fpage>229</fpage>
          -
          <lpage>243</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>M.</given-names>
            <surname>Goedicke</surname>
          </string-name>
          and
          <string-name>
            <given-names>B.E.</given-names>
            <surname>Sucrow</surname>
          </string-name>
          ,
          <article-title>Towards a formal specification method for graphical user interfaces using modularized graph grammars</article-title>
          ,
          <source>Proc. of IWSSD'96</source>
          (Washington, DC,
          <year>1996</year>
          ), IEEE, Los Alamitos,
          <year>1996</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>J.</given-names>
            <surname>Gomez</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Cachero</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O.</given-names>
            <surname>Pastor</surname>
          </string-name>
          ,
          <article-title>Conceptual Modeling of Device-Independent Web Applications</article-title>
          , IEEE Multimedia,
          <volume>8</volume>
          (
          <issue>2</issue>
          ),
          <year>2001</year>
          , pp.
          <fpage>26</fpage>
          -
          <lpage>39</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>M.</given-names>
            <surname>Green</surname>
          </string-name>
          ,
          <article-title>A survey of three dialogue models</article-title>
          .
          <source>ACM Transactions on Graphics</source>
          ,
          <volume>5</volume>
          (
          <issue>3</issue>
          ),
          <year>July 1986</year>
          , pp.
          <fpage>244</fpage>
          -
          <lpage>275</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>D.</given-names>
            <surname>Harel</surname>
          </string-name>
          ,
          <article-title>Statecharts: A visual formalism for complex systems</article-title>
          ,
          <source>Science of Comp. Prog., 8</source>
          ,
          <year>1987</year>
          , pp.
          <fpage>231</fpage>
          -
          <lpage>274</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>C.</given-names>
            <surname>Janssen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Weisbecker</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J.</given-names>
            <surname>Ziegler</surname>
          </string-name>
          ,
          <article-title>Generating user interfaces from data models and dialogue net specifications</article-title>
          ,
          <source>Proc. of InterCHI'93 (Amsterdam</source>
          ,
          <fpage>24</fpage>
          -
          <lpage>29</lpage>
          April
          <year>1993</year>
          ), ACM Press, New York,
          <year>1993</year>
          , pp.
          <fpage>418</fpage>
          -
          <lpage>423</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>Q.</given-names>
            <surname>Limbourg</surname>
          </string-name>
          and
          <string-name>
            <given-names>J.</given-names>
            <surname>Vanderdonckt</surname>
          </string-name>
          ,
          <article-title>Addressing the Mapping Problem in User Interface Design with UsiXML</article-title>
          ,
          <source>Proc. of TAMODIA'2004 (Prague, November 15-16</source>
          ,
          <year>2004</year>
          ), ACM Press, NY,
          <year>2004</year>
          , pp.
          <fpage>155</fpage>
          -
          <lpage>163</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>K.</given-names>
            <surname>Luyten</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Clerckx</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Coninx</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J.</given-names>
            <surname>Vanderdonckt</surname>
          </string-name>
          ,
          <article-title>Derivation of a Dialog Model from a Task Model by Activity Chain Extraction</article-title>
          ,
          <source>Proc. of DSV-IS'2003 (Madeira</source>
          ,
          <fpage>4</fpage>
          -
          <lpage>6</lpage>
          June 2003),
          <source>Lecture Notes in Computer Science</source>
          , Vol.
          <volume>2844</volume>
          , Springer, Berlin,
          <year>2003</year>
          , pp.
          <fpage>203</fpage>
          -
          <lpage>217</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>E.</given-names>
            <surname>Mbaki</surname>
          </string-name>
          and
          <string-name>
            <given-names>J.</given-names>
            <surname>Vanderdonckt</surname>
          </string-name>
          , Window Transitions:
          <article-title>A Graphical Notation for Specifying Mid-level Dialogue</article-title>
          ,
          <source>Proc. of TAMODIA'2002</source>
          (Bucharest,
          <fpage>18</fpage>
          -
          <issue>19</issue>
          <year>July 2002</year>
          ),
          <source>Academy of Economic Studies of Bucharest</source>
          , INFOREC Printing House, Bucharest,
          <year>2002</year>
          , pp.
          <fpage>55</fpage>
          -
          <lpage>63</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>F.</given-names>
            <surname>Montero</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>López-Jaquero</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Vanderdonckt</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Gonzalez</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.D.</given-names>
            <surname>Lozano</surname>
          </string-name>
          , and
          <string-name>
            <given-names>Q.</given-names>
            <surname>Limbourg</surname>
          </string-name>
          ,
          <article-title>Solving the Mapping Problem in User Interface Design by Seamless Integration in IdealXML</article-title>
          ,
          <source>Proc. of DSV-IS'2005 (Newcastle upon Tyne</source>
          ,
          <volume>13</volume>
          -
          <issue>15</issue>
          <year>July 2005</year>
          ),
          <string-name>
            <given-names>S.W.</given-names>
            <surname>Gilroy</surname>
          </string-name>
          , M.D. Harrison (eds.),
          <source>Lecture Notes in Computer Science</source>
          , Vol.
          <volume>3941</volume>
          ,
          <issue>SpringerVerlag</issue>
          , Berlin,
          <year>2005</year>
          , pp.
          <fpage>161</fpage>
          -
          <lpage>172</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>D.</given-names>
            <surname>Olsen</surname>
          </string-name>
          ,
          <article-title>Pushdown automata for user interface management</article-title>
          ,
          <source>ACM Transactions on Graphics</source>
          ,
          <volume>3</volume>
          (
          <issue>3</issue>
          ),
          <year>1984</year>
          , pp.
          <fpage>177</fpage>
          -
          <lpage>203</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>P.</given-names>
            <surname>Palanque</surname>
          </string-name>
          and
          <string-name>
            <given-names>R.</given-names>
            <surname>Bastide</surname>
          </string-name>
          ,
          <article-title>Petri net based design of userdriven interfaces using interactive cooperative object formalism</article-title>
          ,
          <source>Proc. of DSV-IS'94 (Bocca di Magra</source>
          ,
          <year>June 1994</year>
          ), Springer Verlag, Vienna,
          <year>1994</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <surname>State</surname>
            <given-names>Chart XML</given-names>
          </string-name>
          (
          <article-title>SCXML): State Machine Notation for Control Abstraction</article-title>
          .
          <source>W3C Working Draft, 21 February</source>
          <year>2007</year>
          , http://www.w3.org/TR/scxml/
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <given-names>J.</given-names>
            <surname>Vanderdonckt</surname>
          </string-name>
          , J.-Cl.
          <article-title>Tarby, and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Derycke</surname>
          </string-name>
          ,
          <article-title>Using Data Flow Diagrams for Supporting Task Models</article-title>
          ,
          <source>Supplementary Proc. of DSV-IS'98 (Abingdon</source>
          ,
          <fpage>3</fpage>
          -
          <lpage>5</lpage>
          June 1998), Eurographics Assoc.,
          <string-name>
            <surname>Aire-</surname>
          </string-name>
          la-Ville, pp.
          <fpage>1</fpage>
          -
          <lpage>16</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <given-names>J.</given-names>
            <surname>Vanderdonckt</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Q.</given-names>
            <surname>Limbourg</surname>
          </string-name>
          ,
          <string-name>
            <surname>M.</surname>
          </string-name>
          <article-title>Florins, Deriving the Navigational Structure of a User Interface</article-title>
          ,
          <source>Proc. of Interact'2003 (Zurich, 1-5 September</source>
          <year>2003</year>
          ), IOS Press, Amsterdam,
          <year>2003</year>
          , pp.
          <fpage>455</fpage>
          -
          <lpage>462</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <string-name>
            <given-names>A.</given-names>
            <surname>Wasserman</surname>
          </string-name>
          ,
          <article-title>Extending State Transition Diagrams for the Specification of Human-Computer Interaction</article-title>
          ,
          <source>IEEE Trans. on Soft. Engineering</source>
          ,
          <volume>11</volume>
          (
          <issue>8</issue>
          ),
          <year>1985</year>
          , pp.
          <fpage>699</fpage>
          -
          <lpage>713</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [22]
          <string-name>
            <given-names>M.</given-names>
            <surname>Winckler</surname>
          </string-name>
          and
          <string-name>
            <given-names>P.</given-names>
            <surname>Palanque. StateWebCharts</surname>
          </string-name>
          :
          <article-title>A formal description technique dedicated to navigation modelling of web applications</article-title>
          .
          <source>Proc. of DSV-IS'2003 (Madeira</source>
          ,
          <fpage>4</fpage>
          -
          <lpage>6</lpage>
          June 2003),
          <source>Lecture Notes in Computer Science</source>
          , Vol.
          <volume>2844</volume>
          , Springer, Berlin,
          <year>2003</year>
          , pp.
          <fpage>61</fpage>
          -
          <lpage>76</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          [23]
          <string-name>
            <given-names>M.</given-names>
            <surname>Winckler</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Trindade</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Vanderdonckt</surname>
          </string-name>
          ,
          <article-title>Cascading Dialog Modeling with UsiXML</article-title>
          ,
          <source>Proc. of DSV-IS'2008 (Kingston, July 16-18</source>
          ,
          <year>2008</year>
          ),
          <source>Lecture Notes in Computer Science</source>
          , Vol.
          <volume>5136</volume>
          , Springer, Berlin,
          <year>2008</year>
          , pp.
          <fpage>12</fpage>
          -
          <lpage>135</lpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>