Using ConcurTaskTrees for Designing New Interactive Applications in
an Industrial Context
by Fabio Paternò
The User-centred Design Group
of CNUCE (http://giove.cnuce.cnr.it/) has developed a method, known as
TLIM to give systematic support to the design and development of usable
interactive applications (http://giove.cnuce.cnr.it/ ~mmhelp/TLIM.html).
This method includes a notation (ConcurTask Trees) to design task models
with the support of an automatic tool (http://giove. cnuce.cnr.it/task.tgz).
The task models allow the designer to specify hierarchically the activities
which should be performed by the user, the application and their interactions.
The specification indicates the temporal relationships among these activities
and the objects (both the presentation object composing the user interface
and the application objects) which need to be manipulated in their performance.
Task-based methods allow us to improve traditional approaches in software
engineering because they give an integrated description of both user interactions
and functional aspects from the early stages of design and also provide
the possibility to include cognitive and contextual activities in the description.
A task specification is useful to record design solutions agreed by
the different actors involved in the design process (designers, developers,
managers, ergonomists, end users, ...). It can highlight ambiguities, stimulate
questions, make it possible to evaluate different options. A meaningful
task model can be developed only after an informal phase during which the
user requirements are gathered by interviews, questionnaires and analyses
of how the current systems support the tasks considered. A ConcurTaskTrees
specification is easy to understand and to use, thus improving communication
among people discussing the design. It can be used to structure the large-sized
specification which is developed in industrial applications.
Once the task model has been designed, a set of rules are provided with
the support of an automatic tool, allowing developers to obtain first an
application architecture complying with the temporal and semantic requirements
indicated in the task model and then a Java prototype.
The application architecture is designed by a composition of instances
of the interactor model which acts as an abstract model for objects interacting
with the user. This is an implementation-independent description which
can be easily prototyped into a corresponding implementation by using various
types of tool kits for software development.
In contrast with visual user-interface builder tools which only give
a low-level description of the interaction between users and application
objects, this approach supports the user interface design starting from
high-level descriptions. Advantages are that the development process is
better structured, it is easier to recognise reusable structures in task
models, and developers can obtain implementations consistent with the high-level
description. This means that more usable applications can be obtained as
the end user interface provides actions which can be immediately mapped
onto logical actions. The dialogues supported by these actions reflect
the temporal relationships defined at the task level and implementation
details, which are less comprehensible for the end user, are hidden.
BAAN is an ERP (Enterprise Resource Planning) vendor: it builds applications
for the logistics, human resources, finance, etc. of industrial enterprises.
It has more than 3000 employees, of which 1200 people are involved in the
Research and Development of these applications. BAAN delivers applications
in more than 50 countries, world-wide. One of BAAN's main company policies
is to continuously invest in new technologies; this has made the company
fast growing and successful.
The CNUCE User-centred Design Group and BAAN started a first cooperation
in September '96 with the aim of applying the TLIM method to applications
of interest for BAAN. As a result BAAN is focusing much more on user interface
issues than before and now realises the importance of considering the tasks
the users have to perform when designing effective and efficient applications.
They have found TLIM's combination of human-computer interaction with interactive
software implementation development to be unique. During this cooperation,
the tests and applications developed provided information which was used
to further improve the method by adding new features and extending current
ones
A new cooperation agreement between CNUCE and BAAN has now been signed.
It will extend the TLIM method in two main directions: developing a set
of task patterns expressed in ConcurTaskTrees which incorporate design
solutions to recurring problems, and extending the notation so as to capture
requirements raised by multi-users applications. A first set of possible
task patterns has been identified but further work is needed to identify
a full language of task patterns for interactive applications and to map
them onto patterns of software components. The main motivation is to provide
a systematic support for reuse in design user interactions. This is especially
important in an industrial context in order to save efforts and to guarantee
consistency in the design of similar applications. We want to improve current
approaches to pattern design as most of the actual patterns are oriented
towards functional patterns, often in object-oriented models, whereas we
are interested in task patterns including dialogue and functional aspects.
The hierarchical structure of ConcurTask-Trees has two advantages: it provides
a large range of granularity allowing large and small task structures to
be reused and it enables reusable structures to be defined at both a low
and a high semantic level.
Please contact:
Fabio Paternò - CNUCE- CNR
Tel: +39 50 593289
E-mail: f.paterno@cnuce.cnr.it