[go: up one dir, main page]

0% found this document useful (0 votes)
33 views33 pages

Unit 5 L2 Engineering Task Models and CTT

hci notes

Uploaded by

k35973916
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
33 views33 pages

Unit 5 L2 Engineering Task Models and CTT

hci notes

Uploaded by

k35973916
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 33

NPTEL Course on

Human Computer Interaction


- An Introduction
Dr. Pradeep Yammiyavar Dr. Samit Bhattacharya
Professor, Assistant Professor,
Dept. of Design, Dept. of Computer Science
IIT Guwahati, and Engineering,
Assam, India IIT Guwahati, Assam, India

Indian Institute of Technology Guwahati


Module 6:
Task Modeling and Analysis

Lecture 2:
Engineering Task Models and CTT

Dr. Samit Bhattacharya


Objective

• In the previous lecture, we learned about the


importance of task modeling and analysis in HCI

• We have also learned about the hierarchical task


analysis

• In this lecture, we shall learn about the


engineering task models
Objective

• In particular, we shall learn about the following


– The need for engineering task models

– ConcurTaskTrees (CTT) – an engineering task model


Problems with HTA

• HTA is easy to understand, therefore it can


serve as a good starting point for modeling
tasks

• However, HTA is not very helpful when


implementation comes into the picture
Problems with HTA

• In order to implement something, we need to


specify it in an unambiguous way

– The HTA lacks the rigor and formalism required for


such specification

• Engineering task models are more useful as


they can be specified formally
Engineering Task Models -
Characteristics
• Engineering task models should have flexible
and expressive notations, which are able to
describe clearly the possible activities
– Notations should be sufficiently powerful to
describe interactive and dynamic behaviors
– Notations should be readable so that they can also
be interpreted by people with little formal
background
Engineering Task Models -
Characteristics
• An engineering task model should have
systematic methods to support the
specification, analysis, and use of task models
in the design
– Otherwise, it will be difficult to use the knowledge
gained from task analysis
– Such methods can also be incorporated in tools
aiming to support interactive designers
Engineering Task Models -
Characteristics
• Another characteristics of an engineering task
model is that, it should have support for the
reuse of good design solutions to problems
that occur across many applications
– This is especially relevant in industrial context,
where developers often have to design applications
that address similar problems
Engineering Task Models -
Characteristics
• Finally, it is also important that engineering
task models make automatic tools available to
support the various phases of the design cycle.
– Tools should have intuitive representations and
provide information useful for the logical activities
of designers
ConcurTaskTree (CTT)

• CTT is an engineering approach to task


modeling

• A CTT consists of tasks and operators


– Operators are used to depict temporal relationships
between tasks
ConcurTaskTree (CTT)

• The key features of a CTT are


– Focus on activities that users aim to perform

– Hierarchical structure

– Graphical syntax

– Rich set of temporal operators


CTT – Task Categories

• In CTT, four task categories are defined


– User task: these are tasks that represent only
internal cognitive activity of a user, such as selecting
a strategy to solve a problem

– It is graphically depicted with the symbol

– Can have subtypes such as planning, comparing,


problem solving …
CTT – Task Categories

• In CTT, four task categories are defined


– Interaction task: these are user actions with
possibility of immediate system feedback, such as
editing a diagram

– It is graphically depicted with the symbol

– Can have subtypes such as selection, edit, control …


CTT – Task Categories

• In CTT, four task categories are defined


– Application task: these refer to tasks performed by
the system only, such as generating a query result

– It is graphically depicted with the symbol

– Can have subtypes such as overview, comparison,


locate, grouping, processing feedback …
CTT – Task Categories

• In CTT, four task categories are defined


– Abstract task: these refer to tasks whose subtasks
are of different types (e.g., one user task and one
application task) or the task type is not yet decided

– It is graphically depicted with the symbol


CTT – Task Categories

• CTT provides facilities to take care of more


task characteristics, namely iterative tasks and
optional tasks
– An iterative task T is denote by T*
– An optional task T is denoted by [T]
CTT – Hierarchy

• CTT supports hierarchical task representation.


Task at the same level can represent different
options or same abstraction level to be
performed
Example: in order to do T1, you have to perform T2
and/or T3
CTT – Hierarchy

• Note that in CTT, hierarchy does not imply


sequence

• In order to represent sequence, the tasks have


to be modeled at the same level in a left-to-
right manner
CTT – Temporal Operators

• There are eight temporal operators defined in


CTT
Enabling operator (>>): if two tasks T1 and T2 are
related by the operator as T>>T2, it means that T2
can not occur before T1
Example: you can not enroll in a course unless you select the
course
CTT – Temporal Operators

• There are eight temporal operators defined in


CTT
Choice operator ([]): if two tasks T1 and T2 are
related by the operator as T[]T2, it means that both T1
and T2 are enabled, however, only one can be
performed at a time
Example: you can either browse a web site or follow a link for
details
CTT – Temporal Operators
• There are eight temporal operators defined in
CTT
Enabling with information passing operator
([]>>): if two tasks T1 and T2 are related by the
operator as T[]>>T2, it means that T2 can’t be
performed before T1 and depends on the results of T1
Example: a system can generate result only after user specifies
query. The result depends on the quesry
CTT – Temporal Operators
• There are eight temporal operators defined in
CTT
Concurrent operator (|||): if two tasks T1 and T2 are
related by the operator as T|||T2, it means that T1, T2
can be performed at any time, in any order
Example: to check the overall course load, we need to check the
semester as well as the course workload
CTT – Temporal Operators
• There are eight temporal operators defined in
CTT
Concurrent communicating operator (|[]|): if two
tasks T1 and T2 are related by the operator as T|[]|T2,
it means that T1, T2 can be performed concurrently
and can exchange information
Example: an onscreen calendar highlighting dates being entered
by the user
CTT – Temporal Operators
• There are eight temporal operators defined in
CTT
Task independence operator (|=|): if two tasks T1
and T2 are related by the operator as T|=|T2, it means
that T1, T2 can be performed independent to one
another, however, when one starts, it has to finish
before the other can start
Example: when installing a new software, you can either register
and then install or vice-versa
CTT – Temporal Operators
• There are eight temporal operators defined in
CTT
Disabling operator ([>): if two tasks T1 and T2 are
related by the operator as T[>T2, it means that T1
(usually iterative) is completely interrupted by T2
Example: a user can iteratively input data in a form until it is sent
CTT – Temporal Operators
• There are eight temporal operators defined in
CTT
Suspend-resume operator (|>): if two tasks T1 and
T2 are related by the operator as T|>T2, it means T1
can be interrupted by T2. When T2 ends, T1 can
resume from where it stopped
Example: editing some data and then printing it, assuming the
two can’t be performed together
CTT – Other Features

• Tasks in CTT are used to manipulate Objects


• Two types of objects defined
– Perceivable (user interface) objects – these refer
to output objects for presenting information (e.g.,
windows, tables, graphs) or items which users can
interact with (e.g., menus, icons, windows)

– Application (domain) objects: these are entities


that belong to the application domain
CTT – Other Features

• Information concerning application objects


needs to be mapped onto perceivable objects
to be presented to the user

• Examples of application objects include an


order in a business application or a flight in an
air traffic control application
CTT – Other Features

• Multiple user interface objects can be


associated with a domain object
─ For example, temperature (a domain object) can be
represented by a bar- chart (an user interface
object) or a textual value (another user interface
object)
CTT – Other Features

• Each object can be manipulated by one/more


tasks

• Tasks can have other information as attribute


(e.g., frequency, informal description,
estimated performance time etc.)
CTT - Advantage

• Formal notations help to check for


completeness in specification (e.g. each non-
basic task has at least two children)
• It allows us to compare two models in terms
of no of tasks, no of basic tasks, allocation of
tasks, no of instances of temporal operators,
the structure of the task models (number of
levels, maximum number of sibling tasks etc.)
Note

• In this lecture, we have learned about different


types of tasks, the temporal relationships
between tasks and the syntax to represent both

• In the next lecture, we shall illustrate the


concepts with an example

You might also like