| Previous | UML Classes | Table of Contents | UML Packages | Next | 
   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. 
   • 
   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. 
   ComponentDeployments	    Package 
Issue 9191 - add multiplicities 
• deploymentLocation : String [0..1] The location where an Artifact is deployed onto a Node. This is typically a 'directory' or 'memory address.'
• executionLocation : String [0..1] The location where a component Artifact executes. This may be a local or remote location.
   ComponentDeployments	    Package 
   • deployment : Deployment [0..1]	The deployment with which the DeploymentSpecification	    is associated. 
   [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))) 
   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}. 
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) 

   «artifact» 
   Order.jar 


   «deploy» 

   «deployment spec» 
   Orderdesc.xml 

   Figure 10.13 - A DeploymentSpecification	    for an artifact 
   The following changes from UML 1.x have been made — DeploymentSpecification	    does not exist in UML 1.x.