UML 2.0 Join & Merge FAQ
Can someone explain the difference between an implicit merge and an implicit join, and how this makes it harder to use UML 2.0 activity diagrams for modeling the control flow?
Think of a join as AND, where all incoming transitions have to fire, and a merge as an OR, when any one of them can fire, for progress to be made. The concern over the change of behavior can be alleviated by not relying on implicit assumptions. Always be explicit: when you want to join, use the join node (the thick bar) and when you want to merge, use the merge node (the diamond). This way everyone (who can real UML Activity Diagrams) will know what you mean.
