Book a Demo

Author Topic: UML 2 Deployment Model  (Read 4774 times)

NT

  • EA Novice
  • *
  • Posts: 14
  • Karma: +0/-0
    • View Profile
UML 2 Deployment Model
« on: July 01, 2008, 05:20:38 pm »
Am I right in thinking that a deployment diagram should show artifacts (manifesting components) deployed on nodes?
As opposed to the traditional way of showing components directly deployed on nodes?
Thanks.

«Midnight»

  • EA Guru
  • *****
  • Posts: 5651
  • Karma: +0/-0
  • That nice Mister Grey
    • View Profile
Re: UML 2 Deployment Model
« Reply #1 on: July 01, 2008, 11:58:24 pm »
Perhaps. Remember that deployment diagrams are usually static models. Also remember that they often (usually?) don't show everything that is on a node, just what would be interesting to the intended reader in a given context.

You might think of instances of components, with run time information displayed. This is possible with EA - I think some of the examples given throughout the Sparx site and documentation do this. Or you might just use the classifier if you just want to specify what's on a node without going into detail. In some cases you might simply use text elements with the names of components, telling the reader what's there without adding extra 'boxes' to the diagram. This last approach often works well alongside stereotyped shapes (like a cylinder for a database server). For a high-level infrastructure picture you might even use custom graphics - clip art style, using alternate images - to show components, perhaps with no additional detail at all. [Beyond something the type of node, like "firewall" or a geographical location, like "headquarters" or something.]

HTH, David
No, you can't have it!

NT

  • EA Novice
  • *
  • Posts: 14
  • Karma: +0/-0
    • View Profile
Re: UML 2 Deployment Model
« Reply #2 on: July 02, 2008, 04:43:43 pm »

Sorry, I should have phrased my question better - interesting answer nonetheless.

While glancing through the UML 2.1 superstructure spec, I got the distinct impression that showing a component being <<deployed>> on a node is no longer fashionable(!)

It seemed to suggest than ONLY artifacts can be deployed and NOT components - but that artifacts could <<manifest>> components.

I was wondering if anyone had a more knowledgable reading of the spec?

Kishore Kumar

  • EA Novice
  • *
  • Posts: 4
  • Karma: +0/-0
    • View Profile
Re: UML 2 Deployment Model
« Reply #3 on: July 02, 2008, 07:54:25 pm »
You got it absolutely right. Artifacts manifest components. Artifacts are deployed on nodes. That is what UML 2.x specifies.

In the past, I have created some very expressive diagrams with components directly deployed inside nodes; now I have to create and use artifacts instead. No loss of expressive power though; only the addition on an extra step.

EA does not enforce this. Don't know why not - that would merit a seperate discussion thread!

«Midnight»

  • EA Guru
  • *****
  • Posts: 5651
  • Karma: +0/-0
  • That nice Mister Grey
    • View Profile
Re: UML 2 Deployment Model
« Reply #4 on: July 02, 2008, 10:22:52 pm »
Though - as you point out elsewhere - UML does not enforce this either. IMHO you need to take that 'omission' up with OMG rather than tool makers.
No, you can't have it!

Kishore Kumar

  • EA Novice
  • *
  • Posts: 4
  • Karma: +0/-0
    • View Profile
Re: UML 2 Deployment Model
« Reply #5 on: July 03, 2008, 05:34:13 pm »
In this specific case, the UML spec is very categoric. The abstract syntax of Deployments is very specific in stating that only artifacts and instances of artifacts can be deployed in a node. Hence my expectation that EA should enforce this.

In some other cases, UML is not so specific.

For example, it does not specifically say that Devices cannot be deployed inside Execution Environments. The semantics of ExecutionEnvironment says that "ExecutionEnvironments can be nested", but stops short of constraining that "Only ExecutionEnvironments can be nested inside ExecutionEnvironments"! I agree this is something OMG has to fix. If tool developers enforce this, they will be exceeding their brief.

KP

  • EA Administrator
  • EA Expert
  • *****
  • Posts: 2919
  • Karma: +55/-3
    • View Profile
Re: UML 2 Deployment Model
« Reply #6 on: July 04, 2008, 09:13:24 am »
Quote
In this specific case, the UML spec is very categoric. The abstract syntax of Deployments is very specific in stating that only artifacts and instances of artifacts can be deployed in a node. Hence my expectation that EA should enforce this.
UML 1.5 deployment diagrams showed Components deployed on Nodes, and some people will still want to do that. So my expectation is that EA should encourage rather than enforce UML 2 compliance in this case.
The Sparx Team
[email protected]

«Midnight»

  • EA Guru
  • *****
  • Posts: 5651
  • Karma: +0/-0
  • That nice Mister Grey
    • View Profile
Re: UML 2 Deployment Model
« Reply #7 on: July 04, 2008, 10:15:48 pm »
Which seems to be the approach OMG took. Rather than break legacy models they allowed them (and the older technique) to be grandfathered into UML 2.x.

We could argue forever about the relative merits. OMG has done us a favor by making the arguments moot, allowing us to use all that time for other pursuits.

Beyond that point we're out of the loop, at least for now. I humbly suggest:   :-X
No, you can't have it!

Luis J. Lobo

  • EA User
  • **
  • Posts: 252
  • Karma: +0/-0
  • IT Consultant
    • View Profile
Re: UML 2 Deployment Model
« Reply #8 on: July 14, 2008, 11:09:53 pm »
Quote

EA does not enforce this. Don't know why not - that would merit a seperate discussion thread!

Tools | Options --> Diagram --> Strict UML syntax