2

When a deployment diagram shows an artifact deployed on a node (with either the deploy dependency arrow or one of the alternative way to draw the relationship).

  • Does it mean that the artifact exists on the node (such as in the file system of a computer)?
  • Or, does it mean that the node is executing the artifact (such as an exe or a python file being executed) ? And in this case, how can i modeled one artifact being executed twice (or more) on the same node?
1
  • 2
    You could read on pp. 651 of UML 2.5.
    – user188153
    Jul 20 '20 at 13:18
2

When you have a dashed arrow with the <<deploy>> keyword, one end will be a Node and the other end will be a DeployedArtifact. This indicates that the Node can support the DeployedArtifact and is an alternate representation of putting the DeployedArtifact symbol inside of the Node symbol.

Here is a graphical representation of the two options, from page 659 of the UML 2.5.1 specification:

UML Deployment Diagrams

In both cases, the artifacts have been deployed onto the node.

I think that it would be a safe assumption that if an artifact has been deployed to a node, then it is being used on the node. If it's an executable, then the node will, at some point or under certain conditions, execute it. If it's a configuration file, then the node will, at some point, read it and use it.

Typically, I've shown multiple executions of a specific artifact in the textual description around the UML model. There may be other ways of doing it, such as multiplicity on the <<deploy>> relationship or including multiple instances of the artifact within the node, but I've found that these get confusing to readers. Simply showing that an artifact lives on a node and providing other text or tables around the number of instances is more straightforward.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.