<!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>Using UML 2.0 and Profiles for Modeling Context-Sensitive User Interfaces</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Jan Van den Bergh Karin Coninx</string-name>
          <email>jan.vandenbergh@uhasselt.be</email>
          <email>karin.coninx@uhasselt.be</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Hasselt University Expertise Centre for Digital Media and transnationale Universiteit Limburg School of Information Technology Wetenschapspark</institution>
          <addr-line>2 BE-3590 Diepenbeek</addr-line>
          <country country="BE">Belgium</country>
        </aff>
      </contrib-group>
      <fpage>2</fpage>
      <lpage>5</lpage>
      <abstract>
        <p>Significant work has been established in both the HCI community and the software engineering community to structure and to rationalize development within their respective fields using abstractions that are crystallized into a limited set of models. Each of these models gives a precise definition of one of the aspects of the design. In this position paper we present a more detailed analysis describing how UML 2.0 and its light-weight extension mechanism, profiles, can be used to model both the dynamic and structural aspects of context-sensitive user interfaces.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. INTRODUCTION</title>
      <p>The number of devices and their capabilities is very divers
and becoming even more so. Model-based Design of User
Interfaces (MB-UID) is a methodology often proposed to
support the design and development of multi-platform, and even
context-sensitive user interfaces. In the software
engineering camp, model-driven development is proposed for solving
similar problems. Both approaches use different models, but
sometimes they have similar semantics.</p>
      <p>
        As part of our effort to model context-sensitive interactive
applications, we want to express the models used in MB-UID
using the UML 2.0 and extend it using profiles where
necessary. In this paper, we present an analysis describing which
diagrams in UML 2.0 [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] have semantics that correspond
best to most used models in MB-UID. Based on this analysis
we present our choice of UML-diagrams for
abstract/highlevel models and the profiles we designed to extend the
semantics of the UML 2.0 models so that they better reflect
the semantics of the MB-UID models. The reason for this
approach is that usage of the same (basic) meta-model
allows easier integration of the different approaches, which can
be necessary to create truly usable (context-sensitive)
applications. After all, usability issues are related to application
characteristics beyond the user interface.
      </p>
      <p>For the modeling of context-sensitive user interfaces, we
consider a limited set of models as shown in figure 1. In this
paper we will shortly discuss the different models and how
they can be represented in UML 2.0. We will focus on the
core models that deal with the representation of the dynamic
and structural aspects of the user interface. The dynamics
are described in the task and dialog model, while the
structure is described in the abstract and concrete presentation
models, optionally complemented with a user interface
deployment model. Finally, conclusions and future work are
presented in section 5.
2.</p>
    </sec>
    <sec id="sec-2">
      <title>MODEL OVERVIEW</title>
      <p>In figure 1, the different models we consider to be
important for model-driven design of user interfaces are
graphically depicted. The figure is divided into four sections. The
upper half of the figure contains the platform independent
models (PIM), while the lower half contains the
platformspecific models (PSM). Similarly, the models at the left
describe some structural aspects, while the right-hand side
describes the behavioral models. All models are specified using
UML 2.0, except the one with the gray background.</p>
      <p>In the upper right part of the figure, the task model is
shown. It describes the tasks that have to be performed to
reach a certain goal. The dialog model is a more concrete
version of the task model in that it describes how the user
can perform the tasks through a user interface and how the
system responds to these actions. The task (and dialog)
model is discussed into more detail in section 3, the reason
for having two instances of the task model is explained in
section 3.4.</p>
      <p>The structural platform independent models consist of the
context model and application model, which can be
considered to grossly correspond to the domain model used
in software engineering approaches, and the (abstract)
presentation model. The latter describes the structure of the
user interface in a way that is independent of platform and
modality and is discussed into more detail in section 4.</p>
    </sec>
    <sec id="sec-3">
      <title>TASK AND DIALOG MODEL</title>
    </sec>
    <sec id="sec-4">
      <title>Generic Model Description</title>
      <p>A task model describes the tasks of a user interacting with
a system to accomplish a certain goal. It is a hierarchically
structured model that describes the compositional and
often also temporal relationships of a certain activity. The
dialog model describes how the tasks can be performed by
the user (in interaction with the system); it thus is a
lowerlevel, platform-dependent version of a task model and can
be derived to a great extend of the task model.</p>
      <p>In case of context-sensitive applications, a task model can
also contain references to context. A task and dialog model
can contain references to concepts since many tasks involve
some kind of object: e.g. the name of a person, (the date
of) an appointment.
3.2</p>
    </sec>
    <sec id="sec-5">
      <title>Properties</title>
      <p>
        One of the well accepted task notations for MB-UID is
the graphical ConcurTaskTrees (CTT) notation [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. This
notation uses a tree structure to decompose a task into
subtasks, which are either performed by the user, the system or
by the user in interaction with the system. A fourth category
of task (abstract task) is used when a task has subtasks of
a different type. Sibling tasks are connected using temporal
operators and each task can have a loose, more fine-grained
specification of the type of task, the involved objects,
performance statistics, etc.
      </p>
      <p>
        Some adapted notations have been proposed for specific
purposes. The Contextual CTT [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] is one such notation,
which introduces “environment tasks/actions” which are
performed by an entity which is nor the system nor the user.
Examples of environment actions can be location changes
(in case of interaction with a mobile device) or a change in
privacy (e.g. someone entering the room) or an incoming
phone call while interacting with a mobile phone
application.
3.3
      </p>
    </sec>
    <sec id="sec-6">
      <title>Corresponding diagram</title>
      <p>Since the task model defines the required behavior of the
user (and the system), only behavior models can have the
required semantics. Another criterion is that a single task
model can be used in multiple scenario’s. Furthermore, the
users and their actions are central in this model. These
properties can only be matched by two diagram types. The
use case diagram highlights the system and the users for
specific use cases. Therefore, the use case diagram can be
useful for initial discovery and requirements analysis. It is
not suitable to make a detailed design.</p>
      <p>The activity diagram is the most suitable to represent the
task model for the following reasons:
• Actions and the temporal relations between them are
the focus of this diagram type.
• Links with the concepts that are manipulated by the
actions can be specified.
• One can specify the actor for each action.
• One can establish hierarchies to cope with complexity;
actions can be bundled in activities. Each activity
can be shown in a separate diagram, but also within a
containing diagram.
• The semantics using token-flow allow a tool or designer
to verify which actions can be performed at a certain
moment in time (and thus allow derivation of a dialog
diagram, something which is also possible using CTT).</p>
      <p>
        In related work, Nobrega et al. [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] already used the
activity diagram as the basis for a new diagram type to express
the CTT in a tree-based UML diagram. Pinheiro da Silva
and Paton [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] defined a flow-based diagram type that
defined special object flows to objects that represented user
interface elements. It was based on the State Machine
package, to create a special form of activity diagram 1. The use
case diagram [
        <xref ref-type="bibr" rid="ref2 ref7">2, 7</xref>
        ] and the class diagram [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] — it was
extended using stereotypes to define a semantical equivalent of
the CTT notation in UML 1.x — were also used to express
the task model.
3.4
      </p>
    </sec>
    <sec id="sec-7">
      <title>ConcurTaskTrees and Activity Diagrams</title>
      <p>
        The ConcurTaskTrees notation is one of the most well
accepted task modeling notations. We investigated whether
mapping this tree-based structure with different task
categories and temporal operators to the flow-based notation
used in the activity diagram is possible. The mapping of the
temporal operators could pose problems [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. Although two
temporal operators from the CTT notation, suspend/resume
and order independence, do not have direct corresponding
elements in UML, their behavior can be modeled using the
activity diagram notation. The suspend/resume behavior
can be modeled by nesting the suspending actions in a
StructuredActivityNode with its attribute mustIsolate set to true,
and placing it in parallel to the suspended actions. The
order independent operator can be modeled in a similar
fashion.
      </p>
      <p>
        It is possible to create a hierarchy using the combination of
actions and (invoked) activities. Furthermore, the categories
1In UML 1.x the activity diagram was based on the state
machine diagram.
(a)
(b)
(c)
(d)
of tasks in (Contextual) CTT can be provided by extending
the activity diagram with a profile containing a stereotype
for each type of task/action (see figure 2 and 4). Note that
we opted to specify no special stereotype for the category of
abstract tasks. A more detailed explanation of the reasons
for this decision can be found in [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ].
      </p>
      <p>As can be seen in figure 1, we opted to keep two
representations for the task model; one, the (Contextual)
ConcurTaskTrees, gives a tree-based representation of the model
and highlights the user’s mental model, while the second,
using the activity diagram, uses a flow-based structure and
gives the interactive system and the manipulated objects a
more prominent place. In this way, the advantages of both
notations can be combined.</p>
    </sec>
    <sec id="sec-8">
      <title>PRESENTATION MODEL</title>
    </sec>
    <sec id="sec-9">
      <title>Generic Model Description</title>
      <p>The presentation model represents the structure of a user
interface. It can be modeled at three levels of abstraction:
abstract user interface, concrete user interface and final user
interface. In the following sections we will only discuss
the abstract presentation model. The concrete
presentation model already deals with the real appearance of a user
interface, which can be represented more adequately using
specialized tools that can offer better support for all
available widgets and style options. The final user interface is
the running, deployed user interface.</p>
      <p>The goal of the abstract presentation model is to define
the structure of the user interface in a platform-independent
manner. This implies that no assumptions can be made
regarding platform, toolkit or modality. One reason to have
such a model is to derive interfaces for different platforms
and/or toolkits that have a consistent structure. Another
reason is that the focus can be kept on structure and the
functionality a user expects rather than on low-level
implementation details. This is especially important when
multiplatform designs are made.
4.2</p>
    </sec>
    <sec id="sec-10">
      <title>Properties</title>
      <p>
        There isn’t as much consensus about the contents of the
abstract presentation model as there is about for example
the task model. The number of concepts that are
available as well as their exact nature differs greatly. Some
approaches [
        <xref ref-type="bibr" rid="ref10 ref3">3, 10</xref>
        ] offer a very limited set of abstract
interactors, while others [
        <xref ref-type="bibr" rid="ref1 ref5">5, 1</xref>
        ] offer a larger set of interactors.
While [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] focuses on aspects of the abstract interactors,
others[
        <xref ref-type="bibr" rid="ref1 ref10 ref5">10, 5, 1</xref>
        ] offer a hierarchically structured set of
interactors. Another distinction is that some authors focus on the
abstraction of concrete interactors [
        <xref ref-type="bibr" rid="ref3 ref5">3, 5</xref>
        ], others focus on
the related actions of the user [
        <xref ref-type="bibr" rid="ref1 ref10">1, 10</xref>
        ]. All these approaches
however have in common that due to the abstraction the
number of different interactors is still limited.
4.3
      </p>
    </sec>
    <sec id="sec-11">
      <title>Corresponding Diagram</title>
      <p>
        Presentation models, both abstract and concrete 2, define
the structure of a user interface by specifying relationships
between different classes of objects, which can be expressed
using class diagrams as is done in the Wisdom approach [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ].
UMLi [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] on the other hand, defines a new diagram-type
similar to a UML deployment diagram. Usage of a
stereotyped deployment diagram as introduced in [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] to define
the presentation structure was confusing for the software
engineering community due to the differences in semantics.
      </p>
      <p>Just as in the Wisdom approach, we propose to model the
user interface structure using the class diagram. We however
use a different set of stereotypes as we have different
priorities for the presentation diagram (a subset of the stereotypes
can be seen in figure 4). We want to emphasize the
categories of the user interface parts a user will interact with:
actionComponent (part of the user interface that triggers
the activation of a function in the application’s functional
core), inputComponent (part of the user interface that
allows the user to specify values) or outputComponent (part of
the user interface that presents data, such as search results
or a system notification, to the user). We do this by
providing alternative representations for these stereotyped classes
and by not specifying them as attributes of
groupComponents, but as separate classes. By defining them as separate
classes, we can also show the type of data that
inputComponents manipulate and outputComponents present, as well
as the operations that actionComponents can present. We
do this because the type of data that is manipulated can
be important to determine an effective representation for a
specific context (platform, user, etc.).</p>
      <p>An example of a very simple abstract presentation model
is shown in figure 3. We can see from this example that
at the abstract level, a class-name refers to the function
of the class, not to how it is represented in an actual user
interface. A groupComponent is connected with the user
interface components it contains (in this case two
inputComponents) through containment associations. These
as2We will only discuss the abstract presentation diagram
since the concrete presentation diagram can be modeled
without extensions using profiles if desired.
sociations can have multiplicities, allowing effective
specification of a variable set of inputComponents, such as the
“Enter Company Info” inputComponent in the example. An
inputComponent, such as “Enter PersonalInfo”, can have
several aspects that will be represented by a set of user
interface components in a final user interface.</p>
      <p>We are investigating the use of additional profiles to
express meta-information. This meta-information can specify
how public the data or controls in some parts of the
interface are. For example: the interface of presentation-software
might have marked the part that displays the presentation
as public, while the controls to manipulate the presentation
are private and thus are only shown on the monitor of the
person giving a talk. Similarly, a log in can be marked
private, while the password can be marked secret to denote
that its contents should be masked or hidden. The use of
such meta data can help the designer (or a transformation
tool) to choose concrete user interface elements and/or to
allocate those elements to interaction devices.</p>
      <p>Another profile can contain the level to which a part of a
user interface can be affected by context information. Such
a profile might contain stereotypes such as: ”context-init”,
initialized by a value provided by a source in the
environment of the system and the user, ”context-updated”,
updated with context information while active, etc. Awareness
of parts of the user interface that are influenced by external
factors or initialized by external entities can be benifitial
to the overall feel of the application. It can persuade the
software engineer to introduce the necessary measures that
ensure that responsiveness is maintained and that the user
interface reacts appropriately when the context input lacks
besides ensuring that the influences of the context are
possible.</p>
    </sec>
    <sec id="sec-12">
      <title>CONCLUSIONS AND FUTURE WORK</title>
      <p>We presented an approach to create context-sensitive user
interfaces using models expressed in UML 2.0. The approach
is being tested by creating a limited context-sensitive user
interface using the presented approach.</p>
      <p>In the near future, we will investigate how the different
models can be combined or synchronized so that the designer
can more easily identify where a specific diagram belongs in
the overall design. This will involve combining the structural
models into a single view that combines both the context
and the abstract presentation model and will define several
associations (such as update, enable or disable) that can
be used to express the relationships across and within the
models.
6.</p>
    </sec>
    <sec id="sec-13">
      <title>ACKNOWLEDGEMENTS</title>
      <p>Part of the research at Expertise Centre for Digital Media
is funded by the ERDF (European Regional Development
Fund), the Flemish Government and the Flemish
Interdisciplinary institute for BroadBand Technology (IBBT).
7.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <surname>Larry</surname>
            <given-names>L.</given-names>
          </string-name>
          <string-name>
            <surname>Constantine</surname>
          </string-name>
          .
          <article-title>Canonical abstract prototypes for abstract visual and interaction design</article-title>
          .
          <source>In Proceedings of DSV-IS</source>
          <year>2003</year>
          ,
          <article-title>number</article-title>
          2844 in LNCS, pages
          <fpage>1</fpage>
          -
          <lpage>15</lpage>
          , Funchal, Madeira Island, Portugal, June 11-13
          <year>2003</year>
          . Springer.
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>Paulo</given-names>
            <surname>Pinheiro</surname>
          </string-name>
          da Silva and
          <string-name>
            <surname>Norman W. Paton.</surname>
          </string-name>
          <article-title>User interface modelling in umli</article-title>
          .
          <source>IEEE Software</source>
          ,
          <volume>20</volume>
          (
          <issue>4</issue>
          ):
          <fpage>62</fpage>
          -
          <lpage>69</lpage>
          ,
          <string-name>
            <surname>July-August</surname>
          </string-name>
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>Quentin</given-names>
            <surname>Limbourg</surname>
          </string-name>
          and
          <string-name>
            <given-names>Jean</given-names>
            <surname>Vanderdonckt</surname>
          </string-name>
          .
          <article-title>Engineering Advanced Web Applications, chapter UsiXML: A User Interface Description Language Supporting Multiple Levels of Independence</article-title>
          . Rinton Press,
          <year>December 2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>Giulio</given-names>
            <surname>Mori</surname>
          </string-name>
          , Fabio Patern`o, and
          <article-title>Carmen Santoro. CTTE: support for developing and analyzing task models for interactive system design</article-title>
          .
          <source>IEEE Transactions on Software Engineering</source>
          ,
          <volume>28</volume>
          (
          <issue>8</issue>
          ):
          <fpage>797</fpage>
          -
          <lpage>813</lpage>
          ,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>Giulio</given-names>
            <surname>Mori</surname>
          </string-name>
          , Fabio Patern`o, and
          <string-name>
            <given-names>Carmen</given-names>
            <surname>Santoro</surname>
          </string-name>
          .
          <article-title>Design and development of multidevice user interfaces through multiple logical descriptions</article-title>
          .
          <source>IEEE Transactions on Sofware Engineering</source>
          ,
          <volume>30</volume>
          (
          <issue>8</issue>
          ):
          <fpage>507</fpage>
          -
          <lpage>520</lpage>
          , aug
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>Leonel</given-names>
            <surname>Nobrega</surname>
          </string-name>
          , Nuno Jardim Nunes, and
          <string-name>
            <given-names>Helder</given-names>
            <surname>Coelho</surname>
          </string-name>
          .
          <article-title>Mapping concurtasktrees into uml 2.0</article-title>
          .
          <source>In Proceedings of DSV-IS 05</source>
          ,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>Nuno</given-names>
            <surname>Jardim</surname>
          </string-name>
          Nunes and Joao Falcao e Cunha.
          <article-title>Towards a uml profile for interaction design: the wisdom approach</article-title>
          .
          <source>In UML 2000</source>
          , pages
          <fpage>117</fpage>
          -
          <lpage>132</lpage>
          . Springer,
          <year>2000</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>Object</given-names>
            <surname>Management</surname>
          </string-name>
          <article-title>Group</article-title>
          .
          <source>UML 2.0 Superstructure Specification, October 8</source>
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <surname>Jan</surname>
            <given-names>Van den Bergh and Karin</given-names>
          </string-name>
          <string-name>
            <surname>Coninx</surname>
          </string-name>
          .
          <article-title>Contextual ConcurTaskTrees: Integrating dynamic contexts in task based design</article-title>
          .
          <source>In Second IEEE Conference on Pervasive Computing and Communications WORKSHOPS</source>
          , pages
          <fpage>13</fpage>
          -
          <lpage>17</lpage>
          , Orlando, FL, USA, March
          <volume>14</volume>
          -17
          <year>2004</year>
          . IEEE Press.
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <surname>Jan</surname>
            <given-names>Van den Bergh and Karin</given-names>
          </string-name>
          <string-name>
            <surname>Coninx</surname>
          </string-name>
          .
          <article-title>Towards Modeling Context-Sensitive Interactive Applications: the Context-Sensitive User Interface Profile (CUP)</article-title>
          .
          <source>In SoftVis '05: Proceedings of the 2005 ACM symposium on Software visualization</source>
          , pages
          <fpage>87</fpage>
          -
          <lpage>94</lpage>
          , New York, NY, USA,
          <year>2005</year>
          . ACM Press.
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>