interaction templates to components (intertemptocom) cmpt 856 david paquette

19
INTERaction TEMPlates TO COMponents (InterTempToCom) CMPT 856 David Paquette

Upload: donald-mills

Post on 20-Jan-2016

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: INTERaction TEMPlates TO COMponents (InterTempToCom) CMPT 856 David Paquette

INTERaction TEMPlates TO COMponents (InterTempToCom)

CMPT 856

David Paquette

Page 2: INTERaction TEMPlates TO COMponents (InterTempToCom) CMPT 856 David Paquette

ConcurTaskTrees

User Task

Interaction Task

Application Task

Abstraction Task

DescriptionIcon

Types of Tasks

T1Connection

[ T1 ]Optional [ ]

T1 *Iterative *

SyntaxDescriptionIcon

Unary Operators

Temporal RelationsIcon Description Syntax

[] Choice T1 [] T2

|=| Order Independency T1 |=| T2

||| Concurrent T1 ||| T2

|[ ]| Concurrent with information exchange

T1 |[ ]| T2

[> Disabling T1 [> T2

|> Suspend/Resume T1 |> T2

>> Enabling T1 >> T2

[] >> Enabling with information exchange

T1 [] >> T2

Page 3: INTERaction TEMPlates TO COMponents (InterTempToCom) CMPT 856 David Paquette

ConcurTaskTrees

Task model of a user sending an e-mail

Page 4: INTERaction TEMPlates TO COMponents (InterTempToCom) CMPT 856 David Paquette

Repeating Sub-Trees

Page 5: INTERaction TEMPlates TO COMponents (InterTempToCom) CMPT 856 David Paquette

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

Page 6: INTERaction TEMPlates TO COMponents (InterTempToCom) CMPT 856 David Paquette

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

Page 7: INTERaction TEMPlates TO COMponents (InterTempToCom) CMPT 856 David Paquette

Defining Interaction Templates

XML CTT Description

<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>

Page 8: INTERaction TEMPlates TO COMponents (InterTempToCom) CMPT 856 David Paquette

Defining Interaction Templates

Defining a template and its options

<it:template name=“Data Table”> <it:options optionName=“optionType” … />

<Task Id=“Data Table” …> … </Task>

</it:template>

Option types include String, Integer, Boolean, and XML Files

Page 9: INTERaction TEMPlates TO COMponents (InterTempToCom) CMPT 856 David Paquette

Defining Interaction Templates

it:case chooses the first it:condition whose expression evaluates to true

Defining a template and its options

… <it:case> <it:condition expression=“$OS=Windows”> <Task Id=“Print Document” …> … </Task> </it:condition> </it:case>…

Page 10: INTERaction TEMPlates TO COMponents (InterTempToCom) CMPT 856 David Paquette

Defining Interaction Templates

it:foreach loops through each possible value for its single attribute

Defining a template and its options

… <it:foreach col=“$schema.element”> <Task Id=“Sort By $col.name” optional=“$col.optional…> … </Task> </it:foreach>…

Page 11: INTERaction TEMPlates TO COMponents (InterTempToCom) CMPT 856 David Paquette

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)

Page 12: INTERaction TEMPlates TO COMponents (InterTempToCom) CMPT 856 David Paquette

Simulating Task Models

Calculate Enabled Task Sets

Calculate Initial State

Calculate State Transition Network

Page 13: INTERaction TEMPlates TO COMponents (InterTempToCom) CMPT 856 David Paquette

Simulating Interaction Templates

Interaction Templates can be simulated using concrete user interface components

=

Page 14: INTERaction TEMPlates TO COMponents (InterTempToCom) CMPT 856 David Paquette

Simulating Interaction Templates Enhanced Task Model Simulator takes in

XML CTT description and ETS/STN Establishes a socket connection with all

Interaction Template prototypes

Page 15: INTERaction TEMPlates TO COMponents (InterTempToCom) CMPT 856 David Paquette

Perform Task

Simulating Interaction Templates

When an Interaction Template is reached in simulation, a message is sent to the prototype

EnhancedTask ModelSimulator

InteractionTemplatePrototype

InteractionTemplatePrototype

InteractionTemplatePrototype

EnableDisable

Page 16: INTERaction TEMPlates TO COMponents (InterTempToCom) CMPT 856 David Paquette

Generating Prototypes

TfrmPrototype contains Basic functionality common to all

prototypes (communication with simulator) Specific adaptations based on it:options

TfrmPrototype TfrmDataTable

Inherits From

Page 17: INTERaction TEMPlates TO COMponents (InterTempToCom) CMPT 856 David Paquette

Enhanced Task Model Simulator

Page 18: INTERaction TEMPlates TO COMponents (InterTempToCom) CMPT 856 David Paquette

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

Page 19: INTERaction TEMPlates TO COMponents (InterTempToCom) CMPT 856 David Paquette

INTERaction TEMPlates TO COMponents (InterTempToCom)