I am designing an activity diagram and am unsure of the usage of fork and join.
If we use fork, do we have to follow it later by a join?
I am not using join, because it would mean that for the activity to continue, the other activity must finish (which is not the case).
So lets say we have activity1 in swimlane1 and activity2 in swimlane2. Acvitity1 can begin and go onto the next activity as soon as it finishes. Same for activity2. But they are both pointing onto the same activity. Is this allowed? I initially used join since they later merge into the same activity, but removed it because they both don’t need to complete for the process to continue.
I am slightly confused about fork as well. If we use fork does that mean they are happening at the same time. Because in my design they don’t necessary work in parallel. But I used it since one activity points to two different activities.
Thanks for your post. Would you mind to provide a concrete sample (maybe a project file) about the cases you mentioned fro Fork (2 activities followed by same activity) and Join (2 activities not necessary to work in parallel)? Thanks in advance!
Unfortunately I cant post the file, since it is from an exercise for a course I am taking.
But here is what I want to know. If we use fork to divide an activity, must we later use join?
I am not even sure I need fork because they don’t have to go in parallel. It just that the arrow from the previous activity goes into two different swimlanes. In these two swimlanes (which are actors), it doesn’t matter who finishes first. They both don’t even need to complete for the process to continue. If just one of them finishes, the process will continue. Thats why I didn’t use join. I am pretty sure join does’nt go here. But fork, I used fork because as I mentioned, I have an activity1 in swimlane 1. So either I use one arrow that goes from activity1 in swimlane1, to swimlane2 and swimlane3, using fork to seperate the arrow into two, and connect to activity2(in swimlane2) and activity3(in swimlane3). If fork doesn’t go here, the only thing I can think of would be to have two seperate arrows going out from activity1(in swimlane1) each arrow pointing to one activity2 in swimlane2 and activity3 in swimlane3.