Join GitHub today
GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.Sign up
Composite State Machine #1499
When the composite state in the state machine contains concurrency, the concurrent state machines are not drawn correctly, this issue happens when the composite state has completion transition (transition without any event.
Give the minimum Steps to Reproduce
1- Copy and paste the following Umple code to Umple online
The composite state s1_s was not drawn correctly
@mheng86 I think what you are trying to achieve is that when both s4_r6 and s6_r2 are reached, then go to FINs1
Currently Umple's semantics are that 'final' means 'end the state machine as a whole'.
Current Umple semantics are that autotransitions (as in line 5) have priority.
The problem with the example above is that there is s1_s has an immediate auto-transition to FINs1 on line 5. So as the warnings (reproduced below) state, the transitions to sr_r1 and s7_r5 are ignored, as they cannot ever be invoked.
The 'final' keyword in states does not mean in the Umple context, when this is reached, do the autotransition. I think that was what you were expecting. It means 'delete' the object. There has been a lengthy trail of discussion about this. There was the idea to create a 'done' keyword that would do a transition when all state machines reach and end state.
The issue of the fm0 transition is a separate one; it is lacking a 'tail' but it seems in the right position.
Here is the workaround for the main part of this issue: