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