// Code generated by Umple 1.37.0.8597.21f52b4e3

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

This is the default initial state and is entered when the object is created.
On e1, transitions to s2.", URL="javascript:Action.stateClicked(\"A^*^sm^*^s1\")"];
      // End State: s1

      // State: s2

      A_sm_s2 [label = s2, tooltip = "Class A, SM sm, State s2

This state is entered when event e1 occurs while in state s1.", 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();

When e1 occurs in state s1, transitions to s2.", URL="javascript:Action.transitionClicked(\"A*^*sm*^*e1*^*s1*^*s2*^*\")" ] ;
  

}

// Code generated by Umple 1.37.0.8597.21f52b4e3

digraph "NLMultilineComments" {
  compound = true;

  // Class: X

    // Top and Bottom Level StateMachine: sm1
    
    // Start states are shown as a black circle
    node [ratio="auto" shape = point, fillcolor="black", width=0.2 ];
    start_X_sm1 [ tooltip = "Class X, SM sm1, State start" ];
    
        
    // Format for normal states
    node [ratio="auto" shape = rectangle, width=1,style=rounded];
    
      // State: s1

      X_sm1_s1 [label = s1, tooltip = "Class X, SM sm1, State s1
This is a multiline comment
for state s1

This is the default initial state and is entered when the object is created.
This state is entered when event e2 occurs while in state s2.
On e1, transitions to s2.", URL="javascript:Action.stateClicked(\"X^*^sm1^*^s1\")"];
      // End State: s1

      // State: s2

      X_sm1_s2 [label = s2, tooltip = "Class X, SM sm1, State s2

This state is entered when event e1 occurs while in state s1.
On e2, transitions to s1.", URL="javascript:Action.stateClicked(\"X^*^sm1^*^s2\")"];
      // End State: s2
    // End Top and Bottom Level StateMachine: sm1

  // All transitions
    start_X_sm1 -> X_sm1_s1 [  tooltip = "start to s1", URL="javascript:Action.transitionClicked(\"null\")" ] ;
    X_sm1_s2 -> X_sm1_s1 [  label = "e2", tooltip = "From s2 to s1 on e2

When e2 occurs in state s2, transitions to s1.", URL="javascript:Action.transitionClicked(\"X*^*sm1*^*e2*^*s2*^*s1*^*\")" ] ;
  
  X_sm1_s1 -> X_sm1_s2 [  label = "e1", tooltip = "From s1 to s2 on e1
Multiline comment for e1 transition

When e1 occurs in state s1, transitions to s2.", URL="javascript:Action.transitionClicked(\"X*^*sm1*^*e1*^*s1*^*s2*^*\")" ] ;
  

}

// Code generated by Umple 1.37.0.8597.21f52b4e3

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

This is the default initial state and is entered when the object is created.
This state is entered when event reachTop occurs while in state Opening.
On buttonOrObstacle, transitions to Closing.", URL="javascript:Action.stateClicked(\"GarageDoor^*^status^*^Open\")"];
      // End State: Open

      // State: Closing

      GarageDoor_status_Closing [label = Closing, tooltip = "Class GarageDoor, SM status, State Closing

This state is entered when event buttonOrObstacle occurs while in state Open.
On buttonOrObstacle, transitions to Opening.
On reachBottom, transitions to Closed.", URL="javascript:Action.stateClicked(\"GarageDoor^*^status^*^Closing\")"];
      // End State: Closing

      // State: Closed

      GarageDoor_status_Closed [label = Closed, tooltip = "Class GarageDoor, SM status, State Closed

This state is entered when event reachBottom occurs while in state Closing.
On buttonOrObstacle, transitions to Opening.", URL="javascript:Action.stateClicked(\"GarageDoor^*^status^*^Closed\")"];
      // End State: Closed

      // State: Opening

      GarageDoor_status_Opening [label = Opening, tooltip = "Class GarageDoor, SM status, State Opening

This state is entered when event buttonOrObstacle occurs while in state Closing.
This state is entered when event buttonOrObstacle occurs while in state Closed.
This state is entered when event buttonOrObstacle occurs while in state HalfOpen.
On buttonOrObstacle, transitions to HalfOpen.
On reachTop, transitions to Open.", URL="javascript:Action.stateClicked(\"GarageDoor^*^status^*^Opening\")"];
      // End State: Opening

      // State: HalfOpen

      GarageDoor_status_HalfOpen [label = HalfOpen, tooltip = "Class GarageDoor, SM status, State HalfOpen

This state is entered when event buttonOrObstacle occurs while in state Opening.
On buttonOrObstacle, transitions to Opening.", 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

When reachTop occurs in state Opening, transitions to Open.", URL="javascript:Action.transitionClicked(\"GarageDoor*^*status*^*reachTop*^*Opening*^*Open*^*\")" ] ;
  
  GarageDoor_status_Open -> GarageDoor_status_Closing [  label = "buttonOrObstacle", tooltip = "From Open to Closing on buttonOrObstacle

When buttonOrObstacle occurs in state Open, transitions to Closing.", URL="javascript:Action.transitionClicked(\"GarageDoor*^*status*^*buttonOrObstacle*^*Open*^*Closing*^*\")" ] ;
  
  GarageDoor_status_Closing -> GarageDoor_status_Closed [  label = "reachBottom", tooltip = "From Closing to Closed on reachBottom

When reachBottom occurs in state Closing, transitions to Closed.", URL="javascript:Action.transitionClicked(\"GarageDoor*^*status*^*reachBottom*^*Closing*^*Closed*^*\")" ] ;
  
  GarageDoor_status_Closing -> GarageDoor_status_Opening [  label = "buttonOrObstacle", tooltip = "From Closing to Opening on buttonOrObstacle

When buttonOrObstacle occurs in state Closing, transitions to Opening.", URL="javascript:Action.transitionClicked(\"GarageDoor*^*status*^*buttonOrObstacle*^*Closing*^*Opening*^*\")" ] ;
  
  GarageDoor_status_Closed -> GarageDoor_status_Opening [  label = "buttonOrObstacle", tooltip = "From Closed to Opening on buttonOrObstacle

When buttonOrObstacle occurs in state Closed, transitions to Opening.", URL="javascript:Action.transitionClicked(\"GarageDoor*^*status*^*buttonOrObstacle*^*Closed*^*Opening*^*\")" ] ;
  
  GarageDoor_status_HalfOpen -> GarageDoor_status_Opening [  label = "buttonOrObstacle", tooltip = "From HalfOpen to Opening on buttonOrObstacle

When buttonOrObstacle occurs in state HalfOpen, transitions to Opening.", URL="javascript:Action.transitionClicked(\"GarageDoor*^*status*^*buttonOrObstacle*^*HalfOpen*^*Opening*^*\")" ] ;
  
  GarageDoor_status_Opening -> GarageDoor_status_HalfOpen [  label = "buttonOrObstacle", tooltip = "From Opening to HalfOpen on buttonOrObstacle

When buttonOrObstacle occurs in state Opening, transitions to HalfOpen.", URL="javascript:Action.transitionClicked(\"GarageDoor*^*status*^*buttonOrObstacle*^*Opening*^*HalfOpen*^*\")" ] ;
  

}

// Code generated by Umple 1.37.0.8597.21f52b4e3

digraph "NLInitialState" {
  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

This is the default initial state and is entered when the object is created.
This state is entered when event e2 occurs while in state s2.
On e1, transitions to s2.", URL="javascript:Action.stateClicked(\"A^*^sm^*^s1\")"];
      // End State: s1

      // State: s2

      A_sm_s2 [label = s2, tooltip = "Class A, SM sm, State s2

This state is entered when event e1 occurs while in state s1.
On e2, transitions to s1.", 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_s2 -> A_sm_s1 [  label = "e2", tooltip = "From s2 to s1 on e2

When e2 occurs in state s2, transitions to s1.", URL="javascript:Action.transitionClicked(\"A*^*sm*^*e2*^*s2*^*s1*^*\")" ] ;
  
  A_sm_s1 -> A_sm_s2 [  label = "e1", tooltip = "From s1 to s2 on e1

When e1 occurs in state s1, transitions to s2.", URL="javascript:Action.transitionClicked(\"A*^*sm*^*e1*^*s1*^*s2*^*\")" ] ;
  

}

// Code generated by Umple 1.37.0.8597.21f52b4e3

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

This is the default initial state and is entered when the object is created.
On e1, transitions to s2.", URL="javascript:Action.stateClicked(\"A^*^sm^*^s1\")"];
      // End State: s1

      // State: s2

      A_sm_s2 [label = s2, tooltip = "Class A, SM sm, State s2

This state is entered when event e1 occurs while in state s1.", 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();

When e1 occurs in state s1, transitions to s2.", URL="javascript:Action.transitionClicked(\"A*^*sm*^*e1*^*s1*^*s2*^*\")" ] ;
  

}

// Code generated by Umple 1.37.0.8597.21f52b4e3

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

This is the default initial state and is entered when the object is created.
On e1 if guard [guard()], transitions to s2.", URL="javascript:Action.stateClicked(\"A^*^sm^*^s1\")"];
      // End State: s1

      // State: s2

      A_sm_s2 [label = s2, tooltip = "Class A, SM sm, State s2

This state is entered when event e1 occurs while in state s1 when guard [guard()] is true.", 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()]

When e1 occurs in state s1, transitions to s2 if guard [guard()].", URL="javascript:Action.transitionClicked(\"A*^*sm*^*e1*^*s1*^*s2*^* [guard()]\")" ] ;
  

}

// Code generated by Umple 1.37.0.8597.21f52b4e3

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

This is the default initial state and is entered when the object is created.
On e1, transitions to s2.", URL="javascript:Action.stateClicked(\"A^*^sm^*^s1\")"];
      // End State: s1

      // State: s2

      A_sm_s2 [label = s2, tooltip = "Class A, SM sm, State s2

This state is entered when event e1 occurs while in state s1.", 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

When e1 occurs in state s1, transitions to s2.", URL="javascript:Action.transitionClicked(\"A*^*sm*^*e1*^*s1*^*s2*^*\")" ] ;
  

}

// Code generated by Umple 1.37.0.8597.21f52b4e3

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

This is the default initial state and is entered when the object is created.
On e1, transitions to s2.", URL="javascript:Action.stateClicked(\"A^*^sm^*^s1\")"];
      // End State: s1

      // State: s2

      A_sm_s2 [label = s2, tooltip = "Class A, SM sm, State s2

This state is entered when event e1 occurs while in state s1.", 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

When e1 occurs in state s1, transitions to s2.", URL="javascript:Action.transitionClicked(\"A*^*sm*^*e1*^*s1*^*s2*^*\")" ] ;
  

}

// Code generated by Umple 1.37.0.8597.21f52b4e3

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();
   ...

This is the default initial state and is entered when the object is created.
A do activity runs in a separate thread until completion or state exit.", 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.37.0.8597.21f52b4e3

digraph "NLAnnotationComments" {
  compound = true;

  // Class: X

    // Top and Bottom Level StateMachine: sm1
    
    // Start states are shown as a black circle
    node [ratio="auto" shape = point, fillcolor="black", width=0.2 ];
    start_X_sm1 [ tooltip = "Class X, SM sm1, State start" ];
    
        
    // Format for normal states
    node [ratio="auto" shape = rectangle, width=1,style=rounded];
    
      // State: s1

      X_sm1_s1 [label = s1, tooltip = "Class X, SM sm1, State s1
Javadoc-style comment for state s1

This is the default initial state and is entered when the object is created.
This state is entered when event e2 occurs while in state s2.
On e1, transitions to s2.", URL="javascript:Action.stateClicked(\"X^*^sm1^*^s1\")"];
      // End State: s1

      // State: s2

      X_sm1_s2 [label = s2, tooltip = "Class X, SM sm1, State s2

This state is entered when event e1 occurs while in state s1.
On e2, transitions to s1.", URL="javascript:Action.stateClicked(\"X^*^sm1^*^s2\")"];
      // End State: s2
    // End Top and Bottom Level StateMachine: sm1

  // All transitions
    start_X_sm1 -> X_sm1_s1 [  tooltip = "start to s1", URL="javascript:Action.transitionClicked(\"null\")" ] ;
    X_sm1_s2 -> X_sm1_s1 [  label = "e2", tooltip = "From s2 to s1 on e2

When e2 occurs in state s2, transitions to s1.", URL="javascript:Action.transitionClicked(\"X*^*sm1*^*e2*^*s2*^*s1*^*\")" ] ;
  
  X_sm1_s1 -> X_sm1_s2 [  label = "e1", tooltip = "From s1 to s2 on e1
Javadoc-style comment for e1 transition

When e1 occurs in state s1, transitions to s2.", URL="javascript:Action.transitionClicked(\"X*^*sm1*^*e1*^*s1*^*s2*^*\")" ] ;
  

}

// Code generated by Umple 1.37.0.8597.21f52b4e3

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

This is the default initial state and is entered when the object is created.
This state is entered when event turnOff occurs while in state Running.state.Stopped.
On turnOn, transitions to Running.", URL="javascript:Action.stateClicked(\"Car^*^state^*^Off\")"];
      // End State: Off

      // State: Running

     subgraph clusterCar_state_Running {
      label = "Running";
      style = "filled, rounded" fillcolor ="lightgreen" 
      tooltip = "Class Car, SM state, State Running

This state is entered when event turnOn occurs while in state Off.";
      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" 
        tooltip = "Class Car, SM state, State Running.state

This is the default initial state when entering state Running.
This state is entered when event turnOn occurs while in state Off.";
        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

This is the default initial state when entering state Running.state.
This state is entered when event decelerate occurs while in state Running.state.Moving.
This state is entered when event turnOn occurs while in state Off.
On accelerate, transitions to Running.state.Moving.", 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

This state is entered when event accelerate occurs while in state Running.state.Idle.
This state is entered when event accelerate occurs while in state Running.state.Stopped.
On decelerate, transitions to Running.state.Idle.
On stop, transitions to Running.state.Stopped.", 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

This state is entered when event stop occurs while in state Running.state.Moving.
On accelerate, transitions to Running.state.Moving.
On turnOff, transitions to Off.", 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

When turnOff occurs in state Running.state.Stopped, transitions to Off.", 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

When turnOn occurs in state Off, transitions to Running.", 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

When decelerate occurs in state Running.state.Moving, transitions to Running.state.Idle.", 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

When accelerate occurs in state Running.state.Idle, transitions to Running.state.Moving.", 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

When accelerate occurs in state Running.state.Stopped, transitions to Running.state.Moving.", 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

When stop occurs in state Running.state.Moving, transitions to Running.state.Stopped.", URL="javascript:Action.transitionClicked(\"Car*^*state*^*stop*^*Running.state.Moving*^*Running.state.Stopped*^*\")" ] ;
  

}

// Code generated by Umple 1.37.0.8597.21f52b4e3

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();
   ...

This is the default initial state and is entered when the object is created.
On exit from this state an exit action is executed.", 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.37.0.8597.21f52b4e3

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

This is the default initial state and is entered when the object is created.", 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.37.0.8597.21f52b4e3

digraph "NLDeeplyNestedState" {
  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

This is the default initial state and is entered when the object is created.
This state is entered when event e3 occurs while in state s2.s2a.s2a2.
On e1, transitions to s2.", URL="javascript:Action.stateClicked(\"A^*^sm^*^s1\")"];
      // End State: s1

      // State: s2

     subgraph clusterA_sm_s2 {
      label = "s2";
      style = rounded; 
      tooltip = "Class A, SM sm, State s2

This state is entered when event e1 occurs while in state s1.";
      URL="javascript:Action.stateClicked(\"A^*^sm^*^s2\")";

      // 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

       subgraph clusterA_smS2_s2a {
        label = "s2a";
        style = rounded; 
        tooltip = "Class A, SM sm, State s2.s2a

This is the default initial state when entering state s2.
This state is entered when event e1 occurs while in state s1.";
        URL="javascript:Action.stateClicked(\"A^*^sm^*^s2.s2a\")";

        // Bottom Level StateMachine: s2a
        
        // Start states are shown as a black circle
        node [ratio="auto" shape = point, fillcolor="black", width=0.2 ];
        start_A_smS2S2a [ tooltip = "Class A, SM sm, State s2.s2a.start" ];
        
                
        // Format for normal states
        node [ratio="auto" shape = rectangle, width=1,style=rounded];
        
          // State: s2a1

          A_smS2S2a_s2a1 [label = s2a1, tooltip = "Class A, SM sm, State s2.s2a.s2a1

This is the default initial state when entering state s2.s2a.
This state is entered when event e1 occurs while in state s1.
On e2, transitions to s2.s2a.s2a2.", URL="javascript:Action.stateClicked(\"A^*^sm^*^s2.s2a.s2a1\")"];
          // End State: s2a1

          // State: s2a2

          A_smS2S2a_s2a2 [label = s2a2, tooltip = "Class A, SM sm, State s2.s2a.s2a2

This state is entered when event e2 occurs while in state s2.s2a.s2a1.
On e3, transitions to s1.", URL="javascript:Action.stateClicked(\"A^*^sm^*^s2.s2a.s2a2\")"];
          // End State: s2a2
        // End Bottom Level StateMachine: s2a
       }
        // End State: s2a
      // End 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_smS2S2a_s2a2 -> A_sm_s1 [  label = "e3", tooltip = "From s2.s2a.s2a2 to s1 on e3

When e3 occurs in state s2.s2a.s2a2, transitions to s1.", URL="javascript:Action.transitionClicked(\"A*^*sm*^*e3*^*s2.s2a.s2a2*^*s1*^*\")" ] ;
  
  A_sm_s1 -> A_smS2S2a_s2a1 [  lhead=clusterA_sm_s2,  label = "e1", tooltip = "From s1 to s2 on e1

When e1 occurs in state s1, transitions to s2.", URL="javascript:Action.transitionClicked(\"A*^*sm*^*e1*^*s1*^*s2*^*\")" ] ;
  
  start_A_smS2 -> A_smS2S2a_s2a1 [  lhead=clusterA_smS2_s2a,  tooltip = "start to s2.s2a", URL="javascript:Action.transitionClicked(\"null\")" ] ;
    start_A_smS2S2a -> A_smS2S2a_s2a1 [  tooltip = "start to s2.s2a.s2a1", URL="javascript:Action.transitionClicked(\"null\")" ] ;
    A_smS2S2a_s2a1 -> A_smS2S2a_s2a2 [  label = "e2", tooltip = "From s2.s2a.s2a1 to s2.s2a.s2a2 on e2

When e2 occurs in state s2.s2a.s2a1, transitions to s2.s2a.s2a2.", URL="javascript:Action.transitionClicked(\"A*^*sm*^*e2*^*s2.s2a.s2a1*^*s2.s2a.s2a2*^*\")" ] ;
  

}

// Code generated by Umple 1.37.0.8597.21f52b4e3

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();

This is the default initial state and is entered when the object is created.
A do activity runs in a separate thread until completion or state exit.", 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.37.0.8597.21f52b4e3

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

This is the default initial state and is entered when the object is created.
On e1, transitions to s2.", URL="javascript:Action.stateClicked(\"A^*^sm^*^s1\")"];
      // End State: s1

      // State: s2

      A_sm_s2 [label = s2, tooltip = "Class A, SM sm, State s2

This state is entered when event e1 occurs while in state s1.", 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();
     ...

When e1 occurs in state s1, transitions to s2.", URL="javascript:Action.transitionClicked(\"A*^*sm*^*e1*^*s1*^*s2*^*\")" ] ;
  

}

// Code generated by Umple 1.37.0.8597.21f52b4e3

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();

This is the default initial state and is entered when the object is created.
On exit from this state an exit action is executed.", 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.37.0.8597.21f52b4e3

digraph "NLMultipleTransitions" {
  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

This is the default initial state and is entered when the object is created.
This state is entered when event e3 occurs while in state s2.
This state is entered when event e1 occurs while in state s3.
On e1, transitions to s2.
On e2, transitions to s3.", URL="javascript:Action.stateClicked(\"A^*^sm^*^s1\")"];
      // End State: s1

      // State: s2

      A_sm_s2 [label = s2, tooltip = "Class A, SM sm, State s2

This state is entered when event e1 occurs while in state s1.
This state is entered when event e2 occurs while in state s3.
On e3, transitions to s1.", URL="javascript:Action.stateClicked(\"A^*^sm^*^s2\")"];
      // End State: s2

      // State: s3

      A_sm_s3 [label = s3, tooltip = "Class A, SM sm, State s3

This state is entered when event e2 occurs while in state s1.
On e1, transitions to s1.
On e2, transitions to s2.", URL="javascript:Action.stateClicked(\"A^*^sm^*^s3\")"];
      // End State: s3
    // 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_s2 -> A_sm_s1 [  label = "e3", tooltip = "From s2 to s1 on e3

When e3 occurs in state s2, transitions to s1.", URL="javascript:Action.transitionClicked(\"A*^*sm*^*e3*^*s2*^*s1*^*\")" ] ;
  
  A_sm_s3 -> A_sm_s1 [  label = "e1", tooltip = "From s3 to s1 on e1

When e1 occurs in state s3, transitions to s1.", URL="javascript:Action.transitionClicked(\"A*^*sm*^*e1*^*s3*^*s1*^*\")" ] ;
  
  A_sm_s1 -> A_sm_s2 [  label = "e1", tooltip = "From s1 to s2 on e1

When e1 occurs in state s1, transitions to s2.", URL="javascript:Action.transitionClicked(\"A*^*sm*^*e1*^*s1*^*s2*^*\")" ] ;
  
  A_sm_s3 -> A_sm_s2 [  label = "e2", tooltip = "From s3 to s2 on e2

When e2 occurs in state s3, transitions to s2.", URL="javascript:Action.transitionClicked(\"A*^*sm*^*e2*^*s3*^*s2*^*\")" ] ;
  
  A_sm_s1 -> A_sm_s3 [  label = "e2", tooltip = "From s1 to s3 on e2

When e2 occurs in state s1, transitions to s3.", URL="javascript:Action.transitionClicked(\"A*^*sm*^*e2*^*s1*^*s3*^*\")" ] ;
  

}

// Code generated by Umple 1.37.0.8597.21f52b4e3

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

This is the default initial state and is entered when the object is created.
This state is entered when event e1 occurs while in state s2.
On e1, transitions to s2.
On e2, transitions to s2.s2b.", URL="javascript:Action.stateClicked(\"A^*^sm^*^s1\")"];
      // End State: s1

      // State: s2

     subgraph clusterA_sm_s2 {
      label = "s2";
      style = rounded; 
      tooltip = "Class A, SM sm, State s2

This state is entered when event e1 occurs while in state s1.
On e1, transitions to s1.";
      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

This is the default initial state when entering state s2.
This state is entered when event e3 occurs while in state s2.s2b.
This state is entered when event e1 occurs while in state s1.
On e3, transitions to s2.s2b.", 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

This state is entered when event e2 occurs while in state s1.
This state is entered when event e3 occurs while in state s2.s2a.
On e3, transitions to s2.s2a.", 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

When e1 occurs in state s2, transitions to s1.", 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

When e1 occurs in state s1, transitions to s2.", 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

When e3 occurs in state s2.s2b, transitions to s2.s2a.", 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

When e2 occurs in state s1, transitions to s2.s2b.", 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

When e3 occurs in state s2.s2a, transitions to s2.s2b.", URL="javascript:Action.transitionClicked(\"A*^*sm*^*e3*^*s2.s2a*^*s2.s2b*^*\")" ] ;
  

}

// Code generated by Umple 1.37.0.8597.21f52b4e3

digraph "NLTimerGuardEntry" {
  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
Entry:
   doEntry();

This is the default initial state and is entered when the object is created.
On entry into this state an entry action is executed.
After 5000 millisecond(s) if guard [isReady()], transitions to s2.", URL="javascript:Action.stateClicked(\"A^*^sm^*^s1\")"];
      // End State: s1

      // State: s2

      A_sm_s2 [label = s2, tooltip = "Class A, SM sm, State s2

This state is entered after 5000 millisecond(s) while in state s1 when guard [isReady()] is true.", 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 = "after(5) [isReady()]", tooltip = "From s1 to s2 after(5)
Guard:  [isReady()]

After 5000 millisecond(s) in state s1, transitions to s2 if guard [isReady()].", URL="javascript:Action.transitionClicked(\"A*^*sm*^*after(5)*^*s1*^*s2*^* [isReady()]\")" ] ;
  

}

// Code generated by Umple 1.37.0.8597.21f52b4e3

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; 
      tooltip = "Class A, SM sm, State s2

This is the default initial state and is entered when the object is created.";
      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

This is the default initial state when entering state s2 and is entered when the object is created.", 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.37.0.8597.21f52b4e3

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

This is the default initial state and is entered when the object is created.
On e1, transitions to s2.", URL="javascript:Action.stateClicked(\"A^*^sm^*^s1\")"];
      // End State: s1

      // State: s2

      A_sm_s2 [label = s2, tooltip = "Class A, SM sm, State s2

This state is entered when event e1 occurs while in state s1.", 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

When e1 occurs in state s1, transitions to s2.", URL="javascript:Action.transitionClicked(\"A*^*sm*^*e1*^*s1*^*s2*^*\")" ] ;
  

}

// Code generated by Umple 1.37.0.8597.21f52b4e3

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();

This is the default initial state and is entered when the object is created.
On exit from this state an exit action is executed.", 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.37.0.8597.21f52b4e3

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

This is the default initial state and is entered when the object is created.
On entry into this state an entry action is executed.
On exit from this state an exit action is executed.", 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.37.0.8597.21f52b4e3

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

This is the default initial state and is entered when the object is created.
This state is entered when event reachTop occurs while in state Opening.
On buttonOrObstacle, transitions to Closing.", 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

This state is entered when event buttonOrObstacle occurs while in state Open.
On buttonOrObstacle, transitions to Opening.
On reachBottom, transitions to Closed.", 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

This state is entered when event reachBottom occurs while in state Closing.
On buttonOrObstacle, transitions to Opening.", 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

This state is entered when event buttonOrObstacle occurs while in state Closing.
This state is entered when event buttonOrObstacle occurs while in state Closed.
This state is entered when event buttonOrObstacle occurs while in state HalfOpen.
On buttonOrObstacle, transitions to HalfOpen.
On reachTop, transitions to Open.", 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

This state is entered when event buttonOrObstacle occurs while in state Opening.
On buttonOrObstacle, transitions to Opening.", 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

When reachTop occurs in state Opening, transitions to Open.", URL="javascript:Action.transitionClicked(\"GarageDoor*^*status*^*reachTop*^*Opening*^*Open*^*\")" ] ;
  
  GarageDoor_status_Open -> GarageDoor_status_Closing [  label = "buttonOrObstacle", tooltip = "From Open to Closing on buttonOrObstacle

When buttonOrObstacle occurs in state Open, transitions to Closing.", URL="javascript:Action.transitionClicked(\"GarageDoor*^*status*^*buttonOrObstacle*^*Open*^*Closing*^*\")" ] ;
  
  GarageDoor_status_Closing -> GarageDoor_status_Closed [  label = "reachBottom", tooltip = "From Closing to Closed on reachBottom

When reachBottom occurs in state Closing, transitions to Closed.", URL="javascript:Action.transitionClicked(\"GarageDoor*^*status*^*reachBottom*^*Closing*^*Closed*^*\")" ] ;
  
  GarageDoor_status_Closing -> GarageDoor_status_Opening [  label = "buttonOrObstacle", tooltip = "From Closing to Opening on buttonOrObstacle

When buttonOrObstacle occurs in state Closing, transitions to Opening.", URL="javascript:Action.transitionClicked(\"GarageDoor*^*status*^*buttonOrObstacle*^*Closing*^*Opening*^*\")" ] ;
  
  GarageDoor_status_Closed -> GarageDoor_status_Opening [  label = "buttonOrObstacle", tooltip = "From Closed to Opening on buttonOrObstacle

When buttonOrObstacle occurs in state Closed, transitions to Opening.", URL="javascript:Action.transitionClicked(\"GarageDoor*^*status*^*buttonOrObstacle*^*Closed*^*Opening*^*\")" ] ;
  
  GarageDoor_status_HalfOpen -> GarageDoor_status_Opening [  label = "buttonOrObstacle", tooltip = "From HalfOpen to Opening on buttonOrObstacle

When buttonOrObstacle occurs in state HalfOpen, transitions to Opening.", URL="javascript:Action.transitionClicked(\"GarageDoor*^*status*^*buttonOrObstacle*^*HalfOpen*^*Opening*^*\")" ] ;
  
  GarageDoor_status_Opening -> GarageDoor_status_HalfOpen [  label = "buttonOrObstacle", tooltip = "From Opening to HalfOpen on buttonOrObstacle

When buttonOrObstacle occurs in state Opening, transitions to HalfOpen.", URL="javascript:Action.transitionClicked(\"GarageDoor*^*status*^*buttonOrObstacle*^*Opening*^*HalfOpen*^*\")" ] ;
  

}

// Code generated by Umple 1.37.0.8597.21f52b4e3

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();

This is the default initial state and is entered when the object is created.
A do activity runs in a separate thread until completion or state exit.", 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.37.0.8597.21f52b4e3

digraph "NLNestedStateComments" {
  compound = true;

  // Class: X

    // Top Level StateMachine: sm1
    
    // Start states are shown as a black circle
    node [ratio="auto" shape = point, fillcolor="black", width=0.2 ];
    start_X_sm1 [ tooltip = "Class X, SM sm1, State start" ];
    
        
    // Format for normal states
    node [ratio="auto" shape = rectangle, width=1,style=rounded];
    
      // State: s1

     subgraph clusterX_sm1_s1 {
      label = "s1";
      style = rounded; 
      tooltip = "Class X, SM sm1, State s1
Comment on outer state s1

This is the default initial state and is entered when the object is created.
This state is entered when event e4 occurs while in state s2.";
      URL="javascript:Action.stateClicked(\"X^*^sm1^*^s1\")";

      // Bottom Level StateMachine: s1
      
      // Start states are shown as a black circle
      node [ratio="auto" shape = point, fillcolor="black", width=0.2 ];
      start_X_sm1S1 [ tooltip = "Class X, SM sm1, State s1.start" ];
      
            
      // Format for normal states
      node [ratio="auto" shape = rectangle, width=1,style=rounded];
      
        // State: s1a

        X_sm1S1_s1a [label = s1a, tooltip = "Class X, SM sm1, State s1.s1a
Comment on nested state s1a

This is the default initial state when entering state s1 and is entered when the object is created.
This state is entered when event e2 occurs while in state s1.s1b.
This state is entered when event e4 occurs while in state s2.
On e1, transitions to s1.s1b.", URL="javascript:Action.stateClicked(\"X^*^sm1^*^s1.s1a\")"];
        // End State: s1a

        // State: s1b

        X_sm1S1_s1b [label = s1b, tooltip = "Class X, SM sm1, State s1.s1b
Comment on nested state s1b

This state is entered when event e1 occurs while in state s1.s1a.
On e2, transitions to s1.s1a.
On e3, transitions to s2.", URL="javascript:Action.stateClicked(\"X^*^sm1^*^s1.s1b\")"];
        // End State: s1b
      // End Bottom Level StateMachine: s1
     }
      // End State: s1

      // State: s2

      X_sm1_s2 [label = s2, tooltip = "Class X, SM sm1, State s2
Comment on outer state s2

This state is entered when event e3 occurs while in state s1.s1b.
On e4, transitions to s1.", URL="javascript:Action.stateClicked(\"X^*^sm1^*^s2\")"];
      // End State: s2
    // End Top Level StateMachine: sm1

  // All transitions
    start_X_sm1 -> X_sm1S1_s1a [  lhead=clusterX_sm1_s1,  tooltip = "start to s1", URL="javascript:Action.transitionClicked(\"null\")" ] ;
    X_sm1_s2 -> X_sm1S1_s1a [  lhead=clusterX_sm1_s1,  label = "e4", tooltip = "From s2 to s1 on e4

When e4 occurs in state s2, transitions to s1.", URL="javascript:Action.transitionClicked(\"X*^*sm1*^*e4*^*s2*^*s1*^*\")" ] ;
  
  start_X_sm1S1 -> X_sm1S1_s1a [  tooltip = "start to s1.s1a", URL="javascript:Action.transitionClicked(\"null\")" ] ;
    X_sm1S1_s1b -> X_sm1S1_s1a [  label = "e2", tooltip = "From s1.s1b to s1.s1a on e2

When e2 occurs in state s1.s1b, transitions to s1.s1a.", URL="javascript:Action.transitionClicked(\"X*^*sm1*^*e2*^*s1.s1b*^*s1.s1a*^*\")" ] ;
  
  X_sm1S1_s1a -> X_sm1S1_s1b [  label = "e1", tooltip = "From s1.s1a to s1.s1b on e1
Comment on nested transition e1

When e1 occurs in state s1.s1a, transitions to s1.s1b.", URL="javascript:Action.transitionClicked(\"X*^*sm1*^*e1*^*s1.s1a*^*s1.s1b*^*\")" ] ;
  
  X_sm1S1_s1b -> X_sm1_s2 [  label = "e3", tooltip = "From s1.s1b to s2 on e3

When e3 occurs in state s1.s1b, transitions to s2.", URL="javascript:Action.transitionClicked(\"X*^*sm1*^*e3*^*s1.s1b*^*s2*^*\")" ] ;
  

}

// Code generated by Umple 1.37.0.8597.21f52b4e3

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");

This is the default initial state and is entered when the object is created.
On entry into this state an entry action is executed.
A do activity runs in a separate thread until completion or state exit.
Exits automatically if guard [guard], transitions to s2.", 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");

This state is entered automatically from s1 when guard [guard] is true.
On entry into this state an entry action is executed.
A do activity runs in a separate thread until completion or state exit.", 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]

Automatically transitions from s1 to s2 if guard [guard].", URL="javascript:Action.transitionClicked(\"X*^*sm*^**^*s1*^*s2*^*[guard]\")" ] ;
  

}

// Code generated by Umple 1.37.0.8597.21f52b4e3

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);
   ...

This is the default initial state and is entered when the object is created.
A do activity runs in a separate thread until completion or state exit.
Exits automatically, transitions to s1b.", URL="javascript:Action.stateClicked(\"X^*^stateMachine1^*^s1a\")"];
      // End State: s1a

      // State: s1b

      X_stateMachine1_s1b [label = s1b, tooltip = "Class X, SM stateMachine1, State s1b

This state is entered automatically from s1a.", 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");

This is the default initial state and is entered when the object is created.
This state is entered when event e(int a) occurs while in state s2b.
On entry into this state an entry action is executed.
On e(int a) if guard [a > 6], transitions to s2b.", 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");

This state is entered when event e(int a) occurs while in state s2a when guard [a > 6] is true.
On entry into this state an entry action is executed.
On e(int a), transitions to s2a.", 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

Automatically transitions from s1a to s1b.", 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);

When e(int a) occurs in state s2b, transitions to s2a.", 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);

When e(int a) occurs in state s2a, transitions to s2b if guard [a > 6].", URL="javascript:Action.transitionClicked(\"X*^*stateMachine2*^*e(int a)*^*s2a*^*s2b*^* [a > 6]\")" ] ;
  

}

// Code generated by Umple 1.37.0.8597.21f52b4e3

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();
   ...

This is the default initial state and is entered when the object is created.
On entry into this state an entry action is executed.", 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.37.0.8597.21f52b4e3

digraph "NLHideNaturalLanguage" {
  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.37.0.8597.21f52b4e3

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();

This is the default initial state and is entered when the object is created.
On entry into this state an entry action is executed.", 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.37.0.8597.21f52b4e3

digraph "NLStateComments" {
  compound = true;

  // Class: X

    // Top and Bottom Level StateMachine: sm1
    
    // Start states are shown as a black circle
    node [ratio="auto" shape = point, fillcolor="black", width=0.2 ];
    start_X_sm1 [ tooltip = "Class X, SM sm1, State start" ];
    
        
    // Format for normal states
    node [ratio="auto" shape = rectangle, width=1,style=rounded];
    
      // State: s1

      X_sm1_s1 [label = s1, tooltip = "Class X, SM sm1, State s1
This is the comment for state s1
It has two lines

This is the default initial state and is entered when the object is created.
This state is entered when event e3 occurs while in state s2.
On e1, transitions to s2.
On e2, transitions to s2.", URL="javascript:Action.stateClicked(\"X^*^sm1^*^s1\")"];
      // End State: s1

      // State: s2

      X_sm1_s2 [label = s2, tooltip = "Class X, SM sm1, State s2
This is the comment for state s2

This state is entered when event e1 occurs while in state s1.
This state is entered when event e2 occurs while in state s1.
On e3, transitions to s1.", URL="javascript:Action.stateClicked(\"X^*^sm1^*^s2\")"];
      // End State: s2
    // End Top and Bottom Level StateMachine: sm1

  // All transitions
    start_X_sm1 -> X_sm1_s1 [  tooltip = "start to s1", URL="javascript:Action.transitionClicked(\"null\")" ] ;
    X_sm1_s2 -> X_sm1_s1 [  label = "e3", tooltip = "From s2 to s1 on e3

When e3 occurs in state s2, transitions to s1.", URL="javascript:Action.transitionClicked(\"X*^*sm1*^*e3*^*s2*^*s1*^*\")" ] ;
  
  X_sm1_s1 -> X_sm1_s2 [  label = "e1", tooltip = "From s1 to s2 on e1
This is the comment for the e1 transition to s2

When e1 occurs in state s1, transitions to s2.", URL="javascript:Action.transitionClicked(\"X*^*sm1*^*e1*^*s1*^*s2*^*\")" ] ;
  
  X_sm1_s1 -> X_sm1_s2 [  label = "e2 / doSomething();", tooltip = "From s1 to s2 on e2
Transition Action:
     doSomething();
This is the comment for the e2 transition

When e2 occurs in state s1, transitions to s2.", URL="javascript:Action.transitionClicked(\"X*^*sm1*^*e2*^*s1*^*s2*^*\")" ] ;
  

}

// Code generated by Umple 1.37.0.8597.21f52b4e3

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();

This is the default initial state and is entered when the object is created.
On entry into this state an entry action is executed.", 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.37.0.8597.21f52b4e3

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

This is the default initial state and is entered when the object is created.
This state is entered when event turnOff occurs while in state On.
On turnOn, transitions to On.", 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

This state is entered when event turnOn occurs while in state Off.
On turnOff, transitions to Off.", 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

When turnOff occurs in state On, transitions to Off.", URL="javascript:Action.transitionClicked(\"LightBulb*^*state*^*turnOff*^*On*^*Off*^*\")" ] ;
  
  LightBulb_state_Off -> LightBulb_state_On [  label = "turnOn", tooltip = "From Off to On on turnOn

When turnOn occurs in state Off, transitions to On.", URL="javascript:Action.transitionClicked(\"LightBulb*^*state*^*turnOn*^*Off*^*On*^*\")" ] ;
  

}

// Code generated by Umple 1.37.0.8597.21f52b4e3

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");

This is the default initial state and is entered when the object is created.
On entry into this state an entry action is executed.
After 1000 millisecond(s), transitions to b.", 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");

This state is entered after 1000 millisecond(s) while in state a.
On entry into this state an entry action is executed.", 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)

After 1000 millisecond(s) in state a, transitions to b.", URL="javascript:Action.transitionClicked(\"X*^*sm*^*after(1)*^*a*^*b*^*\")" ] ;
  

}

// Code generated by Umple 1.37.0.8597.21f52b4e3

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");

This is the default initial state and is entered when the object is created.
On entry into this state an entry action is executed.
A do activity runs in a separate thread until completion or state exit.
Exits automatically, transitions to s2.", 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");

This state is entered automatically from s1.
On entry into this state an entry action is executed.
A do activity runs in a separate thread until completion or state exit.", 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

Automatically transitions from s1 to s2.", URL="javascript:Action.transitionClicked(\"X*^*sm*^**^*s1*^*s2*^*\")" ] ;
  

}

// Code generated by Umple 1.37.0.8597.21f52b4e3

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

This is the default initial state and is entered when the object is created.
This state is entered when event e1 occurs while in state s1.
On e1, loops back to self.", 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

When e1 occurs in state s1, loops back to self.", URL="javascript:Action.transitionClicked(\"A*^*sm*^*e1*^*s1*^*s1*^*\")" ] ;
  

}