Class: Avatar

Responsibilities

Collaborators

move the avatar to a point on the screen

Bubble

make the avatar point in a direction

none

make the avatar look at a point

none

Avatar resumes its behavior

none

activates a particular behavior in the Avatar

none

change the time until idleness kicks in

Bubble, TaskDisplay

start a random idle behavior

none

do idle behavior #1

none

do idle behavior #2

none

do idle behavior #3

none

start an idle behavior according to type

none

start the idle alarm, keeps track of when last idle

Bubble, TaskDisplay

 

Class: TaskDisplay

Responsibilities

Collaborators

display all the steps in a task, and highlights the current steps

TaskInstructions

go to the next step in the task

TaskInstructions

go to the previous step in the task

TaskInstructions

Animate current step

TaskInstructions, Step

 

Class: Bubble

Responsibilities

Collaborators

show the task

TaskDisplay

list all the tasks

Guide

load a task

Guide, HelpRepository, TaskInstructions, DemoEngine, XMLload

search a task

Guide, HelpRepository, TaskInstructions

save to file

Guide, HelpRepository, TaskInstructions, DemoEngine, XMLsave

 

Class: Guide

Responsibilities

Collaborators

show all the tasks available for help

HelpRepository

get all the tasks that matched with certain keywords input

HelpRepository, TaskInstructions

load a task

HelpRepository, DemoEngine

 

Class: HelpRepository

Responsibilities

Collaborators

add a new instruction into our repository

TaskInstructions

browse all available instructions

TaskInstructions

show the contents of all available instructions

TaskInstructions

show the contents and the descriptions of all available instructions

TaskInstructions

get the instructions for a particular task name

TaskInstructions

search and return tasks that have matching keywords

TaskInstructions

remove an instruction from our repository

TaskInstructions

load an XML input file from system

DemoEngine, TaskInstructions

take in a task name and an output file, save in XML format

TaskInstructions, DemoEngine

 

Class: TaskInstructions

Responsibilities

Collaborators

file out task instructions out to a file

Step, Bubble

file in the task instructions from a file

Step, Bubble

insert a step at some index

Step

get the keywords for this particular task

None

remove a step at a particular index

Step

returns a step at a particular index

Step

put in a step at a particular index

Step

return all the steps in this task

Step

take in an array of steps and make these the steps in this task

Step

return the task description for this task

None

modify the task description

None

return the task name

None

modify the task name

None

link a macro to a step index

Step, DemoEngine

 

Class: DemoEngine

Responsibilities

Collaborators

get the corresponding macro given a macroID

Step

add a macro given a macroID

Step

remove a macro given a macroID

Step

 

Class: Step

Responsibilities

Collaborators

animates the demonstration

TaskDisplay

makes sure previous steps are executed before going to next step

None

 

 Class: XMLsave

Responsibilities

Collaborators

save a TaskInstructions

TaskInstructions, DemoEngine, XMLElement, Bubble

 

Class: XMLload

Responsibilities

Collaborators

load a TaskInstructions and its macros from file

TaskInstructions, DemoEngine, XMLElement, Bubble