Confused about Combined Fragments in Sequence Diagrams?

In the Basic Sequence Diagrams article there was some information on combined fragments known as “alternative,” “option,” and “loop.” While these combined fragments are what people will utilize the most, there are other combined fragments, such as break and parallel, which a large share of people will find useful.

Break

The break combined fragment is similar to the option combined fragment. There are two exceptions, though.

  1. First, a break’s frame has a name box stating “break” instead of “option.”
  2. Second, when a break combined fragment’s message is to be executed, the enclosing interaction’s remainder messages will not be executed because the sequence breaks out of the enclosing interaction. 

Breaks are utilized to model exception handling. The figure below uses a break combination fragment since it treats the balance < amount condition as an exception instead of as an alternative flow. When the sequence gets to the return value “balance,” it checks to see if the balance is less than the amount. If the balance is not less than the amount, the next message sent is the addDebitTransaction message, and the sequence continues as normal. However, in cases where the balance is less than the amount, then the sequence enters the break combination fragment and its messages are sent. Once all the messages in the break combination have been sent, the sequence exits without sending any of the remaining messages (e.g., addDebitTransaction).

An important thing to note about breaks is that they only cause the exiting of an enclosing interaction’s sequence and not necessarily the complete sequence depicted in the diagram. Where there is a break combination, which is part of an alternative or a loop, then only the alternative or loop is exited.

Parallel

When the processing time needed to finish portions of a complex task takes longer than previously thought, some systems handle parts of the processing in tandem. The parallel combination fragment element should be used when creating a sequence diagram that shows parallel processing activities.

The parallel combination fragment is drawn using a frame, and you place the text “par” in the frame’s namebox. You then break up the frame’s content section into horizontal operands separated by a dashed line. Each operand in the frame represents a thread of execution done in parallel.

Refer the figure below. This figure may not illustrate the best computer system example of an object doing activities in parallel, it offers an easy-to-understand example of a sequence with parallel activities. The sequence goes like this: A hungryPerson sends the cookFood message to the oven object. When the oven object receives that message, it sends two messages to itself at the same time (nukeFood and rotateFood). After both of these messages are done, the hungryPerson object is returned yummyFood from the oven object.

All things considered, remember that the sequence diagram is a versatile diagram that can be used to document a system’s needs and to flush out a system’s design. The reason the sequence diagram is so useful is because it shows the interaction logic between the objects in the system in the time order that the interactions take place.

Image from - http://davefleet.com

Learn How Creately Diagrams works

Learn How Creately Diagrams works