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)
© Copyright 2026 Paperzz