Sunday, November 23, 2008

Concurrent Task Trees Reloaded

Using task models in design and interfaces development have made an important contribution to getting interactive applications, more user-oriented than traditional applications.

The achievement of such task models, to be professional, involves the collaboration of specialists in areas such as programming, design, psychology, etc. Notation choosing must take into account several aspects, such as:

  • an hierarchical logical structure, which proved to be a very useful representation of task models, because it allows designers to think design at a certain level of abstraction, and that, obviously, makes the partial results in a better shape
  • specifying a variety of temporal relationships between the entities considered in the design of tasks, because modern interfaces must bear the behavior of hyper-interactive users.
Also, to achieve an interface which performs functions for the application of which is a part of, is required a well based notation system that allows a good integration of functionalities in the application.

Problems that arise in designing models of tasks:

  • the priority of different operators using the same level in CTT;
  • the need to nominate component that will carry out the task;
  • additional information about the tasks that can be used in the user interface Development;
  • the need to better define the relationships between parent and its subtasks.

What is a task?

A task defines the manner in which a user can achieve a goal in a specific field application.The task changes a state of the system. A task can be described by the following attributes:
  • Name: is used to identify the task.
  • Type: there are four possible types (abstract, user, application, interaction).
  • Parent task: name of the father's task.
  • Objects: vectors of objects, where each element defines the name the object, object type, input a list of actions items, list their output.
  • Initial Actions: initial set of possible actions .
  • Final Action: final set of actions.

The stages of making task models:

Task models are built in three stages:

  1. an hierarchical logical decomposition of the tasks represented by a tree-type structure
  2. identifying the relationships between temporal tasks on the same level
  3. identifying objects associated with each task and every action that allow mutual communication.The process of identification is done on every level.

Temporal Operators used in CTT:

  1. T1 | | | T2, independent concurrency: the actions of the two tasks can be done in any order.
  2. T1 |[]| T2, synchronization:the two tasks have to synchronize certain actions in order to make the exchange of information.
  3. T1 >> T2, activation:the first task is completed, and the second is activated
  4. T1 []>> T2, enabling with information passing: in this case is intended to highlight the fact that T1 task is completed, but provides some value for the task T2.
  5. T1 [> T2, deactivation: if an action of the second task occurs, the first is disabled.
  6. T1 |> T2, suspend: T2 can place T1 and T2 when finaliezeaza, T1 can even take their execution in the state that has been interrupted.
  7. [T1] optional task .
  8. Recursion:possibility to include specifications of tasks in the task itself.

The CTT (Concurrent Task Tree Environment)

Concurrent Task Tree Environment is a tool developed by the Human Computer Interaction Group - ISTI (Pisa), this editor can generate task models for a single user or for multiple users. In the address above, you can also find various versions of the download, installation instructions, explaining how to use publications.

Conclusions

  • design should be simple and coherent
  • the flow of tasks must express the evolution of the system online.

Resources

http://www.acm.org/uist/archive/adjunct/2002/pdf/posters/p17-ali.pdf
http://giove.isti.cnr.it/CTTE/HowToUse.html
http://www.revistaie.ase.ro/content/42/boboila.pdf