This work is about supporting user interface design by means of explicit design representa-
tions, in particular models.
We take as a starting point two different development traditions: the formal, analytic, top-
down engineering approach and the informal, synthetic, bottom-up designer approach. Both
are based on specific design representations tailored to the respective approaches, and are
found to have strengths and weaknesses. We conclude that different representations should
be used during user interface design, based on their specific qualities and the needs of the
To better understand the use of design representations a framework for classifying them is
developed. A design representation may be classified along three dimensions: the perspec-
tive (problem- or solution-oriented) of the representation, the granularity of the objects
described and the degree of formality of the representation and its language. Any design
approach must provide representation languages that cover the whole classification space to
be considered complete. In addition, the transitions between different representations within
the representation space must be supported, like moving between task-based and interac-
tion-oriented representations or up and down a hierarchic model. Movements between rep-
resentations with different degrees of formality are particularly important when combining
user-centered design with a model-based approach.
The design representation classification framework has guided the development of diagram-
based modelling languages for the three main perspectives of user interface design, tasks,
abstract dialogue and concrete interaction. The framework has also been used for evaluating
the languges. A set-based conceptual modelling language is used for domain modelling
within all these perspectives. The task modelling language is designed as a hybrid of flow-
oriented process languages and traditional hierarchical sequence-oriented task languages.
Key features are tight integration with the domain modelling language, expressive and flex-
ible notation and support for classification of task structures. The language for modelling
abstract dialogue is based on the interactor abstraction for expressing composition and
information flow, and the Statecharts language for activation and sequencing. Parameter-
ized interactors are supported, to provide means of expressing generic and reusable dia-
logue structures. Modelling of concrete interaction is supported by a combination of the
dialogue and domain modelling languages, where the former captures the functionality and
behavior and the latter covers concepts that are specific for the chosen interaction style.
The use of the languages in design is demonstrated in a case study, where models for tasks,
dialogue and concrete interaction are developed. The case study shows that the languages
support movements along the perspective, granularity and formality dimensions.