<!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>A global process for using model-driven approaches in user interface design</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Sybille Caffiau</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Futuroscop Chasseneuil Cédex - France</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>caffiaus</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>girard}@ensma.fr</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>ACM Classification Keywords H5.2 [Information Interfaces and Presentation]: User Interfaces, User-centered design; H.1.2 [Models and Principles]: User/Machine Systems</institution>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Author Keywords Task Model</institution>
          ,
          <addr-line>Dialogue Model, Metamodel, Design Method, Model-Driven Approach</addr-line>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>Windows, Icons, Menus and Pointers Pre-proceedings of the 5th International Workshop on Model Driven Development of Advanced User Interfaces (MDDAUI 2010): Bridging between User Experience and UI Engineering, organized at the 28th ACM Conference on Human Factors in Computing Systems (CHI 2010)</institution>
          ,
          <addr-line>Atlanta, Georgia</addr-line>
          ,
          <country country="US">USA</country>
        </aff>
      </contrib-group>
      <fpage>33</fpage>
      <lpage>36</lpage>
      <abstract>
        <p>In user interface design, model-driven approaches usually use a generative solution, which has obvious limitations, especially for advanced user interfaces. Based on strong associations between task models and dialogue models, we propose a global process, which facilitates the design of interactive applications conform to their models, with the including of a rule-checking step. This process permits either to start from a task model or a user-defined prototype. In any case, it allows an iterative development, in line with user-centered design standards.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        INTRODUCTION
Model-driven approaches have been promoted for years.
Despite their great interest, they remain hard to use in the
context of user-centered design, especially when novel
interaction techniques are expected. Thus, several
research works [
        <xref ref-type="bibr" rid="ref1 ref2 ref3">1-3</xref>
        ] used a generative approach to build
user interfaces – mainly skeletons to be completed – from
task models. Following the analysis we made in [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], we
can argue that this approach has several limitations:
• Generating requires the addition of information in order
to reach an operative stage of interfaces. This
information can be added to high-level models, which
then loose their original goal; so doing they become
hard to understand and to use, because of their multiple
semantics (for example, adding presentation
information to task models results in adding new
semantics to this model). The other way is to insert this
information during the generating process. This second
approach is for example used in TERESA [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] by the
way of heuristics, which are applied during the process.
This however results in a lack of understanding of such
transformations by users.
• All considered research issues are concerned with
classical WIMP1 applications. The hierarchical
structure of task models is used to build the interface
navigation scheme. We demonstrated in [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] that
introducing non menu-based interactions implies a
nonautomatic transformation of the dialogue.
• Generating is not easy to include in iterative design
cycles such as HCI-adapted cycles. When changes are
required, it is necessary to modify the high-level
models, and to generate again a new skeleton, to be
improved again by hand-made add-ons. Some results
have been obtained around the definition of “round-trip
engineering” [
        <xref ref-type="bibr" rid="ref6 ref7">6, 7</xref>
        ], but were not applied to HCI. More,
this approach prevents the designers from starting from
the prototype, which method is often used in
postWIMP design.
      </p>
      <p>Our aim is to introduce a new way to use models in user
interface design. Leaning on meta-models of one task
model and one dialogue model, we wrote equivalence
rules between such models. Then, we defined a new
development cycle that can be used in a user-centered
iterative approach.</p>
      <p>In this paper, the context of the used models is first
described. Then, an example of the meta-models is given,
and equivalence rules are presented. In the third part, the
proposed way to use these models in a development cycle
is outlined.</p>
      <p>
        CONTEXT OF THE STUDY: THE MODELS
The starting point of our work is the analysis from [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ].
Whilst the generation appears to be too limitative, links
between task models and user interfaces seem obvious.
So, we decided to explore the possibility to establish
strong links between task model and other models, and to
consider exploiting said links in software design methods.
For some reasons, which are external to our subject here,
we chose the K-MAD model [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] as our task model.
In our laboratory, we have been working for some time on
dialogue models and formal approaches in HCI. We
introduced a software architecture model, H4, which was
first dedicated to computer-aided systems. Coupled with
that architectural model, we proposed a dialogue model,
the hierarchical interactors [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ], and developed tools to
apply it [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]. Because of its hierarchical structure, the
Hierarchical Interactor (HI) model appeared as
the most suitable for our purpose. A previous
study demonstrated the capacity to exploit these
two models (K-MAD and HI) in HCI design
[
        <xref ref-type="bibr" rid="ref11">11</xref>
        ].
      </p>
      <p>
        Then, we defined the meta-model of these two
models, which is published in [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]. We chose to
use the EXPRESS language, an alternative to the
OMG approach for meta-modeling. EXPRESS is
a standard data modeling language for product
data. It is formalized in the ISO Standard for the
Exchange of Product model STEP (ISO 10303),
and standardized as ISO 10303-112. It is
supported by complete verification tools, and
allows a full expression of constraints [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ].
      </p>
      <p>PRINCIPLES
In this section, we give a short description of the
K-MAD and HI models, and provide some
examples of the meta-models.</p>
      <p>The K-MAD model
The K-MAD model is a hierarchical model
where tasks are decomposed in sub-tasks, with
temporal operators describing the dynamics of the model.
The description can be enhanced by the definition of
objects and expressions (preconditions, post-conditions,
and actions) to control the model dynamics more
precisely. The semantics of these different elements is
defined in details.</p>
      <p>Figure 1 illustrates a sample of the EXPRESS definition
of the central element of the model, the task.</p>
      <p>The Hierarchical Interactor (HI) model
The HI model consists in a state machine model where the
dialogue of the application is split into independent
automata. Transitions are activated by tokens that
represent user inputs or automaton productions.
The hierarchical organization of the model allows the
automata to produce and consume tokens. The main
advantages of this system are two-fold:
• Automata are independent from each other. They can be
removed or added independently, without any change to
others.
• Tokens are the key elements of the model. As they can
refer to both user entries and automaton productions,
they break the binding between user inputs and
2
http://www.tc184-sc4.org/
transitions. This allows to consider the dialogue at the
level of abstract level one wants. This is particularly
important when post-WIMP interaction techniques are
used.
Such as in advanced state machines, transitions may be
guarded by expressions, which involve variables. They
also can trigger actions. Figure 2 (next page) illustrates a
transition meta-model.</p>
      <p>Associations between models
The general philosophy of our approach is to take
advantage of the hierarchical nature of the two models to
establish strong associations between them.</p>
      <p>
        The task/transition association
The first obvious association can be made between tasks
from the task model and transitions from the dialogue
model. This link has been largely used in the previous
research works, but for us, the link is not a bijective link:
because of the need for interaction facilities in
applications, there can be more transitions than user tasks.
The compound-task/automaton association
The structure of the dialogue model encourages
considering each task decomposition as equivalent to a
specific automaton. The structure of the automaton must
then be compatible with the dynamics described through
the temporal operator of the compound task. Again, the
dialogue may be richer than the simple translation of the
temporal operator. Another consequence of this
association is the equivalence between tokens and
compound tasks: each compound task may be achieved by
the way of an automaton that produces a token that stands
for the task achievement.
dialogue, or they can be used in verification to state that
two models are compatible. In that way, our work might
be compared to [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ]. We describe in the next section the
different usages of this duality.
The object/variable and expression associations
Both task model and dialogue model use expressions,
which manipulate objects/variables. This link is patent,
but was not described in the previous works because the
used task model did not formally consider objects and
expressions.
      </p>
      <p>
        Rules between models
Two kinds of rules can be established between the models
[
        <xref ref-type="bibr" rid="ref12">12</xref>
        ], based on the previously defined associations.
The first kind of rules concerns the existence of logically
associated entities in both models. For example, are there
one token and one automaton for each compound task? Or
is there one transition in the dialogue model for each task
in the task model?
The second kind of rules relates to the semantics of the
models. Are the semantics of the expressions we can find
in each model equivalent? Is the navigation, which is
allowed by the automata, consistent with the temporal
decomposition of the tasks?
These rules can be exploited in two ways. They can be
used in initial design to generate a skeleton of the
THE GLOBAL PROCESS
In this section, we describe the global
process we propose to utilize the
modeldriven approach we describe above.
      </p>
      <p>As previously claimed in the
introduction, generating dialogue model
from task models suffers from
drawbacks; the most important of them
is related to the iterative nature of
usercentered approaches. When changes
must be made in response to new or
enhanced user needs, the generating
process must be run again, and all
handmade changes in the interface are lost.</p>
      <p>We argue that, if a generation phase
occurs, it must be restricted to a starting
point; then, the process must be able to
achieve without any further generation.</p>
      <p>The scenario schema we propose is as
follows.</p>
      <p>Assuming we are able to design, edit
and verify each of both task and
dialogue model. Each of these phases
will be called “X-editing phase”
thereafter. These phases may be realized independently
from each other. Our model-driven approach consists in
including these phases in a dynamic design process.
Optionally, one can start by a “task-editing phase”, from
which a starting skeleton for the dialogue model can be
derived (e.g. generated, but only once). Either kinds of
rules, existence rules and semantic rules, can be used to
produce this skeleton. Then, the next phase consists in
filling in the skeleton, in a “dialogue-editing phase”.
Adding specific dialogue elements, the dialogue model
can be completed.</p>
      <p>During this step, the two models can be confronted for
detecting inconsistencies. By adding specific interaction
elements to the skeleton, the designer might have changed
the semantics of the model.</p>
      <p>To reach this objective, the designer must associate the
two models: some added dialogue entities might be
related to task entities.</p>
      <p>After analysis, depending on the result, different solutions
can be applied:
• Fail. The two models do not match. Some tasks are
missing in the dialogue model. The dialogue model
must be improved to take into account the whole task
model.
• Fail. The two models do not match. The dynamics of
the two models differ. The task model and/or the
dialogue model must be modified.
• Success. The two models match. The system is now
ready to being tested by users.</p>
      <p>A user evaluation phase may result in new requirements,
which may lead us to coming back to either dialogue or
task modeling, and resuming the loop.</p>
      <p>Figure 3 is a Petri net diagram that represents the global
process. The process can start either from the
DialogEditing Phase or the Task-Editing Phase. After rule
checking, a failure results in redoing both Task and
Dialogue Editing Phases. If problems are detected with
usage or interaction during user evaluation, the process
must also be repeated.</p>
      <p>CONCLUSION
In this paper, we present a global process to use a
modeldriven approach in user interface design. This process
uses rules that allow to check the validity of task models
and dialogue models. Moreover, this process is compliant
to user-centered approaches that promote iterative design.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Mori</surname>
            , G.,
            <given-names>F.</given-names>
          </string-name>
          <string-name>
            <surname>Paternò</surname>
            , and
            <given-names>C.</given-names>
          </string-name>
          <string-name>
            <surname>Santoro</surname>
          </string-name>
          ,
          <article-title>Design and Development of Multidevice User Interfaces through Multiple Logical Descriptions</article-title>
          .
          <source>IEEE Transactions on Software Engineering</source>
          ,
          <year>2004</year>
          : p.
          <fpage>507</fpage>
          -
          <lpage>520</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Luyten</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          , et al.
          <article-title>Derivation of a Dialog Model from a Task Model by Activity Chain Extraction</article-title>
          . in DSVIS'
          <year>2003</year>
          .
          <year>2003</year>
          . Funchal, Madeira Island, Portugal: Springer-Verlag. p.
          <fpage>203</fpage>
          -
          <lpage>217</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Wolff</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          and
          <string-name>
            <given-names>P.</given-names>
            <surname>Forbrig</surname>
          </string-name>
          .
          <article-title>Deriving User Interfaces from Task Models</article-title>
          .
          <source>in MDDAUI'09</source>
          .
          <year>2009</year>
          .
          <article-title>Sanibel Island, USA: CEUR-WS</article-title>
          . p.
          <fpage>4</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Caffiau</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          , et al.
          <article-title>Generating Interactive Applications from Task Models: a Hard Challenge. in TAsk MOdels and DIAgrams</article-title>
          (TAMODIA).
          <year>2007</year>
          . Toulouse, France: Springer Berlin/Heidelberg. p.
          <fpage>267</fpage>
          -
          <lpage>272</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Berti</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          , et al.
          <article-title>TERESA: a transformation-based environment for designing and development multidevice interface</article-title>
          .
          <source>in Conference on Human Factors in Computing Systems - CHI'04</source>
          .
          <year>2004</year>
          . Vienna, Austria: ACM NY. p.
          <fpage>793</fpage>
          -
          <lpage>794</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Hettel</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Lawley</surname>
          </string-name>
          , and
          <string-name>
            <given-names>K.</given-names>
            <surname>Raymond</surname>
          </string-name>
          . Model Synchronisation:
          <article-title>Definitions for Round-Trip Engineering</article-title>
          .
          <source>in Theory and Practice of Model Transformations</source>
          ,
          <string-name>
            <surname>ICMT</surname>
          </string-name>
          <year>2008</year>
          .
          <year>2008</year>
          . Zürich, Switzerland: Springer. p.
          <fpage>31</fpage>
          -
          <lpage>45</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Sendall</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          and
          <string-name>
            <given-names>J.</given-names>
            <surname>Küster</surname>
          </string-name>
          ,
          <string-name>
            <surname>Taming Model</surname>
          </string-name>
          Round-Trip Engineering,
          <source>in OOPSLA Workshop on Best Practices for Model Driven Software Development</source>
          .
          <year>2004</year>
          : Vancouver, Canada.
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Lucquiaud</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          <article-title>Proposition d'un noyau et d'une structure pour les modèles de tâches orientés utilisateurs</article-title>
          .
          <source>in 17th French-speacking conference on Human-computer interaction</source>
          .
          <year>2005</year>
          . Toulouse. p.
          <fpage>83</fpage>
          -
          <lpage>90</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Depaulis</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          , et al.,
          <article-title>Le modèle d'architecture logicielle H4 : Principes, usages, outils et retours d'expérience dans les applications de conception technique</article-title>
          .
          <source>Revue d'Interaction Homme-Machine</source>
          ,
          <year>2006</year>
          .
          <volume>7</volume>
          (
          <issue>1</issue>
          ): p.
          <fpage>93</fpage>
          -
          <lpage>129</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Depaulis</surname>
            , F.,
            <given-names>S.</given-names>
          </string-name>
          <string-name>
            <surname>Maiano</surname>
            , and
            <given-names>G.</given-names>
          </string-name>
          <string-name>
            <surname>Texier.</surname>
          </string-name>
          DTS-Edit :
          <article-title>an Interactive Development Environment for Structured Dialog Applications</article-title>
          .
          <source>in CADUI'02</source>
          .
          <year>2002</year>
          .
          <string-name>
            <surname>Valenciennes</surname>
          </string-name>
          (France): Kluwer Academics. p.
          <fpage>75</fpage>
          -
          <lpage>82</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Caffiau</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          , et al.,
          <article-title>Hierarchical Structure: A Step for Jointly Designing Interactive Software Dialog and Task Model, in Human-Computer Interaction</article-title>
          .
          <source>Novel Interaction Methods and Techniques</source>
          , Springer, Editor.
          <year>2009</year>
          , Springer: Berlin. p.
          <fpage>664</fpage>
          -
          <lpage>673</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Caffiau</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <article-title>Approche dirigée par les modèles pour la conception et la validation des applications interactives : une démarche basée sur la modélisation des tâches</article-title>
          ,
          <source>in LIIS/ENSMA</source>
          .
          <year>2009</year>
          , Poitiers: Poitiers. p.
          <fpage>240</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Dehainsala</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          , et al.
          <article-title>Ingénierie dirigée par lesmodèles en EXPRESS : un exemple d'application</article-title>
          . in IDM.
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Kavaldjian</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          , et al.
          <article-title>Transformations between Specifications of Requirements and User Interfaces</article-title>
          .
          <source>in MDDAUI'09</source>
          .
          <year>2009</year>
          .
          <article-title>Sanibel Island, USA: CEUR-WS</article-title>
          . p.
          <fpage>4</fpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>