- 2069 Poush · 3 marks
Short note: Synchronization bar
Short answer
A synchronization bar (fork/join) in activity diagrams models concurrency. A fork splits one flow into parallel actions; a join waits for all parallel flows to complete before continuing. Example: 'Receive Order' forks to 'Pack Items' and 'Process Payment'; they join before 'Ship Order'.
Write a short note on Synchronization bar.
A synchronization bar is a thick horizontal (or vertical) line used in UML activity diagrams to show concurrency. It has two uses:
- Fork: one incoming flow is split into two or more outgoing flows that execute in parallel (concurrent flows).
- Join: two or more incoming flows are combined into one outgoing flow. The join waits until all incoming flows have arrived before the flow continues.
( Receive Order )
|
====================== fork
| |
[Pack Items] [Process Payment]
| |
====================== join
|
[ Ship Order ]
Rules
- In a well-structured diagram, the flows that leave a fork meet again at a matching join.
- Guard conditions are normally not placed on fork branches, since all of them run.
- A join is different from a merge: a merge (diamond) continues as soon as any one incoming flow arrives, while a join waits for all of them.
In UML 2 these are called the fork node and join node. They bring the model close to real parallel processing, e.g. multi-threaded implementations.
✓ Answer checked by Claude Opus 5.5 (high effort)
All Object Oriented Analysis and Design chapter 2 questions →