From To Event : ActionBody Set From To Event From To Event Action DisplayFnBody Get Minus From To Event : ActionBody Set : ActionBody Get Set From To Event Action From To Event Action : ActionBody Off: Boolean : ActionBody On: Boolean : ActionBody Off : ActionBody Set To Event Action From From To Action Event From To Event Action : ActionBody Get Plus Set : ActionBody Get Minus Set : ActionBody Get Set From To From To Event Action DisplayFnBody Get DisplayFnBody Get From To Event Action : ActionBody Off: Boolean From To Event From To Event : ActionBody Set From To Event Action : ActionBody Get Set From To Action From To Start [Watch] RingState F: Roll F: Roll T: Roll T: Roll Action Action Action Action Action Action Action Action timer: Icon timer: Icon timer: Icon Stop [Watch] sysTime: VariableRef length: Variable stopTime: Variable lengthLeft: Variable lengthLeft: Variable sysTime: VariableRef length: Variable lengthLeft: Variable length: Variable stopTime: Variable lengthLeft: Variable length: Variable lengthLeft: Variable stopTime: Variable sysTime: VariableRef lengthLeft: Variable Mode: Button Set: Button Down: Button Mode: Button Down: Button Mode: Button Up: Button Up: Button : DisplayFn editing: DisplayFn counting: DisplayFn Rang: State [Watch] Timer: Alarm Timer: Alarm Counting: State [Watch] EditMinutes: State [Watch] EditHours: State [Watch] Stopped: State [Watch]

Graph documentation: Timer

Application nameTimer 
DocumentationApplication 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. 

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


none

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

Subgraph typeGraph's name
Decompositionnone
Explosionsnone


Graph properties

: Action


none

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

Subgraph typeGraph's name
Decompositionnone
Explosionsnone


Graph properties

: Action


none

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

Subgraph typeGraph's name
Decompositionnone
Explosionsnone


Graph properties

: Action


none

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

Subgraph typeGraph's name
Decompositionnone
Explosionsnone


Graph properties

: Action


none

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

Subgraph typeGraph's name
Decompositionnone
Explosionsnone


Graph properties

: Action


none

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

Subgraph typeGraph's name
Decompositionnone
Explosionsnone


Graph properties

: Action


none

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

Subgraph typeGraph's name
Decompositionnone
Explosionsnone


Graph properties

: Action


none

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

Subgraph typeGraph's name
Decompositionnone
Explosionsnone


Graph properties

Timer: Alarm

NameTimer 
Senses Local Time

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

Subgraph typeGraph's name
Decompositionnone
Explosionsnone


Graph properties

Down: Button

Button nameDown 

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

Subgraph typeGraph's name
Decompositionnone
Explosionsnone


Graph properties

Mode: Button

Button nameMode 

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

Subgraph typeGraph's name
Decompositionnone
Explosionsnone


Graph properties

Set: Button

Button nameSet 

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

Subgraph typeGraph's name
Decompositionnone
Explosionsnone


Graph properties

Up: Button

Button nameUp 

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  
 Counting : From  
 Stopped : To
: Event : Transition Action : Action  
 EditHours : From  
 EditHours : To

Subgraph typeGraph's name
Decompositionnone
Explosionsnone


Graph properties

: DisplayFn

Name 
CentralMINUTE 

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

Subgraph typeGraph's name
Decompositionnone
Explosionsnone


Graph properties

counting: DisplayFn

Namecounting 
CentralMINUTE 

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

Subgraph typeGraph's name
Decompositionnone
Explosionsnone


Graph properties

editing: DisplayFn

Nameediting 
CentralMINUTE 

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

Subgraph typeGraph's name
Decompositionnone
Explosionsnone


Graph properties

timer: Icon

IconIDtimer 

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

Subgraph typeGraph's name
Decompositionnone
Explosionsnone


Graph properties

: Start [Watch]


none

In roleIn relationshipWith object(s)In role
: From : Transition Stopped : To

Subgraph typeGraph's name
Decompositionnone
Explosionsnone


Graph properties

Counting: State [Watch]

State nameCounting 
DisplayFncounting 
Blinking 
DocumentationIn this state the countdown is running and the countdown length left is shown on display. 

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

Subgraph typeGraph's name
Decompositionnone
Explosionsnone


Graph properties

EditHours: State [Watch]

State nameEditHours 
DisplayFnediting 
BlinkingHOUR_OF_DAY 
Documentation 

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

Subgraph typeGraph's name
Decompositionnone
Explosionsnone


Graph properties

EditMinutes: State [Watch]

State nameEditMinutes 
DisplayFnediting 
BlinkingMINUTE 
Documentation 

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

Subgraph typeGraph's name
Decompositionnone
Explosionsnone


Graph properties

Rang: State [Watch]

State nameRang 
DisplayFn 
Blinking 
DocumentationThis state is invoked when the countdown timer has run out, invoking the RingState transition (red bell symbol). 

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

Subgraph typeGraph's name
Decompositionnone
Explosionsnone


Graph properties

Stopped: State [Watch]

State nameStopped 
DisplayFn 
Blinking 
DocumentationIn this state the timer is stopped and the original countdown length left is shown on the display. 

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

Subgraph typeGraph's name
Decompositionnone
Explosionsnone


Graph properties

: Stop [Watch]


none

In roleIn relationshipWith object(s)In role
: To : Transition Mode : Event  
 Stopped : From
: To : Transition Mode : Event  
 Counting : From

Subgraph typeGraph's name
Decompositionnone
Explosionsnone


Graph properties

length: Variable

Namelength 
TypeMETime 
DocumentationVariable 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. 

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

Subgraph typeGraph's name
Decompositionnone
Explosionsnone


Graph properties

lengthLeft: Variable

NamelengthLeft 
TypeMETime 
DocumentationVariable that stores the information how much time is left until the countdown has run out. 

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  
 length : Get
: Set : Set Action : ActionBody  
 stopTime : Get  
 sysTime : Minus

Subgraph typeGraph's name
Decompositionnone
Explosionsnone


Graph properties

stopTime: Variable

NamestopTime 
TypeMETime 
DocumentationVariable that stores the current stop time: the value of sysTime at which the timer will ring. 

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

Subgraph typeGraph's name
Decompositionnone
Explosionsnone


Graph properties

sysTime: VariableRef

NamesysTime 
TypeMETime 
DocumentationThis is the underlying system's real clock, unaffected by changing clockOffset to set the time the running Watch perceives. 

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

Subgraph typeGraph's name
Decompositionnone
Explosionsnone


Graph properties