documentation, specification and design of
interactive systems. They propose a minimal set of
extensions for a UML profile for interactive systems
development taking advantages of human-computer
interaction domain knowledge under the notation
and semantics of the UML. The Wisdom approach
suggests two important models: the analysis model
and the interaction model. The latter includes the
information, dialogue and presentation dimensions,
mapping the conceptual architectural models for
interactive systems, while maintaining the desired
separation of concerns. The analysis model
encompasses the UML profile architecture and
shared information. During the design phase, the
interaction model embraces two other models: the
dialogue model and the presentation model. The
former specifies the dialogue structure of the
application, using an UML based approach of the
ConcurTaskTrees (CTT) notation. The latter defines
the physical realization of the interactive system,
centring on the structure of the different presentation
entities in order to realize the physical interaction
with the user. The authors propose a set of UML
extensions to support the design model.
2.4 usiXML
usiXML (User Interface eXtensible Markup
Language) is a XML-compliant markup language
that describes the User Interface (UI) for multiple
contexts of use such as Character User Interfaces
(CUIs), Graphical User Interfaces (GUIs) and
Multimodal User Interfaces (Vanderdonckt et al.,
2004). With usiXML it becomes possible to specify
a user interface at different levels of abstraction
while maintaining the mappings between those
levels, whenever required. This notation is based on
five main concepts: expressiveness of UI (depends
on the context of use), central storage of models,
transformational approach (each model may be
subject to several transformations supporting various
development keys), multiple development paths, and
flexible development approaches (top-down,
bottom-up, wide-spreading). The main audience for
usiXML are analysts, modellers, designers, and
others.
2.5 Canonical Abstract Components
The concept of abstract user interface prototypes
offers designers a form of representation for
specifying and exploring visual and interaction
design ideas that are between abstract task models
and realistic or representational prototypes. They
represent an intermediate form that can speed the
user interface design process and improve the
quality of the result. As abstractions, they can serve
as an intermediate bridge between task models and
realistic designs, smoothing, simplifying, and
systematizing the design process. Canonical
Abstract Prototypes (CAP) are an extension to
usage-centred design which provides a formal
vocabulary for expressing visual and interaction
designs without concern with details of appearance
and behaviour. CAPs embody a model specifically
created to support a smooth progression from
abstraction toward realization in user interface
design. Each Canonical Abstract Component is
comprised by a symbolic graphical identifier and a
descriptive name. The graphical symbols aim to
serve as learned shorthand for the various functions
available. The notation is quite simple, since it is
built on two basic symbols: a generic tool or action
and a generic material or container. Materials are
the containers, content, information or data. Tools
are the actions, operators, mechanisms, or controls
that can be used to create, manipulate, transform or
operate upon materials. The combination of a
container and an action form a generic hybrid
component.
2.6 ConcurTaskTrees
The ConcurTaskTrees (CTT) is one of the most
widely used notations for task modelling,
specifically tailored for UI model-based design. This
notation has been developed taking into account the
previous experience in task modelling and adding
new features to better obtain an easy-to-use powerful
notation, to describe the dialogue in interactive
systems. In fact, CTT provides the concept of
hierarchical structure, exposing a wide range of
granularity allowing large and small structures to be
reused and, enables reusable task structures to be
defined at both low and high semantic level. CTT
introduces a rich set of graphical temporal operators,
with a higher expressiveness than those offered by
concurrent notations. In a model-based GUI testing
approach, task models can be used to define the
behaviour of user interfaces (Silva et al., 2007).
2.7 Spec#
The Spec# programming system represents an
attempt to develop a more cost effective way to
maintain software in high standards, and has been
developed at Microsoft Research lab, in Redmond,
USA. The Spec# system consists of three
ICSOFT 2008 - International Conference on Software and Data Technologies
106