=Paper=
{{Paper
|id=Vol-159/paper-7
|storemode=property
|title=Using UML 2.0 and Profiles for Modelling Context-Sensitive User Interfaces
|pdfUrl=https://ceur-ws.org/Vol-159/paper7.pdf
|volume=Vol-159
|dblpUrl=https://dblp.org/rec/conf/uml/BerghC05
}}
==Using UML 2.0 and Profiles for Modelling Context-Sensitive User Interfaces==
Using UML 2.0 and Profiles for Modeling Context-Sensitive
User Interfaces
Jan Van den Bergh Karin Coninx
Hasselt University
Expertise Centre for Digital Media
and
transnationale Universiteit Limburg
School of Information Technology
Wetenschapspark 2
BE-3590 Diepenbeek
Belgium
{jan.vandenbergh, karin.coninx}@uhasselt.be
ABSTRACT the semantics of the MB-UID models. The reason for this
Significant work has been established in both the HCI com- approach is that usage of the same (basic) meta-model al-
munity and the software engineering community to structure lows easier integration of the different approaches, which can
and to rationalize development within their respective fields be necessary to create truly usable (context-sensitive) appli-
using abstractions that are crystallized into a limited set of cations. After all, usability issues are related to application
models. Each of these models gives a precise definition of characteristics beyond the user interface.
one of the aspects of the design. In this position paper we For the modeling of context-sensitive user interfaces, we
present a more detailed analysis describing how UML 2.0 consider a limited set of models as shown in figure 1. In this
and its light-weight extension mechanism, profiles, can be paper we will shortly discuss the different models and how
used to model both the dynamic and structural aspects of they can be represented in UML 2.0. We will focus on the
context-sensitive user interfaces. 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 struc-
Categories and Subject Descriptors ture is described in the abstract and concrete presentation
H.5.2 [User Interfaces]: Screen design—Abstract User In- models, optionally complemented with a user interface de-
terfaces; D.2.2 [Design Tools and Techniques]: User ployment model. Finally, conclusions and future work are
Interfaces, Flow charts, Object-Oriented design methods— presented in section 5.
UML 2.0, Model-Driven Design, Model-based Design of User
Interfaces 2. MODEL OVERVIEW
In figure 1, the different models we consider to be impor-
General Terms tant for model-driven design of user interfaces are graphi-
Model Driven Development of User Interfaces, UML 2.0, cally depicted. The figure is divided into four sections. The
profiles upper half of the figure contains the platform independent
models (PIM), while the lower half contains the platform-
specific models (PSM). Similarly, the models at the left de-
1. INTRODUCTION scribe some structural aspects, while the right-hand side de-
The number of devices and their capabilities is very divers scribes the behavioral models. All models are specified using
and becoming even more so. Model-based Design of User In- UML 2.0, except the one with the gray background.
terfaces (MB-UID) is a methodology often proposed to sup- In the upper right part of the figure, the task model is
port the design and development of multi-platform, and even shown. It describes the tasks that have to be performed to
context-sensitive user interfaces. In the software engineer- reach a certain goal. The dialog model is a more concrete
ing camp, model-driven development is proposed for solving version of the task model in that it describes how the user
similar problems. Both approaches use different models, but can perform the tasks through a user interface and how the
sometimes they have similar semantics. system responds to these actions. The task (and dialog)
As part of our effort to model context-sensitive interactive model is discussed into more detail in section 3, the reason
applications, we want to express the models used in MB-UID for having two instances of the task model is explained in
using the UML 2.0 and extend it using profiles where neces- section 3.4.
sary. In this paper, we present an analysis describing which The structural platform independent models consist of the
diagrams in UML 2.0 [8] have semantics that correspond context model and application model, which can be con-
best to most used models in MB-UID. Based on this analysis sidered to grossly correspond to the domain model used
we present our choice of UML-diagrams for abstract/high- in software engineering approaches, and the (abstract) pre-
level models and the profiles we designed to extend the se- sentation model. The latter describes the structure of the
mantics of the UML 2.0 models so that they better reflect user interface in a way that is independent of platform and
3.3 Corresponding diagram
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.
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
Figure 1: Models for specification of context- actions can be specified.
sensitive user interfaces • One can specify the actor for each action.
• One can establish hierarchies to cope with complexity;
modality and is discussed into more detail in section 4. actions can be bundled in activities. Each activity
can be shown in a separate diagram, but also within a
containing diagram.
3. TASK AND DIALOG MODEL
• The semantics using token-flow allow a tool or designer
3.1 Generic Model Description to verify which actions can be performed at a certain
A task model describes the tasks of a user interacting with moment in time (and thus allow derivation of a dialog
a system to accomplish a certain goal. It is a hierarchically diagram, something which is also possible using CTT).
structured model that describes the compositional and of- In related work, Nobrega et al. [6] already used the activ-
ten also temporal relationships of a certain activity. The ity diagram as the basis for a new diagram type to express
dialog model describes how the tasks can be performed by the CTT in a tree-based UML diagram. Pinheiro da Silva
the user (in interaction with the system); it thus is a lower- and Paton [2] defined a flow-based diagram type that de-
level, platform-dependent version of a task model and can fined special object flows to objects that represented user
be derived to a great extend of the task model. interface elements. It was based on the State Machine pack-
In case of context-sensitive applications, a task model can age, to create a special form of activity diagram 1 . The use
also contain references to context. A task and dialog model case diagram [2, 7] and the class diagram [7] — it was ex-
can contain references to concepts since many tasks involve tended using stereotypes to define a semantical equivalent of
some kind of object: e.g. the name of a person, (the date the CTT notation in UML 1.x — were also used to express
of) an appointment. the task model.
3.2 Properties 3.4 ConcurTaskTrees and Activity Diagrams
One of the well accepted task notations for MB-UID is
the graphical ConcurTaskTrees (CTT) notation [4]. This The ConcurTaskTrees notation is one of the most well ac-
notation uses a tree structure to decompose a task into sub- cepted task modeling notations. We investigated whether
tasks, which are either performed by the user, the system or mapping this tree-based structure with different task cat-
by the user in interaction with the system. A fourth category egories and temporal operators to the flow-based notation
of task (abstract task) is used when a task has subtasks of used in the activity diagram is possible. The mapping of the
a different type. Sibling tasks are connected using temporal temporal operators could pose problems [6]. Although two
operators and each task can have a loose, more fine-grained temporal operators from the CTT notation, suspend/resume
specification of the type of task, the involved objects, per- and order independence, do not have direct corresponding
formance statistics, etc. elements in UML, their behavior can be modeled using the
Some adapted notations have been proposed for specific activity diagram notation. The suspend/resume behavior
purposes. The Contextual CTT [9] is one such notation, can be modeled by nesting the suspending actions in a Struc-
which introduces “environment tasks/actions” which are per- turedActivityNode with its attribute mustIsolate set to true,
formed by an entity which is nor the system nor the user. and placing it in parallel to the suspended actions. The or-
Examples of environment actions can be location changes der independent operator can be modeled in a similar fash-
(in case of interaction with a mobile device) or a change in ion.
privacy (e.g. someone entering the room) or an incoming It is possible to create a hierarchy using the combination of
phone call while interacting with a mobile phone applica- actions and (invoked) activities. Furthermore, the categories
tion. 1
In UML 1.x the activity diagram was based on the state
machine diagram.
(a) (b) (c) (d)
Figure 2: Action stereotypes: (a) user, (b) device,
(c) interact and (d) environment
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 [10].
As can be seen in figure 1, we opted to keep two represen- Figure 3: Example presentation model
tations for the task model; one, the (Contextual) Concur-
TaskTrees, gives a tree-based representation of the model
and highlights the user’s mental model, while the second, number of different interactors is still limited.
using the activity diagram, uses a flow-based structure and
gives the interactive system and the manipulated objects a 4.3 Corresponding Diagram
more prominent place. In this way, the advantages of both Presentation models, both abstract and concrete 2 , define
notations can be combined. the structure of a user interface by specifying relationships
between different classes of objects, which can be expressed
4. PRESENTATION MODEL using class diagrams as is done in the Wisdom approach [7].
UMLi [2] on the other hand, defines a new diagram-type
4.1 Generic Model Description similar to a UML deployment diagram. Usage of a stereo-
The presentation model represents the structure of a user typed deployment diagram as introduced in [10] to define
interface. It can be modeled at three levels of abstraction: the presentation structure was confusing for the software
abstract user interface, concrete user interface and final user engineering community due to the differences in semantics.
interface. In the following sections we will only discuss Just as in the Wisdom approach, we propose to model the
the abstract presentation model. The concrete presenta- user interface structure using the class diagram. We however
tion model already deals with the real appearance of a user use a different set of stereotypes as we have different priori-
interface, which can be represented more adequately using ties for the presentation diagram (a subset of the stereotypes
specialized tools that can offer better support for all avail- can be seen in figure 4). We want to emphasize the cate-
able widgets and style options. The final user interface is gories of the user interface parts a user will interact with:
the running, deployed user interface. actionComponent (part of the user interface that triggers
The goal of the abstract presentation model is to define the activation of a function in the application’s functional
the structure of the user interface in a platform-independent core), inputComponent (part of the user interface that al-
manner. This implies that no assumptions can be made re- lows the user to specify values) or outputComponent (part of
garding platform, toolkit or modality. One reason to have the user interface that presents data, such as search results
such a model is to derive interfaces for different platforms or a system notification, to the user). We do this by provid-
and/or toolkits that have a consistent structure. Another ing alternative representations for these stereotyped classes
reason is that the focus can be kept on structure and the and by not specifying them as attributes of groupCompo-
functionality a user expects rather than on low-level imple- nents, but as separate classes. By defining them as separate
mentation details. This is especially important when multi- classes, we can also show the type of data that inputCom-
platform designs are made. ponents manipulate and outputComponents present, as well
as the operations that actionComponents can present. We
4.2 Properties do this because the type of data that is manipulated can
be important to determine an effective representation for a
There isn’t as much consensus about the contents of the
specific context (platform, user, etc.).
abstract presentation model as there is about for example
An example of a very simple abstract presentation model
the task model. The number of concepts that are avail-
is shown in figure 3. We can see from this example that
able as well as their exact nature differs greatly. Some ap-
at the abstract level, a class-name refers to the function
proaches [3, 10] offer a very limited set of abstract inter-
of the class, not to how it is represented in an actual user
actors, while others [5, 1] offer a larger set of interactors.
interface. A groupComponent is connected with the user
While [3] focuses on aspects of the abstract interactors, oth-
interface components it contains (in this case two input-
ers[10, 5, 1] offer a hierarchically structured set of interac-
Components) through containment associations. These as-
tors. Another distinction is that some authors focus on the
abstraction of concrete interactors [3, 5], others focus on 2
We will only discuss the abstract presentation diagram
the related actions of the user [1, 10]. All these approaches since the concrete presentation diagram can be modeled
however have in common that due to the abstraction the without extensions using profiles if desired.
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. ACKNOWLEDGEMENTS
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 Interdis-
ciplinary institute for BroadBand Technology (IBBT).
7. REFERENCES
[1] Larry L. Constantine. Canonical abstract prototypes
for abstract visual and interaction design. In
Proceedings of DSV-IS 2003, number 2844 in LNCS,
Figure 4: Relevant parts of the UML profile
pages 1 – 15, Funchal, Madeira Island, Portugal, June
11-13 2003. Springer.
sociations can have multiplicities, allowing effective speci- [2] Paulo Pinheiro da Silva and Norman W. Paton. User
fication of a variable set of inputComponents, such as the interface modelling in umli. IEEE Software,
“Enter Company Info” inputComponent in the example. An 20(4):62–69, July–August 2003.
inputComponent, such as “Enter PersonalInfo”, can have [3] Quentin Limbourg and Jean Vanderdonckt.
several aspects that will be represented by a set of user in- Engineering Advanced Web Applications, chapter
terface components in a final user interface. UsiXML: A User Interface Description Language
We are investigating the use of additional profiles to ex- Supporting Multiple Levels of Independence. Rinton
press meta-information. This meta-information can specify Press, December 2004.
how public the data or controls in some parts of the inter- [4] Giulio Mori, Fabio Paternò, and Carmen Santoro.
face are. For example: the interface of presentation-software CTTE: support for developing and analyzing task
might have marked the part that displays the presentation models for interactive system design. IEEE
as public, while the controls to manipulate the presentation Transactions on Software Engineering, 28(8):797–813,
are private and thus are only shown on the monitor of the 2002.
person giving a talk. Similarly, a log in can be marked pri- [5] Giulio Mori, Fabio Paternò, and Carmen Santoro.
vate, while the password can be marked secret to denote Design and development of multidevice user interfaces
that its contents should be masked or hidden. The use of through multiple logical descriptions. IEEE
such meta data can help the designer (or a transformation Transactions on Sofware Engineering, 30(8):507–520,
tool) to choose concrete user interface elements and/or to aug 2004.
allocate those elements to interaction devices. [6] Leonel Nobrega, Nuno Jardim Nunes, and Helder
Another profile can contain the level to which a part of a Coelho. Mapping concurtasktrees into uml 2.0. In
user interface can be affected by context information. Such Proceedings of DSV-IS 05, 2005.
a profile might contain stereotypes such as: ”context-init”, [7] Nuno Jardim Nunes and Joao Falcao e Cunha.
initialized by a value provided by a source in the environ- Towards a uml profile for interaction design: the
ment of the system and the user, ”context-updated”, up- wisdom approach. In UML 2000, pages 117–132.
dated with context information while active, etc. Awareness Springer, 2000.
of parts of the user interface that are influenced by external [8] Object Management Group. UML 2.0 Superstructure
factors or initialized by external entities can be benifitial Specification, October 8 2004.
to the overall feel of the application. It can persuade the [9] Jan Van den Bergh and Karin Coninx. Contextual
software engineer to introduce the necessary measures that ConcurTaskTrees: Integrating dynamic contexts in
ensure that responsiveness is maintained and that the user task based design. In Second IEEE Conference on
interface reacts appropriately when the context input lacks Pervasive Computing and Communications
besides ensuring that the influences of the context are pos- WORKSHOPS, pages 13–17, Orlando, FL, USA,
sible. March 14–17 2004. IEEE Press.
[10] Jan Van den Bergh and Karin Coninx. Towards
5. CONCLUSIONS AND FUTURE WORK Modeling Context-Sensitive Interactive Applications:
the Context-Sensitive User Interface Profile (CUP). In
We presented an approach to create context-sensitive user
SoftVis ’05: Proceedings of the 2005 ACM symposium
interfaces using models expressed in UML 2.0. The approach
on Software visualization, pages 87–94, New York,
is being tested by creating a limited context-sensitive user
NY, USA, 2005. ACM Press.
interface using the presented approach.