Home > UML > Deployment Diagrams – Communication Paths

Deployment Diagrams – Communication Paths

I have found the concept of communication paths in UML deployment diagrams to be quite frustrating for the simple reason that a communication path connects two deployment targets and no more than two. In other words, communication paths do not support the familiar concept of a “bus” / LAN / “high-speed backbone” to which multiple devices are connected.

As a result, while deployment diagrams are very expressive when it comes to portraying devices and nested execution environment and deployed artifacts, when it comes to showing connectivity between devices, they fall short.

After living with this problem for a long time (I pretty much stopped illustrating connectivity between devices), I hit upon the simple idea of modeling a “bus” / LAN / “high-speed backbone” as a node (not a device). This way, I am now able to connect multiple devices to this “bus” / LAN / “high-speed backbone”!

Here is an example of what I mean:

Alternately, imagine all the crisscrossing lines that will be needed to depict this same connectivity using communication paths and you will see why this model is a great improvement!

It is tempting to think of this node as a physical router / switch, but I refrain from doing that because a typical LAN is made up of more than one single router / switch. Hence this node is really modeling a collection of hardware and cables that go into a “bus” / LAN / “high-speed backbone” (this is why I did not model this as a device).

Strictly speaking, this node is not all right. You cannot deploy anything in it. Nothing executes on it. It is not a device; not an execution environment. It just carries signals back and forth which is not the semantics associated with a node in UML. But, until UML comes up with a better way to represent a “bus” / LAN / “high-speed backbone”, I am sticking with this, albeit inaccurate,  invention.

Categories: UML Tags:
  1. September 2, 2009 at 4:24 am

    I appreciated the tutorials, and share your frustration with communication paths.

    Looking at the superstructure, it seems to me that the restriction to two DeploymentTargets is a glitch: it appears in the initial definition (and in the Diagrams section), but CommunicationPath is defined as a specialization of Association (which is *not* binary a priori), and no constraints to two ends is given.

    So, in my opinion, there is an issue with the superstructure. Did you ever tried to raise it? If so, which kind of feedback did you get?

    Carlo.

    • September 20, 2009 at 12:02 pm

      I too am unhappy with the Superstructure treatment of communication paths, but instead of trying to get the Superstructure fixed, I figured it is easier to use the extension mechanism, i.e. profiles.

  2. PM
    April 19, 2013 at 9:04 am

    Hi,

    Do you have recommendations on how I can link deployment diagrams to documents? Am new to the world of UML

    • April 19, 2013 at 2:37 pm

      From a formal UML perspective this question is not meaningful. Yet, most UML tools do allow you to attach external documents to a model. You will have to look up the user manual of the tool you use.

  1. No trackbacks yet.

Leave a comment