Graph documentation: Timer

Documentation [Watch]: Application for countdown or 'egg timer'. Timer allows the user to set the length of the countdown in hours and minutes and then starts counting down from this, ringing the alarm when the time has elapsed.

Graph picture: Timer

Graph dictionary

ObjectType of objectDocumentation
Action 
Action   
Action 
Action   
Action 
Action   
Action 
Action   
Action 
Action   
Action 
Action   
Action 
Action   
Action 
Action   
Timer 
Alarm   
Down 
Button   
Mode 
Button   
Set 
Button   
Up 
Button   
  
DisplayFn   
counting 
DisplayFn   
editing 
DisplayFn   
timer 
Icon   
Start [Watch] 
Start [Watch]   
Counting 
State [Watch]  In this state the countdown is running and the countdown length left is shown on display. 
EditHours 
State [Watch]   
EditMinutes 
State [Watch]   
Rang 
State [Watch]  This state is invoked when the countdown timer has run out, invoking the RingState transition (red bell symbol). 
Stopped 
State [Watch]  In this state the timer is stopped and the original countdown length left is shown on the display. 
Stop [Watch] 
Stop [Watch]   
length 
Variable  Variable that stores the original length of the countdown time. We need this so we can remember it after a countdown has been started then finished or aborted. 
lengthLeft 
Variable  Variable that stores the information how much time is left until the countdown has run out. 
stopTime 
Variable  Variable that stores the current stop time: the value of sysTime at which the timer will ring. 
sysTime 
VariableRef  This is the underlying system's real clock, unaffected by changing clockOffset to set the time the running Watch perceives. 


: Action

Properties:

Action relationships:
In roleIn relationshipWith object(s)In role
: Action : Transition Rang : From  
 Stopped : To
: ActionBody  : Set length : Get  
 lengthLeft : Set
: ActionBody  : Icon timer Off: Boolean

Action links:
Link typeGraph's name
Decompositionnone
Explosionsnone


: Action

Properties:

Action relationships:
In roleIn relationshipWith object(s)In role
: Action : Transition Up : Event  
 EditHours : From  
 EditHours : To
: ActionBody  T: Roll  length : Set

Action links:
Link typeGraph's name
Decompositionnone
Explosionsnone


: Action

Properties:

Action relationships:
In roleIn relationshipWith object(s)In role
: Action : Transition Up : Event  
 EditMinutes : From  
 EditMinutes : To
: ActionBody  T: Roll  length : Set

Action links:
Link typeGraph's name
Decompositionnone
Explosionsnone


: Action

Properties:

Action relationships:
In roleIn relationshipWith object(s)In role
: Action : Transition Set : Event  
 EditHours : From  
 Stopped : To
: Action : Transition Down : Event  
 Stopped : From  
 Stopped : To
: Action : Transition Set : Event  
 EditMinutes : From  
 Stopped : To
: ActionBody  : Set length : Get  
 lengthLeft : Set

Action links:
Link typeGraph's name
Decompositionnone
Explosionsnone


: Action

Properties:

Action relationships:
In roleIn relationshipWith object(s)In role
: Action : Transition Down : Event  
 EditHours : From  
 EditHours : To
: ActionBody  F: Roll  length : Set

Action links:
Link typeGraph's name
Decompositionnone
Explosionsnone


: Action

Properties:

Action relationships:
In roleIn relationshipWith object(s)In role
: Action : Transition Up : Event  
 Stopped : From  
 Counting : To
: ActionBody  : Alarm lengthLeft : Get  
 Timer : Set
: ActionBody  : Icon timer On: Boolean
: ActionBody  : Set sysTime : Get  
 lengthLeft : Plus  
 stopTime : Set

Action links:
Link typeGraph's name
Decompositionnone
Explosionsnone


: Action

Properties:

Action relationships:
In roleIn relationshipWith object(s)In role
: Action : Transition Down : Event  
 EditMinutes : From  
 EditMinutes : To
: ActionBody  F: Roll  length : Set

Action links:
Link typeGraph's name
Decompositionnone
Explosionsnone


: Action

Properties:

Action relationships:
In roleIn relationshipWith object(s)In role
: Action : Transition Up : Event  
 Counting : From  
 Stopped : To
: ActionBody  : Icon timer Off: Boolean
: ActionBody  : Set stopTime : Get  
 sysTime : Minus  
 lengthLeft : Set
: ActionBody  : Alarm Timer : Off

Action links:
Link typeGraph's name
Decompositionnone
Explosionsnone


Timer: Alarm

Properties:
Name [Watch]Timer 
Senses Local Time

Timer relationships:
In roleIn relationshipWith object(s)In role
: From : RingState Rang : To
: Off : Alarm Action : ActionBody
: Set : Alarm Action : ActionBody  
 lengthLeft : Get

Timer links:
Link typeGraph's name
Decompositionnone
Explosionsnone


Down: Button

Properties:
Name [Watch]Down 

Down relationships:
In roleIn relationshipWith object(s)In role
: Event : Transition Action : Action  
 Stopped : From  
 Stopped : To
: Event : Transition Action : Action  
 EditMinutes : From  
 EditMinutes : To
: Event : Transition Action : Action  
 EditHours : From  
 EditHours : To

Down links:
Link typeGraph's name
Decompositionnone
Explosionsnone


Mode: Button

Properties:
Name [Watch]Mode 

Mode relationships:
In roleIn relationshipWith object(s)In role
: Event : Transition EditMinutes : From  
 EditHours : To
: Event : Transition Stopped : From  
 Stop [Watch] : To
: Event : Transition EditHours : From  
 EditMinutes : To
: Event : Transition Counting : From  
 Stop [Watch] : To

Mode links:
Link typeGraph's name
Decompositionnone
Explosionsnone


Set: Button

Properties:
Name [Watch]Set 

Set relationships:
In roleIn relationshipWith object(s)In role
: Event : Transition Action : Action  
 EditMinutes : From  
 Stopped : To
: Event : Transition Stopped : From  
 EditHours : To
: Event : Transition Action : Action  
 EditHours : From  
 Stopped : To

Set links:
Link typeGraph's name
Decompositionnone
Explosionsnone


Up: Button

Properties:
Name [Watch]Up 

Up relationships:
In roleIn relationshipWith object(s)In role
: Event : Transition Action : Action  
 Stopped : From  
 Counting : To
: Event : Transition Action : Action  
 EditMinutes : From  
 EditMinutes : To
: Event : Transition Action : Action  
 EditHours : From  
 EditHours : To
: Event : Transition Action : Action  
 Counting : From  
 Stopped : To

Up links:
Link typeGraph's name
Decompositionnone
Explosionsnone


: DisplayFn

Properties:
Name [Watch] 
Obligatory time unitMINUTE 

relationships:
In roleIn relationshipWith object(s)In role
: DisplayFnBody : Set lengthLeft : Get

links:
Link typeGraph's name
Decompositionnone
Explosionsnone


counting: DisplayFn

Properties:
Name [Watch]counting 
Obligatory time unitMINUTE 

counting relationships:
In roleIn relationshipWith object(s)In role
: DisplayFnBody : Set stopTime : Get  
 sysTime : Minus

counting links:
Link typeGraph's name
Decompositionnone
Explosionsnone


editing: DisplayFn

Properties:
Name [Watch]editing 
Obligatory time unitMINUTE 

editing relationships:
In roleIn relationshipWith object(s)In role
: DisplayFnBody : Set length : Get

editing links:
Link typeGraph's name
Decompositionnone
Explosionsnone


timer: Icon

Properties:
IconIDtimer 

timer relationships:
In roleIn relationshipWith object(s)In role
Off: Boolean  : Icon Action : ActionBody
Off: Boolean  : Icon Action : ActionBody
On: Boolean  : Icon Action : ActionBody

timer links:
Link typeGraph's name
Decompositionnone
Explosionsnone


: Start [Watch]

Properties:

Start [Watch] relationships:
In roleIn relationshipWith object(s)In role
: From : Transition Stopped : To

Start [Watch] links:
Link typeGraph's name
Decompositionnone
Explosionsnone


Counting: State [Watch]

Properties:
Name [Watch]Counting 
DisplayFnRefcounting 
Time unit 
Documentation [Watch]In this state the countdown is running and the countdown length left is shown on display. 

Counting relationships:
In roleIn relationshipWith object(s)In role
: From : Transition Mode : Event  
 Stop [Watch] : To
: From : Transition Action : Action  
 Up : Event  
 Stopped : To
: To : Transition Action : Action  
 Up : Event  
 Stopped : From

Counting links:
Link typeGraph's name
Decompositionnone
Explosionsnone


EditHours: State [Watch]

Properties:
Name [Watch]EditHours 
DisplayFnRefediting 
Time unitHOUR_OF_DAY 
Documentation [Watch] 

EditHours relationships:
In roleIn relationshipWith object(s)In role
: From : Transition Action : Action  
 Down : Event  
 EditHours : To
: From : Transition Action : Action  
 Set : Event  
 Stopped : To
: From : Transition Mode : Event  
 EditMinutes : To
: From : Transition Action : Action  
 Up : Event  
 EditHours : To
: To : Transition Set : Event  
 Stopped : From
: To : Transition Action : Action  
 Down : Event  
 EditHours : From
: To : Transition Action : Action  
 Up : Event  
 EditHours : From
: To : Transition Mode : Event  
 EditMinutes : From

EditHours links:
Link typeGraph's name
Decompositionnone
Explosionsnone


EditMinutes: State [Watch]

Properties:
Name [Watch]EditMinutes 
DisplayFnRefediting 
Time unitMINUTE 
Documentation [Watch] 

EditMinutes relationships:
In roleIn relationshipWith object(s)In role
: From : Transition Action : Action  
 Set : Event  
 Stopped : To
: From : Transition Mode : Event  
 EditHours : To
: From : Transition Action : Action  
 Down : Event  
 EditMinutes : To
: From : Transition Action : Action  
 Up : Event  
 EditMinutes : To
: To : Transition Action : Action  
 Down : Event  
 EditMinutes : From
: To : Transition Mode : Event  
 EditHours : From
: To : Transition Action : Action  
 Up : Event  
 EditMinutes : From

EditMinutes links:
Link typeGraph's name
Decompositionnone
Explosionsnone


Rang: State [Watch]

Properties:
Name [Watch]Rang 
DisplayFnRef 
Time unit 
Documentation [Watch]This state is invoked when the countdown timer has run out, invoking the RingState transition (red bell symbol). 

Rang relationships:
In roleIn relationshipWith object(s)In role
: From : Transition Action : Action  
 Stopped : To
: To : RingState Timer : From

Rang links:
Link typeGraph's name
Decompositionnone
Explosionsnone


Stopped: State [Watch]

Properties:
Name [Watch]Stopped 
DisplayFnRef 
Time unit 
Documentation [Watch]In this state the timer is stopped and the original countdown length left is shown on the display. 

Stopped relationships:
In roleIn relationshipWith object(s)In role
: From : Transition Set : Event  
 EditHours : To
: From : Transition Mode : Event  
 Stop [Watch] : To
: From : Transition Action : Action  
 Down : Event  
 Stopped : To
: From : Transition Action : Action  
 Up : Event  
 Counting : To
: To : Transition Action : Action  
 Rang : From
: To : Transition Action : Action  
 Down : Event  
 Stopped : From
: To : Transition Action : Action  
 Set : Event  
 EditHours : From
: To : Transition Start [Watch] : From
: To : Transition Action : Action  
 Set : Event  
 EditMinutes : From
: To : Transition Action : Action  
 Up : Event  
 Counting : From

Stopped links:
Link typeGraph's name
Decompositionnone
Explosionsnone


: Stop [Watch]

Properties:

Stop [Watch] relationships:
In roleIn relationshipWith object(s)In role
: To : Transition Mode : Event  
 Stopped : From
: To : Transition Mode : Event  
 Counting : From

Stop [Watch] links:
Link typeGraph's name
Decompositionnone
Explosionsnone


length: Variable

Properties:
Name [Watch]length 
TypeMETime 
Documentation [Watch]Variable that stores the original length of the countdown time. We need this so we can remember it after a countdown has been started then finished or aborted. 

length relationships:
In roleIn relationshipWith object(s)In role
: Get : Set Action : ActionBody  
 lengthLeft : Set
: Get : Set editing : DisplayFnBody
: Get : Set Action : ActionBody  
 lengthLeft : Set
: Set T: Roll  Action : ActionBody
: Set F: Roll  Action : ActionBody
: Set T: Roll  Action : ActionBody
: Set F: Roll  Action : ActionBody

length links:
Link typeGraph's name
Decompositionnone
Explosionsnone


lengthLeft: Variable

Properties:
Name [Watch]lengthLeft 
TypeMETime 
Documentation [Watch]Variable that stores the information how much time is left until the countdown has run out. 

lengthLeft relationships:
In roleIn relationshipWith object(s)In role
: Get : Alarm Action : ActionBody  
 Timer : Set
: Get : Set  : DisplayFnBody
: Plus : Set Action : ActionBody  
 sysTime : Get  
 stopTime : Set
: Set : Set Action : ActionBody  
 length : Get
: Set : Set Action : ActionBody  
 stopTime : Get  
 sysTime : Minus
: Set : Set Action : ActionBody  
 length : Get

lengthLeft links:
Link typeGraph's name
Decompositionnone
Explosionsnone


stopTime: Variable

Properties:
Name [Watch]stopTime 
TypeMETime 
Documentation [Watch]Variable that stores the current stop time: the value of sysTime at which the timer will ring. 

stopTime relationships:
In roleIn relationshipWith object(s)In role
: Get : Set counting : DisplayFnBody  
 sysTime : Minus
: Get : Set Action : ActionBody  
 sysTime : Minus  
 lengthLeft : Set
: Set : Set Action : ActionBody  
 sysTime : Get  
 lengthLeft : Plus

stopTime links:
Link typeGraph's name
Decompositionnone
Explosionsnone


sysTime: VariableRef

Properties:
Name [Watch]sysTime 
TypeMETime 
Documentation [Watch]This is the underlying system's real clock, unaffected by changing clockOffset to set the time the running Watch perceives. 

sysTime relationships:
In roleIn relationshipWith object(s)In role
: Get : Set Action : ActionBody  
 lengthLeft : Plus  
 stopTime : Set
: Minus : Set Action : ActionBody  
 stopTime : Get  
 lengthLeft : Set
: Minus : Set counting : DisplayFnBody  
 stopTime : Get

sysTime links:
Link typeGraph's name
Decompositionnone
Explosionsnone