UML Interaction Overview Diagrams: An Agile Introduction
UML 2 interaction overview diagrams are variants on UML activity diagrams which overview control flow. Figure 1 depicts an interaction overview diagram for enrolling in a seminar. The nodes within the diagram are frames instead of the normal activities which you would see on an activity diagram. There are two types of frame shown: interaction frames which depict any type of UML interaction diagram (sequence diagram, communication diagram <,> timing diagram, interaction overview diagram) or interaction occurrence frames which indicate an activity or operation to invoke. There are two interaction frames in the diagram, one which depicts a sequence diagram for determining whether a student is eligible to enroll in a seminar and a communication diagram to determine if a seat is available in a seminar. These frames indicate the type of diagram (sd for sequence diagrams, cd for communication diagrams, td for timing diagrams, and iod for interaction overview diagrams) and optionally the name of the diagram. The interaction occurrence frames are of type ref and typically are anonymous as the name of the activity or operation to be invoked should make it clear what is happening (otherwise you need to rethink your naming strategy). Figure 1. Enrolling in a seminar.
The other notation used on the diagram should be familiar to you. Decision points are shown as diamonds, exactly on UML activity diagrams. There should be guards on all of the exiting flows although as you can see I’ll forgo labeling some guards when it is obvious what is meant. Remember, agile models don’t need to be perfect, they need to be just barely good enough. Duration constraints, such as {0..7 msec}, are shown using the same notation as on other types of interaction diagrams. The start and end points use the same notation as initial and end states on UML state machine diagrams and UML activity diagrams.
Although interaction overview diagrams are an interesting concept I doubt that they’ll be used in practice. Interaction frames are virtually useless due to a lack of space – the diagrams that you can depict within the frames will be too small to be of value. My suspicion is that interaction overview diagrams will be abandoned within the marketplace in favor of UML activity diagrams because they don’t work well on whiteboards and the CASE tool vendors can simply allow you to use other diagrams to describe the details of activities. Perhaps I’m wrong about this, time will tell.
The notation used in these diagrams, particularly the hand drawn ones, may not conform perfectly to the current version of the UML for one or more of reasons:
The notation may have evolved from when I originally developed the diagrams. The UML evolves over time, and I may not have kept the diagrams up to date.
I may have gotten it wrong in the first place. Although these diagrams were thoroughly reviewed for the book, and have been reviewed by thousands of people online since then, an error may have gotten past of us. We’re only human.
I may have chosen to apply the notation in “non-standard” ways. An agile modeler is more interested in created models which communicate effectively than in conforming to notation rules set by a committee.
It likely doesn’t matter anyway, because the modeling tool(s) that you’re using likely won’t fully support the current version of the UML notation perfectly anyway. Bottom line is that you’re going to be constrained by your tools anyway.
If you’re really concerned about the nuances of “official” UML notation then read the current version of the UML specification.