INTERaction TEMPlates TO COMponents

INTERaction TEMPlates TO
COMponents (InterTempToCom)
CMPT 856
David Paquette
ConcurTaskTrees
Types of Tasks
Icon
Description
Temporal Relations
Icon
Description
Syntax
[]
Choice
T1 [] T2
|=|
Order Independency
T1 |=| T2
|||
Concurrent
T1 ||| T2
|[ ]|
Concurrent with
information exchange
T1 |[ ]| T2
Unary Operators
[>
Disabling
T1 [> T2
Icon Description Syntax
|>
Suspend/Resume
T1 |> T2
Abstraction Task
Application Task
Interaction Task
User Task
*
Iterative
T1 *
>>
Enabling
T1 >> T2
[]
Optional
[ T1 ]
[] >>
T1 [] >> T2
Connection
T1
Enabling with
information exchange
ConcurTaskTrees

Task model of a user sending an e-mail
Repeating Sub-Trees
Interaction Templates


Model complex interface interactions
commonly found in information systems
Parameterized CTT subtrees


Inserted into large task models
Customizable


Through parameters, or
By hand
Defining Interaction Templates


Compact description of a CTT that can
be customized through a set of
parameters
Interaction Template Definition
Language


XML CTT description
Embedded template statements
Defining Interaction Templates
<TaskModel NameTaskModelID=“C:\My Documents\...\cttLabAssistant.xml>
<Task Id=“Use Lab Assistant” …>
<SubTask>
<Task Id=“Enter Batch” …>…</Task>
<Task Id=“Process Batch” …>…</Task>
<Task Id=“Ship Batch” …>…</Task>
</SubTask>
</Task>
</TaskModel>
XML CTT Description
Defining Interaction Templates
<it:template name=“Data Table”>
<it:options optionName=“optionType” … />
<Task Id=“Data Table” …>
…
</Task>
</it:template>
Defining a template and its options

Option types include

String, Integer, Boolean, and XML Files
Defining Interaction Templates
…
<it:case>
<it:condition expression=“$OS=Windows”>
<Task Id=“Print Document” …> … </Task>
</it:condition>
</it:case>
…
Defining a template and its options

it:case chooses the first it:condition
whose expression evaluates to true
Defining Interaction Templates
…
<it:foreach col=“$schema.element”>
<Task Id=“Sort By $col.name” optional=“$col.optional…>
…
</Task>
</it:foreach>
…
Defining a template and its options

it:foreach loops through each possible
value for its single attribute
Template Attributes/Elements

$attribName is replaced with a value


Attribute value or
XML element

Sub elements and attributes can also be
referenced (eg. $schema.element.name)
Simulating Task Models

Calculate Enabled
Task Sets

Calculate Initial State

Calculate State
Transition Network
Simulating Interaction Templates

Interaction Templates can be simulated
using concrete user interface
components
=
Simulating Interaction Templates


Enhanced Task Model Simulator takes in
XML CTT description and ETS/STN
Establishes a socket connection with all
Interaction Template prototypes
Simulating Interaction Templates

When an Interaction Template is
reached in simulation, a message is
sent to the prototype
Interaction
Template
Prototype
Enhanced
Task Model
Simulator
Perform Task
Enable
Disable
Interaction
Template
Prototype
Interaction
Template
Prototype
Generating Prototypes
Inherits From
TfrmPrototype

TfrmDataTable
TfrmPrototype contains


Basic functionality common to all
prototypes (communication with simulator)
Specific adaptations based on it:options
Enhanced Task Model Simulator
Conclusions

Interaction Template Definition
Language


Define templates through annotations?
Enhanced Task Model Simulator


Simulate Interaction Templates using
concrete user interface components
Currently, prototypes are manually built

Adapt to the options set in the template
INTERaction TEMPlates TO
COMponents (InterTempToCom)