Previous UML Classes Table of Contents UML Packages Next


10.3.5 DeploymentSpecification

ComponentDeployments


   A deployment specification specifies a set of properties that determine execution parameters of a component artifact that is deployed on a node. A deployment specification can be aimed at a specific type of container. An artifact that reifies or implements deployment specification properties is a deployment descriptor.

*Generalizations

   

    Artifact (from Artifacts , Nodes ) on page 204

*Description

   In the metamodel, a DeploymentSpecification is a subtype of Artifact. It defines a set of deployment properties that are specific to a certain Container type. An instance of a DeploymentSpecification with specific values for these properties may be contained in a complex Artifact.

*Attributes

   ComponentDeployments Package

Issue 9191 - add multiplicities

*Associations

   ComponentDeployments Package

   • deployment : Deployment [0..1] The deployment with which the DeploymentSpecification is associated.

*Constraints

   [1] The DeploymentTarget of a DeploymentSpecification is a kind of ExecutionEnvironment .

Issue 8139 - add OCL for both constraints

   self.deployment->forAll (d | d.location..oclIsKindOf(ExecutionEnvironment ))

   [2] The deployedElements of a DeploymentTarget that are involved in a Deployment that has an associated DeploymentSpecification is a kind of Component (i.e., the configured components).

   self.deployment->forAll (d | d.location.deployedElements->forAll (de | de.oclIsKindOf(Component)))

*Semantics

   A Deployment specification is a general mechanism to parameterize a Deployment relationship, as is common in various hardware and software technologies. The deployment specification element is expected to be extended in specific component profiles. Non-normative examples of the standard stereotypes that a profile might add to deployment specification are, for example, «concurrencyMode» with tagged values {thread, process, none}, or «transactionMode» with tagged values {transaction, nestedTransaction, none}.

*Notation

Issue 7362 - Clarifying example in Figure 10.11.

    A DeploymentSpecification is graphically displayed as a classifier rectangle (Figure 10.11) attached to a component artifact deployed on a container using a regular dependency arrow.

   «deployment spec»

   «deployment spec»

   Name

   Name

   execution: thread

   execution: execKind

   transaction : true

   transaction : Boolean

   Figure 10.11 - DeploymentSpecification for an artifact (specification and instance levels)

Figure 10.12 - DeploymentSpecification s related to the artifacts that they parameterize

   «artifact»

   Order.jar



   «deploy»


   «deployment spec»

   Orderdesc.xml


   Figure 10.13 - A DeploymentSpecification for an artifact

*Changes from previous UML

   The following changes from UML 1.x have been made — DeploymentSpecification does not exist in UML 1.x.