// Code generated by Umple 1.35.0.7523.c616a4dce
digraph "ActLess5Transition" {
compound = true;
// Class: A
// Top and Bottom Level StateMachine: sm
// Start states are shown as a black circle
node [ratio="auto" shape = point, fillcolor="black", width=0.2 ];
start_A_sm [ tooltip = "Class A, SM sm, State start" ];
// Format for normal states
node [ratio="auto" shape = rectangle, width=1,style=rounded];
// State: s1
A_sm_s1 [label = s1, tooltip = "Class A, SM sm, State s1", URL="javascript:Action.stateClicked(\"A^*^sm^*^s1\")"];
// End State: s1
// State: s2
A_sm_s2 [label = s2, tooltip = "Class A, SM sm, State s2", URL="javascript:Action.stateClicked(\"A^*^sm^*^s2\")"];
// End State: s2
// End Top and Bottom Level StateMachine: sm
// All transitions
start_A_sm -> A_sm_s1 [ tooltip = "start to s1", URL="javascript:Action.transitionClicked(\"null\")" ] ;
A_sm_s1 -> A_sm_s2 [ label = "e1 / doTransition();", tooltip = "From s1 to s2 on e1 Transition Action:
doTransition();", URL="javascript:Action.transitionClicked(\"A*^*sm*^*e1*^*s1*^*s2*^*\")" ] ;
}
// Code generated by Umple 1.35.0.7523.c616a4dce
digraph "IncreaseStateSep" {
compound = true;
nodesep =2.0;ranksep =2.0;
// Class: GarageDoor
// Top and Bottom Level StateMachine: status
// Start states are shown as a black circle
node [ratio="auto" shape = point, fillcolor="black", width=0.2 ];
start_GarageDoor_status [ tooltip = "Class GarageDoor, SM status, State start" ];
// Format for normal states
node [ratio="auto" shape = rectangle, width=1,style=rounded];
// State: Open
GarageDoor_status_Open [label = Open, tooltip = "Class GarageDoor, SM status, State Open", URL="javascript:Action.stateClicked(\"GarageDoor^*^status^*^Open\")"];
// End State: Open
// State: Closing
GarageDoor_status_Closing [label = Closing, tooltip = "Class GarageDoor, SM status, State Closing", URL="javascript:Action.stateClicked(\"GarageDoor^*^status^*^Closing\")"];
// End State: Closing
// State: Closed
GarageDoor_status_Closed [label = Closed, tooltip = "Class GarageDoor, SM status, State Closed", URL="javascript:Action.stateClicked(\"GarageDoor^*^status^*^Closed\")"];
// End State: Closed
// State: Opening
GarageDoor_status_Opening [label = Opening, tooltip = "Class GarageDoor, SM status, State Opening", URL="javascript:Action.stateClicked(\"GarageDoor^*^status^*^Opening\")"];
// End State: Opening
// State: HalfOpen
GarageDoor_status_HalfOpen [label = HalfOpen, tooltip = "Class GarageDoor, SM status, State HalfOpen", URL="javascript:Action.stateClicked(\"GarageDoor^*^status^*^HalfOpen\")"];
// End State: HalfOpen
// End Top and Bottom Level StateMachine: status
// All transitions
start_GarageDoor_status -> GarageDoor_status_Open [ tooltip = "start to Open", URL="javascript:Action.transitionClicked(\"null\")" ] ;
GarageDoor_status_Opening -> GarageDoor_status_Open [ label = "reachTop", tooltip = "From Opening to Open on reachTop", URL="javascript:Action.transitionClicked(\"GarageDoor*^*status*^*reachTop*^*Opening*^*Open*^*\")" ] ;
GarageDoor_status_Open -> GarageDoor_status_Closing [ label = "buttonOrObstacle", tooltip = "From Open to Closing on buttonOrObstacle", URL="javascript:Action.transitionClicked(\"GarageDoor*^*status*^*buttonOrObstacle*^*Open*^*Closing*^*\")" ] ;
GarageDoor_status_Closing -> GarageDoor_status_Closed [ label = "reachBottom", tooltip = "From Closing to Closed on reachBottom", URL="javascript:Action.transitionClicked(\"GarageDoor*^*status*^*reachBottom*^*Closing*^*Closed*^*\")" ] ;
GarageDoor_status_Closing -> GarageDoor_status_Opening [ label = "buttonOrObstacle", tooltip = "From Closing to Opening on buttonOrObstacle", URL="javascript:Action.transitionClicked(\"GarageDoor*^*status*^*buttonOrObstacle*^*Closing*^*Opening*^*\")" ] ;
GarageDoor_status_Closed -> GarageDoor_status_Opening [ label = "buttonOrObstacle", tooltip = "From Closed to Opening on buttonOrObstacle", URL="javascript:Action.transitionClicked(\"GarageDoor*^*status*^*buttonOrObstacle*^*Closed*^*Opening*^*\")" ] ;
GarageDoor_status_HalfOpen -> GarageDoor_status_Opening [ label = "buttonOrObstacle", tooltip = "From HalfOpen to Opening on buttonOrObstacle", URL="javascript:Action.transitionClicked(\"GarageDoor*^*status*^*buttonOrObstacle*^*HalfOpen*^*Opening*^*\")" ] ;
GarageDoor_status_Opening -> GarageDoor_status_HalfOpen [ label = "buttonOrObstacle", tooltip = "From Opening to HalfOpen on buttonOrObstacle", URL="javascript:Action.transitionClicked(\"GarageDoor*^*status*^*buttonOrObstacle*^*Opening*^*HalfOpen*^*\")" ] ;
}
// Code generated by Umple 1.35.0.7523.c616a4dce
digraph "Act5Transition" {
compound = true;
// Class: A
// Top and Bottom Level StateMachine: sm
// Start states are shown as a black circle
node [ratio="auto" shape = point, fillcolor="black", width=0.2 ];
start_A_sm [ tooltip = "Class A, SM sm, State start" ];
// Format for normal states
node [ratio="auto" shape = rectangle, width=1,style=rounded];
// State: s1
A_sm_s1 [label = s1, tooltip = "Class A, SM sm, State s1", URL="javascript:Action.stateClicked(\"A^*^sm^*^s1\")"];
// End State: s1
// State: s2
A_sm_s2 [label = s2, tooltip = "Class A, SM sm, State s2", URL="javascript:Action.stateClicked(\"A^*^sm^*^s2\")"];
// End State: s2
// End Top and Bottom Level StateMachine: sm
// All transitions
start_A_sm -> A_sm_s1 [ tooltip = "start to s1", URL="javascript:Action.transitionClicked(\"null\")" ] ;
A_sm_s1 -> A_sm_s2 [ label = "e1 / {...}", tooltip = "From s1 to s2 on e1 Transition Action:
doTransition1();
doTransition2();
doTransition3();
doTransition4();
doTransition5();", URL="javascript:Action.transitionClicked(\"A*^*sm*^*e1*^*s1*^*s2*^*\")" ] ;
}
// Code generated by Umple 1.35.0.7523.c616a4dce
digraph "GuardTransition" {
compound = true;
// Class: A
// Top and Bottom Level StateMachine: sm
// Start states are shown as a black circle
node [ratio="auto" shape = point, fillcolor="black", width=0.2 ];
start_A_sm [ tooltip = "Class A, SM sm, State start" ];
// Format for normal states
node [ratio="auto" shape = rectangle, width=1,style=rounded];
// State: s1
A_sm_s1 [label = s1, tooltip = "Class A, SM sm, State s1", URL="javascript:Action.stateClicked(\"A^*^sm^*^s1\")"];
// End State: s1
// State: s2
A_sm_s2 [label = s2, tooltip = "Class A, SM sm, State s2", URL="javascript:Action.stateClicked(\"A^*^sm^*^s2\")"];
// End State: s2
// End Top and Bottom Level StateMachine: sm
// All transitions
start_A_sm -> A_sm_s1 [ tooltip = "start to s1", URL="javascript:Action.transitionClicked(\"null\")" ] ;
A_sm_s1 -> A_sm_s2 [ label = "e1 [guard()]", tooltip = "From s1 to s2 on e1 Guard: [guard()]", URL="javascript:Action.transitionClicked(\"A*^*sm*^*e1*^*s1*^*s2*^* [guard()]\")" ] ;
}
// Code generated by Umple 1.35.0.7523.c616a4dce
digraph "HideActionTransition" {
compound = true;
// Class: A
// Top and Bottom Level StateMachine: sm
// Start states are shown as a black circle
node [ratio="auto" shape = point, fillcolor="black", width=0.2 ];
start_A_sm [ tooltip = "Class A, SM sm, State start" ];
// Format for normal states
node [ratio="auto" shape = rectangle, width=1,style=rounded];
// State: s1
A_sm_s1 [label = s1, tooltip = "Class A, SM sm, State s1", URL="javascript:Action.stateClicked(\"A^*^sm^*^s1\")"];
// End State: s1
// State: s2
A_sm_s2 [label = s2, tooltip = "Class A, SM sm, State s2", URL="javascript:Action.stateClicked(\"A^*^sm^*^s2\")"];
// End State: s2
// End Top and Bottom Level StateMachine: sm
// All transitions
start_A_sm -> A_sm_s1 [ tooltip = "start to s1", URL="javascript:Action.transitionClicked(\"null\")" ] ;
A_sm_s1 -> A_sm_s2 [ label = "e1", tooltip = "From s1 to s2 on e1", URL="javascript:Action.transitionClicked(\"A*^*sm*^*e1*^*s1*^*s2*^*\")" ] ;
}
// Code generated by Umple 1.35.0.7523.c616a4dce
digraph "HideGuardTransition" {
compound = true;
// Class: A
// Top and Bottom Level StateMachine: sm
// Start states are shown as a black circle
node [ratio="auto" shape = point, fillcolor="black", width=0.2 ];
start_A_sm [ tooltip = "Class A, SM sm, State start" ];
// Format for normal states
node [ratio="auto" shape = rectangle, width=1,style=rounded];
// State: s1
A_sm_s1 [label = s1, tooltip = "Class A, SM sm, State s1", URL="javascript:Action.stateClicked(\"A^*^sm^*^s1\")"];
// End State: s1
// State: s2
A_sm_s2 [label = s2, tooltip = "Class A, SM sm, State s2", URL="javascript:Action.stateClicked(\"A^*^sm^*^s2\")"];
// End State: s2
// End Top and Bottom Level StateMachine: sm
// All transitions
start_A_sm -> A_sm_s1 [ tooltip = "start to s1", URL="javascript:Action.transitionClicked(\"null\")" ] ;
A_sm_s1 -> A_sm_s2 [ label = "e1", tooltip = "From s1 to s2 on e1", URL="javascript:Action.transitionClicked(\"A*^*sm*^*e1*^*s1*^*s2*^*\")" ] ;
}
// Code generated by Umple 1.35.0.7523.c616a4dce
digraph "ActivityMore5State" {
compound = true;
// Class: A
// Top and Bottom Level StateMachine: sm
// Start states are shown as a black circle
node [ratio="auto" shape = point, fillcolor="black", width=0.2 ];
start_A_sm [ tooltip = "Class A, SM sm, State start" ];
// Format for normal states
node [ratio="auto" shape = rectangle, width=1,style=rounded];
// State: s2
A_sm_s2 [label = s2, tooltip = "Class A, SM sm, State s2 Activity:
doThisContinuouslyWhileOn1();
doThisContinuouslyWhileOn2();
doThisContinuouslyWhileOn3();
doThisContinuouslyWhileOn4();
doThisContinuouslyWhileOn5();
...", URL="javascript:Action.stateClicked(\"A^*^sm^*^s2\")"];
// End State: s2
// End Top and Bottom Level StateMachine: sm
// All transitions
start_A_sm -> A_sm_s2 [ tooltip = "start to s2", URL="javascript:Action.transitionClicked(\"null\")" ] ;
}
// Code generated by Umple 1.35.0.7523.c616a4dce
digraph "ColouredDerivedNestedState" {
compound = true;
// Class: Car
// Top Level StateMachine: state
// Start states are shown as a black circle
node [ratio="auto" shape = point, fillcolor="black", width=0.2 ];
start_Car_state [ tooltip = "Class Car, SM state, State start" ];
// Format for normal states
node [ratio="auto" shape = rectangle, width=1,style=rounded];
// State: Off
Car_state_Off [label = Off, tooltip = "Class Car, SM state, State Off", URL="javascript:Action.stateClicked(\"Car^*^state^*^Off\")"];
// End State: Off
// State: Running
subgraph clusterCar_state_Running {
label = "Running";
style = "filled, rounded" fillcolor ="lightgreen"
URL="javascript:Action.stateClicked(\"Car^*^state^*^Running\")";
// StateMachine: Running
// Start states are shown as a black circle
node [ratio="auto" shape = point, fillcolor="black", width=0.2 ];
start_Car_stateRunning [ tooltip = "Class Car, SM state, State Running.start" ];
// Format for normal states
node [ratio="auto" shape = rectangle, width=1,style=rounded];
// State: state
subgraph clusterCar_stateRunning_state {
label = "state";
style = "filled, rounded" fillcolor ="pink"
URL="javascript:Action.stateClicked(\"Car^*^state^*^Running.state\")";
// Bottom Level StateMachine: state
// Start states are shown as a black circle
node [ratio="auto" shape = point, fillcolor="black", width=0.2 ];
start_Car_stateRunningState [ tooltip = "Class Car, SM state, State Running.state.start" ];
// Format for normal states
node [ratio="auto" shape = rectangle, width=1,style=rounded];
// State: Idle
Car_stateRunningState_Idle [label = Idle,style = "filled, rounded", fillcolor ="yellow", tooltip = "Class Car, SM state, State Running.state.Idle", URL="javascript:Action.stateClicked(\"Car^*^state^*^Running.state.Idle\")"];
// End State: Idle
// State: Moving
Car_stateRunningState_Moving [label = Moving,style = "filled, rounded", fillcolor ="green", tooltip = "Class Car, SM state, State Running.state.Moving", URL="javascript:Action.stateClicked(\"Car^*^state^*^Running.state.Moving\")"];
// End State: Moving
// State: Stopped
Car_stateRunningState_Stopped [label = Stopped,style = "filled, rounded", fillcolor ="red", tooltip = "Class Car, SM state, State Running.state.Stopped", URL="javascript:Action.stateClicked(\"Car^*^state^*^Running.state.Stopped\")"];
// End State: Stopped
// End Bottom Level StateMachine: state
}
// End State: state
// End StateMachine: Running
}
// End State: Running
// End Top Level StateMachine: state
// All transitions
start_Car_state -> Car_state_Off [ tooltip = "start to Off", URL="javascript:Action.transitionClicked(\"null\")" ] ;
Car_stateRunningState_Stopped -> Car_state_Off [ label = "turnOff", tooltip = "From Running.state.Stopped to Off on turnOff", URL="javascript:Action.transitionClicked(\"Car*^*state*^*turnOff*^*Running.state.Stopped*^*Off*^*\")" ] ;
Car_state_Off -> Car_stateRunningState_Idle [ lhead=clusterCar_state_Running, label = "turnOn", tooltip = "From Off to Running on turnOn", URL="javascript:Action.transitionClicked(\"Car*^*state*^*turnOn*^*Off*^*Running*^*\")" ] ;
start_Car_stateRunning -> Car_stateRunningState_Idle [ lhead=clusterCar_stateRunning_state, tooltip = "start to Running.state", URL="javascript:Action.transitionClicked(\"null\")" ] ;
start_Car_stateRunningState -> Car_stateRunningState_Idle [ tooltip = "start to Running.state.Idle", URL="javascript:Action.transitionClicked(\"null\")" ] ;
Car_stateRunningState_Moving -> Car_stateRunningState_Idle [ label = "decelerate", tooltip = "From Running.state.Moving to Running.state.Idle on decelerate", URL="javascript:Action.transitionClicked(\"Car*^*state*^*decelerate*^*Running.state.Moving*^*Running.state.Idle*^*\")" ] ;
Car_stateRunningState_Idle -> Car_stateRunningState_Moving [ label = "accelerate", tooltip = "From Running.state.Idle to Running.state.Moving on accelerate", URL="javascript:Action.transitionClicked(\"Car*^*state*^*accelerate*^*Running.state.Idle*^*Running.state.Moving*^*\")" ] ;
Car_stateRunningState_Stopped -> Car_stateRunningState_Moving [ label = "accelerate", tooltip = "From Running.state.Stopped to Running.state.Moving on accelerate", URL="javascript:Action.transitionClicked(\"Car*^*state*^*accelerate*^*Running.state.Stopped*^*Running.state.Moving*^*\")" ] ;
Car_stateRunningState_Moving -> Car_stateRunningState_Stopped [ label = "stop", tooltip = "From Running.state.Moving to Running.state.Stopped on stop", URL="javascript:Action.transitionClicked(\"Car*^*state*^*stop*^*Running.state.Moving*^*Running.state.Stopped*^*\")" ] ;
}
// Code generated by Umple 1.35.0.7523.c616a4dce
digraph "ExitMore5State" {
compound = true;
// Class: A
// Top and Bottom Level StateMachine: sm
// Start states are shown as a black circle
node [ratio="auto" shape = point, fillcolor="black", width=0.2 ];
start_A_sm [ tooltip = "Class A, SM sm, State start" ];
// Format for normal states
node [ratio="auto" shape = rectangle, width=1,style=rounded];
// State: s2
A_sm_s2 [label = s2, tooltip = "Class A, SM sm, State s2 Exit:
doEntry1();
doEntry2();
doEntry3();
doEntry4();
doEntry5();
...", URL="javascript:Action.stateClicked(\"A^*^sm^*^s2\")"];
// End State: s2
// End Top and Bottom Level StateMachine: sm
// All transitions
start_A_sm -> A_sm_s2 [ tooltip = "start to s2", URL="javascript:Action.transitionClicked(\"null\")" ] ;
}
// Code generated by Umple 1.35.0.7523.c616a4dce
digraph "NormalState" {
compound = true;
// Class: A
// Top and Bottom Level StateMachine: sm
// Start states are shown as a black circle
node [ratio="auto" shape = point, fillcolor="black", width=0.2 ];
start_A_sm [ tooltip = "Class A, SM sm, State start" ];
// Format for normal states
node [ratio="auto" shape = rectangle, width=1,style=rounded];
// State: s1
A_sm_s1 [label = s1, tooltip = "Class A, SM sm, State s1", URL="javascript:Action.stateClicked(\"A^*^sm^*^s1\")"];
// End State: s1
// End Top and Bottom Level StateMachine: sm
// All transitions
start_A_sm -> A_sm_s1 [ tooltip = "start to s1", URL="javascript:Action.transitionClicked(\"null\")" ] ;
}
// Code generated by Umple 1.35.0.7523.c616a4dce
digraph "ActivityLess5State" {
compound = true;
// Class: A
// Top and Bottom Level StateMachine: sm
// Start states are shown as a black circle
node [ratio="auto" shape = point, fillcolor="black", width=0.2 ];
start_A_sm [ tooltip = "Class A, SM sm, State start" ];
// Format for normal states
node [ratio="auto" shape = rectangle, width=1,style=rounded];
// State: s2
A_sm_s2 [label = s2, tooltip = "Class A, SM sm, State s2 Activity:
doThisContinuouslyWhileOn();", URL="javascript:Action.stateClicked(\"A^*^sm^*^s2\")"];
// End State: s2
// End Top and Bottom Level StateMachine: sm
// All transitions
start_A_sm -> A_sm_s2 [ tooltip = "start to s2", URL="javascript:Action.transitionClicked(\"null\")" ] ;
}
// Code generated by Umple 1.35.0.7523.c616a4dce
digraph "ActMore5Transition" {
compound = true;
// Class: A
// Top and Bottom Level StateMachine: sm
// Start states are shown as a black circle
node [ratio="auto" shape = point, fillcolor="black", width=0.2 ];
start_A_sm [ tooltip = "Class A, SM sm, State start" ];
// Format for normal states
node [ratio="auto" shape = rectangle, width=1,style=rounded];
// State: s1
A_sm_s1 [label = s1, tooltip = "Class A, SM sm, State s1", URL="javascript:Action.stateClicked(\"A^*^sm^*^s1\")"];
// End State: s1
// State: s2
A_sm_s2 [label = s2, tooltip = "Class A, SM sm, State s2", URL="javascript:Action.stateClicked(\"A^*^sm^*^s2\")"];
// End State: s2
// End Top and Bottom Level StateMachine: sm
// All transitions
start_A_sm -> A_sm_s1 [ tooltip = "start to s1", URL="javascript:Action.transitionClicked(\"null\")" ] ;
A_sm_s1 -> A_sm_s2 [ label = "e1 / {...}", tooltip = "From s1 to s2 on e1 Transition Action:
doTransition1();
doTransition2();
doTransition3();
doTransition4();
doTransition5();
...", URL="javascript:Action.transitionClicked(\"A*^*sm*^*e1*^*s1*^*s2*^*\")" ] ;
}
// Code generated by Umple 1.35.0.7523.c616a4dce
digraph "ExitLess5State" {
compound = true;
// Class: A
// Top and Bottom Level StateMachine: sm
// Start states are shown as a black circle
node [ratio="auto" shape = point, fillcolor="black", width=0.2 ];
start_A_sm [ tooltip = "Class A, SM sm, State start" ];
// Format for normal states
node [ratio="auto" shape = rectangle, width=1,style=rounded];
// State: s2
A_sm_s2 [label = s2, tooltip = "Class A, SM sm, State s2 Exit:
doEntry();", URL="javascript:Action.stateClicked(\"A^*^sm^*^s2\")"];
// End State: s2
// End Top and Bottom Level StateMachine: sm
// All transitions
start_A_sm -> A_sm_s2 [ tooltip = "start to s2", URL="javascript:Action.transitionClicked(\"null\")" ] ;
}
// Code generated by Umple 1.35.0.7523.c616a4dce
digraph "NestedTransition" {
compound = true;
// Class: A
// Top Level StateMachine: sm
// Start states are shown as a black circle
node [ratio="auto" shape = point, fillcolor="black", width=0.2 ];
start_A_sm [ tooltip = "Class A, SM sm, State start" ];
// Format for normal states
node [ratio="auto" shape = rectangle, width=1,style=rounded];
// State: s1
A_sm_s1 [label = s1, tooltip = "Class A, SM sm, State s1", URL="javascript:Action.stateClicked(\"A^*^sm^*^s1\")"];
// End State: s1
// State: s2
subgraph clusterA_sm_s2 {
label = "s2";
style = rounded;
URL="javascript:Action.stateClicked(\"A^*^sm^*^s2\")";
// Bottom Level StateMachine: s2
// Start states are shown as a black circle
node [ratio="auto" shape = point, fillcolor="black", width=0.2 ];
start_A_smS2 [ tooltip = "Class A, SM sm, State s2.start" ];
// Format for normal states
node [ratio="auto" shape = rectangle, width=1,style=rounded];
// State: s2a
A_smS2_s2a [label = s2a, tooltip = "Class A, SM sm, State s2.s2a", URL="javascript:Action.stateClicked(\"A^*^sm^*^s2.s2a\")"];
// End State: s2a
// State: s2b
A_smS2_s2b [label = s2b, tooltip = "Class A, SM sm, State s2.s2b", URL="javascript:Action.stateClicked(\"A^*^sm^*^s2.s2b\")"];
// End State: s2b
// End Bottom Level StateMachine: s2
}
// End State: s2
// End Top Level StateMachine: sm
// All transitions
start_A_sm -> A_sm_s1 [ tooltip = "start to s1", URL="javascript:Action.transitionClicked(\"null\")" ] ;
A_smS2_s2a -> A_sm_s1 [ ltail=clusterA_sm_s2, label = "e1", tooltip = "From s2 to s1 on e1", URL="javascript:Action.transitionClicked(\"A*^*sm*^*e1*^*s2*^*s1*^*\")" ] ;
A_sm_s1 -> A_smS2_s2a [ lhead=clusterA_sm_s2, label = "e1", tooltip = "From s1 to s2 on e1", URL="javascript:Action.transitionClicked(\"A*^*sm*^*e1*^*s1*^*s2*^*\")" ] ;
start_A_smS2 -> A_smS2_s2a [ tooltip = "start to s2.s2a", URL="javascript:Action.transitionClicked(\"null\")" ] ;
A_smS2_s2b -> A_smS2_s2a [ label = "e3", tooltip = "From s2.s2b to s2.s2a on e3", URL="javascript:Action.transitionClicked(\"A*^*sm*^*e3*^*s2.s2b*^*s2.s2a*^*\")" ] ;
A_sm_s1 -> A_smS2_s2b [ label = "e2", tooltip = "From s1 to s2.s2b on e2", URL="javascript:Action.transitionClicked(\"A*^*sm*^*e2*^*s1*^*s2.s2b*^*\")" ] ;
A_smS2_s2a -> A_smS2_s2b [ label = "e3", tooltip = "From s2.s2a to s2.s2b on e3", URL="javascript:Action.transitionClicked(\"A*^*sm*^*e3*^*s2.s2a*^*s2.s2b*^*\")" ] ;
}
// Code generated by Umple 1.35.0.7523.c616a4dce
digraph "NestedState" {
compound = true;
// Class: A
// Top Level StateMachine: sm
// Start states are shown as a black circle
node [ratio="auto" shape = point, fillcolor="black", width=0.2 ];
start_A_sm [ tooltip = "Class A, SM sm, State start" ];
// Format for normal states
node [ratio="auto" shape = rectangle, width=1,style=rounded];
// State: s2
subgraph clusterA_sm_s2 {
label = "s2";
style = rounded;
URL="javascript:Action.stateClicked(\"A^*^sm^*^s2\")";
// Bottom Level StateMachine: s2
// Start states are shown as a black circle
node [ratio="auto" shape = point, fillcolor="black", width=0.2 ];
start_A_smS2 [ tooltip = "Class A, SM sm, State s2.start" ];
// Format for normal states
node [ratio="auto" shape = rectangle, width=1,style=rounded];
// State: s2a
A_smS2_s2a [label = s2a, tooltip = "Class A, SM sm, State s2.s2a", URL="javascript:Action.stateClicked(\"A^*^sm^*^s2.s2a\")"];
// End State: s2a
// End Bottom Level StateMachine: s2
}
// End State: s2
// End Top Level StateMachine: sm
// All transitions
start_A_sm -> A_smS2_s2a [ lhead=clusterA_sm_s2, tooltip = "start to s2", URL="javascript:Action.transitionClicked(\"null\")" ] ;
start_A_smS2 -> A_smS2_s2a [ tooltip = "start to s2.s2a", URL="javascript:Action.transitionClicked(\"null\")" ] ;
}
// Code generated by Umple 1.35.0.7523.c616a4dce
digraph "Transition" {
compound = true;
// Class: A
// Top and Bottom Level StateMachine: sm
// Start states are shown as a black circle
node [ratio="auto" shape = point, fillcolor="black", width=0.2 ];
start_A_sm [ tooltip = "Class A, SM sm, State start" ];
// Format for normal states
node [ratio="auto" shape = rectangle, width=1,style=rounded];
// State: s1
A_sm_s1 [label = s1, tooltip = "Class A, SM sm, State s1", URL="javascript:Action.stateClicked(\"A^*^sm^*^s1\")"];
// End State: s1
// State: s2
A_sm_s2 [label = s2, tooltip = "Class A, SM sm, State s2", URL="javascript:Action.stateClicked(\"A^*^sm^*^s2\")"];
// End State: s2
// End Top and Bottom Level StateMachine: sm
// All transitions
start_A_sm -> A_sm_s1 [ tooltip = "start to s1", URL="javascript:Action.transitionClicked(\"null\")" ] ;
A_sm_s1 -> A_sm_s2 [ label = "e1", tooltip = "From s1 to s2 on e1", URL="javascript:Action.transitionClicked(\"A*^*sm*^*e1*^*s1*^*s2*^*\")" ] ;
}
// Code generated by Umple 1.35.0.7523.c616a4dce
digraph "Exit5State" {
compound = true;
// Class: A
// Top and Bottom Level StateMachine: sm
// Start states are shown as a black circle
node [ratio="auto" shape = point, fillcolor="black", width=0.2 ];
start_A_sm [ tooltip = "Class A, SM sm, State start" ];
// Format for normal states
node [ratio="auto" shape = rectangle, width=1,style=rounded];
// State: s2
A_sm_s2 [label = s2, tooltip = "Class A, SM sm, State s2 Exit:
doEntry1();
doEntry2();
doEntry3();
doEntry4();
doEntry5();", URL="javascript:Action.stateClicked(\"A^*^sm^*^s2\")"];
// End State: s2
// End Top and Bottom Level StateMachine: sm
// All transitions
start_A_sm -> A_sm_s2 [ tooltip = "start to s2", URL="javascript:Action.transitionClicked(\"null\")" ] ;
}
// Code generated by Umple 1.35.0.7523.c616a4dce
digraph "HideActionState" {
compound = true;
// Class: A
// Top and Bottom Level StateMachine: sm
// Start states are shown as a black circle
node [ratio="auto" shape = point, fillcolor="black", width=0.2 ];
start_A_sm [ tooltip = "Class A, SM sm, State start" ];
// Format for normal states
node [ratio="auto" shape = rectangle, width=1,style=rounded];
// State: s2
A_sm_s2 [label = s2, tooltip = "Class A, SM sm, State s2", URL="javascript:Action.stateClicked(\"A^*^sm^*^s2\")"];
// End State: s2
// End Top and Bottom Level StateMachine: sm
// All transitions
start_A_sm -> A_sm_s2 [ tooltip = "start to s2", URL="javascript:Action.transitionClicked(\"null\")" ] ;
}
// Code generated by Umple 1.35.0.7523.c616a4dce
digraph "HexColouredState" {
compound = true;
// Class: GarageDoor
// Top and Bottom Level StateMachine: status
// Start states are shown as a black circle
node [ratio="auto" shape = point, fillcolor="black", width=0.2 ];
start_GarageDoor_status [ tooltip = "Class GarageDoor, SM status, State start" ];
// Format for normal states
node [ratio="auto" shape = rectangle, width=1,style=rounded];
// State: Open
GarageDoor_status_Open [label = Open,style = "filled, rounded", fillcolor ="#FFFF00", tooltip = "Class GarageDoor, SM status, State Open", URL="javascript:Action.stateClicked(\"GarageDoor^*^status^*^Open\")"];
// End State: Open
// State: Closing
GarageDoor_status_Closing [label = Closing,style = "filled, rounded", fillcolor ="#008000", tooltip = "Class GarageDoor, SM status, State Closing", URL="javascript:Action.stateClicked(\"GarageDoor^*^status^*^Closing\")"];
// End State: Closing
// State: Closed
GarageDoor_status_Closed [label = Closed,style = "filled, rounded", fillcolor ="#FF0000", tooltip = "Class GarageDoor, SM status, State Closed", URL="javascript:Action.stateClicked(\"GarageDoor^*^status^*^Closed\")"];
// End State: Closed
// State: Opening
GarageDoor_status_Opening [label = Opening,style = "filled, rounded", fillcolor ="#FFA500", tooltip = "Class GarageDoor, SM status, State Opening", URL="javascript:Action.stateClicked(\"GarageDoor^*^status^*^Opening\")"];
// End State: Opening
// State: HalfOpen
GarageDoor_status_HalfOpen [label = HalfOpen,style = "filled, rounded", fillcolor ="#FFC0CB", tooltip = "Class GarageDoor, SM status, State HalfOpen", URL="javascript:Action.stateClicked(\"GarageDoor^*^status^*^HalfOpen\")"];
// End State: HalfOpen
// End Top and Bottom Level StateMachine: status
// All transitions
start_GarageDoor_status -> GarageDoor_status_Open [ tooltip = "start to Open", URL="javascript:Action.transitionClicked(\"null\")" ] ;
GarageDoor_status_Opening -> GarageDoor_status_Open [ label = "reachTop", tooltip = "From Opening to Open on reachTop", URL="javascript:Action.transitionClicked(\"GarageDoor*^*status*^*reachTop*^*Opening*^*Open*^*\")" ] ;
GarageDoor_status_Open -> GarageDoor_status_Closing [ label = "buttonOrObstacle", tooltip = "From Open to Closing on buttonOrObstacle", URL="javascript:Action.transitionClicked(\"GarageDoor*^*status*^*buttonOrObstacle*^*Open*^*Closing*^*\")" ] ;
GarageDoor_status_Closing -> GarageDoor_status_Closed [ label = "reachBottom", tooltip = "From Closing to Closed on reachBottom", URL="javascript:Action.transitionClicked(\"GarageDoor*^*status*^*reachBottom*^*Closing*^*Closed*^*\")" ] ;
GarageDoor_status_Closing -> GarageDoor_status_Opening [ label = "buttonOrObstacle", tooltip = "From Closing to Opening on buttonOrObstacle", URL="javascript:Action.transitionClicked(\"GarageDoor*^*status*^*buttonOrObstacle*^*Closing*^*Opening*^*\")" ] ;
GarageDoor_status_Closed -> GarageDoor_status_Opening [ label = "buttonOrObstacle", tooltip = "From Closed to Opening on buttonOrObstacle", URL="javascript:Action.transitionClicked(\"GarageDoor*^*status*^*buttonOrObstacle*^*Closed*^*Opening*^*\")" ] ;
GarageDoor_status_HalfOpen -> GarageDoor_status_Opening [ label = "buttonOrObstacle", tooltip = "From HalfOpen to Opening on buttonOrObstacle", URL="javascript:Action.transitionClicked(\"GarageDoor*^*status*^*buttonOrObstacle*^*HalfOpen*^*Opening*^*\")" ] ;
GarageDoor_status_Opening -> GarageDoor_status_HalfOpen [ label = "buttonOrObstacle", tooltip = "From Opening to HalfOpen on buttonOrObstacle", URL="javascript:Action.transitionClicked(\"GarageDoor*^*status*^*buttonOrObstacle*^*Opening*^*HalfOpen*^*\")" ] ;
}
// Code generated by Umple 1.35.0.7523.c616a4dce
digraph "Activity5State" {
compound = true;
// Class: A
// Top and Bottom Level StateMachine: sm
// Start states are shown as a black circle
node [ratio="auto" shape = point, fillcolor="black", width=0.2 ];
start_A_sm [ tooltip = "Class A, SM sm, State start" ];
// Format for normal states
node [ratio="auto" shape = rectangle, width=1,style=rounded];
// State: s2
A_sm_s2 [label = s2, tooltip = "Class A, SM sm, State s2 Activity:
doThisContinuouslyWhileOn1();
doThisContinuouslyWhileOn2();
doThisContinuouslyWhileOn3();
doThisContinuouslyWhileOn4();
doThisContinuouslyWhileOn5();", URL="javascript:Action.stateClicked(\"A^*^sm^*^s2\")"];
// End State: s2
// End Top and Bottom Level StateMachine: sm
// All transitions
start_A_sm -> A_sm_s2 [ tooltip = "start to s2", URL="javascript:Action.transitionClicked(\"null\")" ] ;
}
// Code generated by Umple 1.35.0.7523.c616a4dce
digraph "GuardedAutoTransition" {
compound = true;
// Class: X
// Top and Bottom Level StateMachine: sm
// Start states are shown as a black circle
node [ratio="auto" shape = point, fillcolor="black", width=0.2 ];
start_X_sm [ tooltip = "Class X, SM sm, State start" ];
// Format for normal states
node [ratio="auto" shape = rectangle, width=1,style=rounded];
// State: s1
X_sm_s1 [label = s1, tooltip = "Class X, SM sm, State s1 Entry:
System.out.println("Starting first sleep"); Activity:
Thread.sleep(2000);
System.out.println("Ending first sleep");", URL="javascript:Action.stateClicked(\"X^*^sm^*^s1\")"];
// End State: s1
// State: s2
X_sm_s2 [label = s2, tooltip = "Class X, SM sm, State s2 Entry:
System.out.println("Starting second sleep"); Activity:
Thread.sleep(2000);
System.out.println("Ending second sleep");", URL="javascript:Action.stateClicked(\"X^*^sm^*^s2\")"];
// End State: s2
// End Top and Bottom Level StateMachine: sm
// All transitions
start_X_sm -> X_sm_s1 [ tooltip = "start to s1", URL="javascript:Action.transitionClicked(\"null\")" ] ;
X_sm_s1 -> X_sm_s2 [ label = "[guard]", tooltip = "From s1 to s2 automatically Guard: [guard]", URL="javascript:Action.transitionClicked(\"X*^*sm*^**^*s1*^*s2*^*[guard]\")" ] ;
}
// Code generated by Umple 1.35.0.7523.c616a4dce
digraph "ParameterTransition" {
compound = true;
// Class: X
// Top and Bottom Level StateMachine: stateMachine1
subgraph clusterX_stateMachine1 {
label = "sm X stateMachine1";
penwidth=0.5;
// Start states are shown as a black circle
node [ratio="auto" shape = point, fillcolor="black", width=0.2 ];
start_X_stateMachine1 [ tooltip = "Class X, SM stateMachine1, State start" ];
// Format for normal states
node [ratio="auto" shape = rectangle, width=1,style=rounded];
// State: s1a
X_stateMachine1_s1a [label = s1a, tooltip = "Class X, SM stateMachine1, State s1a Activity:
// This do activity sends events to stateMachine1
e(5);
Thread.sleep(1000);
e(6);
Thread.sleep(1000);
...", URL="javascript:Action.stateClicked(\"X^*^stateMachine1^*^s1a\")"];
// End State: s1a
// State: s1b
X_stateMachine1_s1b [label = s1b, tooltip = "Class X, SM stateMachine1, State s1b", URL="javascript:Action.stateClicked(\"X^*^stateMachine1^*^s1b\")"];
// End State: s1b
// End Top and Bottom Level StateMachine: stateMachine1
}
// Top and Bottom Level StateMachine: stateMachine2
subgraph clusterX_stateMachine2 {
label = "sm X stateMachine2";
penwidth=0.5;
// Start states are shown as a black circle
node [ratio="auto" shape = point, fillcolor="black", width=0.2 ];
start_X_stateMachine2 [ tooltip = "Class X, SM stateMachine2, State start" ];
// Format for normal states
node [ratio="auto" shape = rectangle, width=1,style=rounded];
// State: s2a
X_stateMachine2_s2a [label = s2a, tooltip = "Class X, SM stateMachine2, State s2a Entry:
System.out.println("s2a");", URL="javascript:Action.stateClicked(\"X^*^stateMachine2^*^s2a\")"];
// End State: s2a
// State: s2b
X_stateMachine2_s2b [label = s2b, tooltip = "Class X, SM stateMachine2, State s2b Entry:
System.out.println("s2b");", URL="javascript:Action.stateClicked(\"X^*^stateMachine2^*^s2b\")"];
// End State: s2b
// End Top and Bottom Level StateMachine: stateMachine2
}
// All transitions
start_X_stateMachine1 -> X_stateMachine1_s1a [ tooltip = "start to s1a", URL="javascript:Action.transitionClicked(\"null\")" ] ;
X_stateMachine1_s1a -> X_stateMachine1_s1b [ tooltip = "From s1a to s1b automatically", URL="javascript:Action.transitionClicked(\"X*^*stateMachine1*^**^*s1a*^*s1b*^*\")" ] ;
start_X_stateMachine2 -> X_stateMachine2_s2a [ tooltip = "start to s2a", URL="javascript:Action.transitionClicked(\"null\")" ] ;
X_stateMachine2_s2b -> X_stateMachine2_s2a [ label = "e(int a) / {...}", tooltip = "From s2b to s2a on e(int a) Transition Action:
System.out.println("e"+a);", URL="javascript:Action.transitionClicked(\"X*^*stateMachine2*^*e(int a)*^*s2b*^*s2a*^*\")" ] ;
X_stateMachine2_s2a -> X_stateMachine2_s2b [ label = "e(int a) [a > 6] / {...}", tooltip = "From s2a to s2b on e(int a) Guard: [a > 6] Transition Action:
System.out.println("e"+a);", URL="javascript:Action.transitionClicked(\"X*^*stateMachine2*^*e(int a)*^*s2a*^*s2b*^* [a > 6]\")" ] ;
}
// Code generated by Umple 1.35.0.7523.c616a4dce
digraph "EntryMore5State" {
compound = true;
// Class: A
// Top and Bottom Level StateMachine: sm
// Start states are shown as a black circle
node [ratio="auto" shape = point, fillcolor="black", width=0.2 ];
start_A_sm [ tooltip = "Class A, SM sm, State start" ];
// Format for normal states
node [ratio="auto" shape = rectangle, width=1,style=rounded];
// State: s2
A_sm_s2 [label = s2, tooltip = "Class A, SM sm, State s2 Entry:
doEntry1();
doEntry2();
doEntry3();
doEntry4();
doEntry5();
...", URL="javascript:Action.stateClicked(\"A^*^sm^*^s2\")"];
// End State: s2
// End Top and Bottom Level StateMachine: sm
// All transitions
start_A_sm -> A_sm_s2 [ tooltip = "start to s2", URL="javascript:Action.transitionClicked(\"null\")" ] ;
}
// Code generated by Umple 1.35.0.7523.c616a4dce
digraph "Entry5State" {
compound = true;
// Class: A
// Top and Bottom Level StateMachine: sm
// Start states are shown as a black circle
node [ratio="auto" shape = point, fillcolor="black", width=0.2 ];
start_A_sm [ tooltip = "Class A, SM sm, State start" ];
// Format for normal states
node [ratio="auto" shape = rectangle, width=1,style=rounded];
// State: s2
A_sm_s2 [label = s2, tooltip = "Class A, SM sm, State s2 Entry:
doEntry1();
doEntry2();
doEntry3();
doEntry4();
doEntry5();", URL="javascript:Action.stateClicked(\"A^*^sm^*^s2\")"];
// End State: s2
// End Top and Bottom Level StateMachine: sm
// All transitions
start_A_sm -> A_sm_s2 [ tooltip = "start to s2", URL="javascript:Action.transitionClicked(\"null\")" ] ;
}
// Code generated by Umple 1.35.0.7523.c616a4dce
digraph "EntryLess5State" {
compound = true;
// Class: A
// Top and Bottom Level StateMachine: sm
// Start states are shown as a black circle
node [ratio="auto" shape = point, fillcolor="black", width=0.2 ];
start_A_sm [ tooltip = "Class A, SM sm, State start" ];
// Format for normal states
node [ratio="auto" shape = rectangle, width=1,style=rounded];
// State: s2
A_sm_s2 [label = s2, tooltip = "Class A, SM sm, State s2 Entry:
doEntry();", URL="javascript:Action.stateClicked(\"A^*^sm^*^s2\")"];
// End State: s2
// End Top and Bottom Level StateMachine: sm
// All transitions
start_A_sm -> A_sm_s2 [ tooltip = "start to s2", URL="javascript:Action.transitionClicked(\"null\")" ] ;
}
// Code generated by Umple 1.35.0.7523.c616a4dce
digraph "ColouredDerivedState" {
compound = true;
// Class: LightBulb
// Top and Bottom Level StateMachine: state
// Start states are shown as a black circle
node [ratio="auto" shape = point, fillcolor="black", width=0.2 ];
start_LightBulb_state [ tooltip = "Class LightBulb, SM state, State start" ];
// Format for normal states
node [ratio="auto" shape = rectangle, width=1,style=rounded];
// State: Off
LightBulb_state_Off [label = Off,style = "filled, rounded", fillcolor ="red", tooltip = "Class LightBulb, SM state, State Off", URL="javascript:Action.stateClicked(\"LightBulb^*^state^*^Off\")"];
// End State: Off
// State: On
LightBulb_state_On [label = On,style = "filled, rounded", fillcolor ="yellow", tooltip = "Class LightBulb, SM state, State On", URL="javascript:Action.stateClicked(\"LightBulb^*^state^*^On\")"];
// End State: On
// End Top and Bottom Level StateMachine: state
// All transitions
start_LightBulb_state -> LightBulb_state_Off [ tooltip = "start to Off", URL="javascript:Action.transitionClicked(\"null\")" ] ;
LightBulb_state_On -> LightBulb_state_Off [ label = "turnOff", tooltip = "From On to Off on turnOff", URL="javascript:Action.transitionClicked(\"LightBulb*^*state*^*turnOff*^*On*^*Off*^*\")" ] ;
LightBulb_state_Off -> LightBulb_state_On [ label = "turnOn", tooltip = "From Off to On on turnOn", URL="javascript:Action.transitionClicked(\"LightBulb*^*state*^*turnOn*^*Off*^*On*^*\")" ] ;
}
// Code generated by Umple 1.35.0.7523.c616a4dce
digraph "TimedTransition" {
compound = true;
// Class: X
// Top and Bottom Level StateMachine: sm
// Start states are shown as a black circle
node [ratio="auto" shape = point, fillcolor="black", width=0.2 ];
start_X_sm [ tooltip = "Class X, SM sm, State start" ];
// Format for normal states
node [ratio="auto" shape = rectangle, width=1,style=rounded];
// State: a
X_sm_a [label = a, tooltip = "Class X, SM sm, State a Entry:
System.out.println("entering a");", URL="javascript:Action.stateClicked(\"X^*^sm^*^a\")"];
// End State: a
// State: b
X_sm_b [label = b, tooltip = "Class X, SM sm, State b Entry:
System.out.println("entering b");", URL="javascript:Action.stateClicked(\"X^*^sm^*^b\")"];
// End State: b
// End Top and Bottom Level StateMachine: sm
// All transitions
start_X_sm -> X_sm_a [ tooltip = "start to a", URL="javascript:Action.transitionClicked(\"null\")" ] ;
X_sm_a -> X_sm_b [ label = "after(1)", tooltip = "From a to b after(1)", URL="javascript:Action.transitionClicked(\"X*^*sm*^*after(1)*^*a*^*b*^*\")" ] ;
}
// Code generated by Umple 1.35.0.7523.c616a4dce
digraph "AutoTransition" {
compound = true;
// Class: X
// Top and Bottom Level StateMachine: sm
// Start states are shown as a black circle
node [ratio="auto" shape = point, fillcolor="black", width=0.2 ];
start_X_sm [ tooltip = "Class X, SM sm, State start" ];
// Format for normal states
node [ratio="auto" shape = rectangle, width=1,style=rounded];
// State: s1
X_sm_s1 [label = s1, tooltip = "Class X, SM sm, State s1 Entry:
System.out.println("Starting first sleep"); Activity:
Thread.sleep(2000);
System.out.println("Ending first sleep");", URL="javascript:Action.stateClicked(\"X^*^sm^*^s1\")"];
// End State: s1
// State: s2
X_sm_s2 [label = s2, tooltip = "Class X, SM sm, State s2 Entry:
System.out.println("Starting second sleep"); Activity:
Thread.sleep(2000);
System.out.println("Ending second sleep");", URL="javascript:Action.stateClicked(\"X^*^sm^*^s2\")"];
// End State: s2
// End Top and Bottom Level StateMachine: sm
// All transitions
start_X_sm -> X_sm_s1 [ tooltip = "start to s1", URL="javascript:Action.transitionClicked(\"null\")" ] ;
X_sm_s1 -> X_sm_s2 [ tooltip = "From s1 to s2 automatically", URL="javascript:Action.transitionClicked(\"X*^*sm*^**^*s1*^*s2*^*\")" ] ;
}
// Code generated by Umple 1.35.0.7523.c616a4dce
digraph "TransitionSelf" {
compound = true;
// Class: A
// Top and Bottom Level StateMachine: sm
// Start states are shown as a black circle
node [ratio="auto" shape = point, fillcolor="black", width=0.2 ];
start_A_sm [ tooltip = "Class A, SM sm, State start" ];
// Format for normal states
node [ratio="auto" shape = rectangle, width=1,style=rounded];
// State: s1
A_sm_s1 [label = s1, tooltip = "Class A, SM sm, State s1", URL="javascript:Action.stateClicked(\"A^*^sm^*^s1\")"];
// End State: s1
// End Top and Bottom Level StateMachine: sm
// All transitions
start_A_sm -> A_sm_s1 [ tooltip = "start to s1", URL="javascript:Action.transitionClicked(\"null\")" ] ;
A_sm_s1 -> A_sm_s1 [ label = "e1", tooltip = "From s1 to s1 on e1", URL="javascript:Action.transitionClicked(\"A*^*sm*^*e1*^*s1*^*s1*^*\")" ] ;
}