|
Auto-Transitions
[Previous]  [Next] 
|
![]() |
User Manual [Previous]  [Next] Auto-TransitionsIt is possible to arrange for a state machine to transition automatically from one state to the next immediately after completing entry actions or upon completion of a do activity. This is specified using a transition without any preceding event. Such transitions may have guards and transition actions. Example
// In this example, the system will transition to s2 automatically
// when the do activity ends
class X {
sm {
s1 {
entry / {
System.out.println("Starting first sleep");
}
do {
Thread.sleep(2000);
System.out.println("Ending first sleep");
}
-> s2;
}
s2 {
entry / {
System.out.println("Starting second sleep");
}
do {
Thread.sleep(2000);
System.out.println("Ending second sleep");
}
}
}
public static void main(String [ ] args) {
X x = new X();
}
}
Load the above code into UmpleOnline SyntaxautoTransition : [[activity]]? [[autoTransitionBlock]] // Autotransitions have no event. The transition is immediately taken // or taken after the do activity ends[[guard]]? -> [[action]]? // The action can come before or after the arrow autoTransitionBlock- : [[guard]]?  ( [[action]] -> | -> [[action]] | ->  ) [stateName] ; |