Upload
graciella-de-guzman
View
233
Download
0
Embed Size (px)
Citation preview
8/10/2019 Deploy Guide
1/44
Overview:
Deployment diagrams are used to visualize the topology of the physical components of a system where thesoftware components are deployed.
So deployment diagrams are used to describe the static deployment view of a system. Deployment diagramsconsist of nodes and their relationships.
Purpose:
The name Deploymentitself describes the purpose of the diagram. Deployment diagrams are used fordescribing the hardware components where software components are deployed. Component diagrams and
deployment diagrams are closely related.
Component diagrams are used to describe the components and deployment diagrams shows how they aredeployed in hardware.
UML is mainly designed to focus on software artifacts of a system. ut these two diagrams are special
diagrams used to focus on software components and hardware components.
So most of the UML diagrams are used to handle logical components but deployment diagrams are made to
focus on hardware topology of a system. Deployment diagrams are used by the system engineers.
The purpose of deployment diagrams can be described as!
"isualize hardware topology of a system.
Describe the hardware components used to deploy software components.
Describe runtime processing nodes.
How to draw Deployment Diagram?
Deployment diagram represents the deployment view of a system. #t is related to the component diagram.ecause the components are deployed using the deployment diagrams. $ deployment diagram consists of
nodes. %odes are nothing but physical hardwares used to deploy the application.
Deployment diagrams are useful for system engineers. $n efficient deployment diagram is very important
because it controls the following parameters
&erformance
Scalability
Maintainability
&ortability
So before drawing a deployment diagram the following artifacts should be identified!
%odes
8/10/2019 Deploy Guide
2/44
'elationships among nodes
The following deployment diagram is a sample to give an idea of the deployment view of ordermanagementsystem. (ere we have shown nodes as!
Monitor
Modem
Caching server
Server
The application is assumed to be a web based application which is deployed in a clustered environment usingserver )* server + and server ,. The user is connecting to the application using internet. The control is
flowing from the caching server to the clustered environment.
So the following deployment diagram has been drawn considering all the points mentioned above!
Where to use Deployment Diagrams?
Deployment diagrams are mainly used by system engineers. These diagrams are used to describe the
physical components -hardwares* their distribution and association.
http://r.pureleads.com/find?&p=11915&q=www.indeed.comorder%20managementhttp://r.pureleads.com/find?&p=11915&q=www.indeed.comorder%20managementhttp://r.pureleads.com/find?&p=11915&q=www.indeed.comorder%20managementhttp://r.pureleads.com/find?&p=11915&q=www.indeed.comorder%20management8/10/2019 Deploy Guide
3/44
8/10/2019 Deploy Guide
4/44
Describe runtime processing nodes.
How to draw Deployment Diagram?
Deployment diagram represents the deployment view of a system. #t is related to the component diagram.ecause the components are deployed using the deployment diagrams. $ deployment diagram consists of
nodes. %odes are nothing but physical hardwares used to deploy the application.
Deployment diagrams are useful for system engineers. $n efficient deployment diagram is very important
because it controls the following parameters
&erformance
Scalability
Maintainability
&ortability
So before drawing a deployment diagram the following artifacts should be identified!
%odes
'elationships among nodes
The following deployment diagram is a sample to give an idea of the deployment view of order managementsystem. (ere we have shown nodes as!
Monitor
Modem
Caching server
Server
The application is assumed to be a web based application which is deployed in a clustered environment usingserver )* server + and server ,. The user is connecting to the application using internet. The control is
flowing from the caching server to the clustered environment.
So the following deployment diagram has been drawn considering all the points mentioned above!
8/10/2019 Deploy Guide
5/44
Where to use Deployment Diagrams?
Deployment diagrams are mainly used by system engineers. These diagrams are used to describe the
physical components -hardwares* their distribution and association.
To clarify it in details we can visualize deployment diagrams as the hardware components/nodes on whichsoftware components reside.
Software applications are developed to model comple0 business processes. 1nly efficient softwareapplications are not sufficient to meet business re2uirements. usiness re2uirements can be described as tosupport increasing number of users* 2uic3 response time etc.
To meet these types of re2uirements hardware components should be designed efficiently and in a costeffective way.
%ow a day4s software applications are very comple0 in nature. Software applications can be stand alone*web based* distributed* mainframe based and many more. So it is very important to design the hardwarecomponents efficiently.
So the usage of deployment diagrams can be described as follows!
To model the hardware topology of a system.
To model embedded system.
To model hardware details for a client/server system.
8/10/2019 Deploy Guide
6/44
To model hardware details of a distributed application.
5orward and reverse engineering.
UML DeploymentDiagrams
Deployment diagramshows execution architecture of systems that represent the assignment
(deployment) of softwareartifactsto deployment targets (usuallynodes).
Nodesrepresent either hardware devices or software execution environments. They could be
connected through communication paths to create network systems of arbitrary
complexity.Artifactsrepresent concrete elements in the physical world that are the result of a
development process and are deployed on nodes.
Note, that componentswere directly deployed to nodes in U! ".x deployment diagrams. #n U!
$.xartifactsare deployed to nodes, and artifacts couldmanifest(implement) components. %o
components are now deployed to nodes indirectly through artifacts.
The following nodes and edges are typically drawn in a U! deployment
diagram&deployment, artifact, associationbetween artifacts, dependencybetween
artifacts,component, manifestation, node, device,execution
environment,compositionof nodes,communication path, deployment specification,deployment specification dependency, deployment specification association.
'ou can find some deployment diagrams exampleshere&
Web application deployment
Web application manifestation
Multilayered load balancing
Clustered deployment of J2EE eb application
Apple i!unes deployment
Android application deployment
Artifact
n artifactis a classifierthat represents some physical entity, a piece of information that is
used or is produced by a software development process, or by deployment and operation of a system.
http://www.uml-diagrams.org/deployment-diagrams.html#artifacthttp://www.uml-diagrams.org/deployment-diagrams.html#artifacthttp://www.uml-diagrams.org/deployment-diagrams.html#artifacthttp://www.uml-diagrams.org/deployment-diagrams.html#nodehttp://www.uml-diagrams.org/deployment-diagrams.html#nodehttp://www.uml-diagrams.org/deployment-diagrams.html#nodehttp://www.uml-diagrams.org/deployment-diagrams.html#artifacthttp://www.uml-diagrams.org/deployment-diagrams.html#artifacthttp://www.uml-diagrams.org/component-diagrams.html#componenthttp://www.uml-diagrams.org/component-diagrams.html#componenthttp://www.uml-diagrams.org/deployment-diagrams.html#artifacthttp://www.uml-diagrams.org/deployment-diagrams.html#artifacthttp://www.uml-diagrams.org/deployment-diagrams.html#manifestationhttp://www.uml-diagrams.org/deployment-diagrams.html#manifestationhttp://www.uml-diagrams.org/deployment-diagrams.html#deploymenthttp://www.uml-diagrams.org/deployment-diagrams.html#deploymenthttp://www.uml-diagrams.org/deployment-diagrams.html#artifacthttp://www.uml-diagrams.org/component-diagrams.html#componenthttp://www.uml-diagrams.org/component-diagrams.html#componenthttp://www.uml-diagrams.org/deployment-diagrams.html#manifestationhttp://www.uml-diagrams.org/deployment-diagrams.html#nodehttp://www.uml-diagrams.org/deployment-diagrams.html#devicehttp://www.uml-diagrams.org/deployment-diagrams.html#devicehttp://www.uml-diagrams.org/deployment-diagrams.html#execution-environmenthttp://www.uml-diagrams.org/deployment-diagrams.html#execution-environmenthttp://www.uml-diagrams.org/deployment-diagrams.html#execution-environmenthttp://www.uml-diagrams.org/deployment-diagrams.html#communication-pathhttp://www.uml-diagrams.org/deployment-diagrams.html#communication-pathhttp://www.uml-diagrams.org/deployment-diagrams.html#deployment-spechttp://www.uml-diagrams.org/deployment-diagrams-examples.htmlhttp://www.uml-diagrams.org/web-application-uml-deployment-diagram-example.html?context=depl-exampleshttp://www.uml-diagrams.org/web-application-uml-manifest-diagram-example.html?context=depl-exampleshttp://www.uml-diagrams.org/web-application-load-balancing-uml-deployment-diagram-example.html?context=depl-exampleshttp://www.uml-diagrams.org/web-application-clusters-uml-deployment-diagram-example.html?context=depl-exampleshttp://www.uml-diagrams.org/apple-itunes-uml-deployment-diagram-example.htmlhttp://www.uml-diagrams.org/android-application-uml-deployment-diagram-example.htmlhttp://www.uml-diagrams.org/classifier.htmlhttp://www.uml-diagrams.org/classifier.htmlhttp://www.uml-diagrams.org/deployment-diagrams.html#artifacthttp://www.uml-diagrams.org/deployment-diagrams.html#nodehttp://www.uml-diagrams.org/deployment-diagrams.html#nodehttp://www.uml-diagrams.org/deployment-diagrams.html#artifacthttp://www.uml-diagrams.org/component-diagrams.html#componenthttp://www.uml-diagrams.org/deployment-diagrams.html#artifacthttp://www.uml-diagrams.org/deployment-diagrams.html#manifestationhttp://www.uml-diagrams.org/deployment-diagrams.html#deploymenthttp://www.uml-diagrams.org/deployment-diagrams.html#artifacthttp://www.uml-diagrams.org/component-diagrams.html#componenthttp://www.uml-diagrams.org/deployment-diagrams.html#manifestationhttp://www.uml-diagrams.org/deployment-diagrams.html#nodehttp://www.uml-diagrams.org/deployment-diagrams.html#devicehttp://www.uml-diagrams.org/deployment-diagrams.html#execution-environmenthttp://www.uml-diagrams.org/deployment-diagrams.html#execution-environmenthttp://www.uml-diagrams.org/deployment-diagrams.html#communication-pathhttp://www.uml-diagrams.org/deployment-diagrams.html#deployment-spechttp://www.uml-diagrams.org/deployment-diagrams-examples.htmlhttp://www.uml-diagrams.org/web-application-uml-deployment-diagram-example.html?context=depl-exampleshttp://www.uml-diagrams.org/web-application-uml-manifest-diagram-example.html?context=depl-exampleshttp://www.uml-diagrams.org/web-application-load-balancing-uml-deployment-diagram-example.html?context=depl-exampleshttp://www.uml-diagrams.org/web-application-clusters-uml-deployment-diagram-example.html?context=depl-exampleshttp://www.uml-diagrams.org/apple-itunes-uml-deployment-diagram-example.htmlhttp://www.uml-diagrams.org/android-application-uml-deployment-diagram-example.htmlhttp://www.uml-diagrams.org/classifier.html8/10/2019 Deploy Guide
7/44
rtifact is a source of a deploymentto anode. particular instance (or copy) of an artifact is
deployed to a node instance.
UML 2.4 definition of Artifact
Note, that in U! $.* artifactis also a subclass of deployed artifact. #t is a weird, upside down
relationship, which is most likely a mistake. +eployed artifact is described by U! $.* asan artifactor artifact instance that has been deployed to a deployment target. ommon sense
assumes that deployed artifact should be a subclass of artifact and it should be allowed for some
artifacts not to be deployed.
rtifacts may have propertiesthat represent featuresof the artifact, and operationsthat can be
performed on its instances. rtifacts have fileNameattribute - a concrete name that is used to refer
to the artifact in a physical context - e.g. file nameor "#$. rtifact could have nested artifacts.
%ome real life examples of artifacts are&
text document
source file
script
binary executable file
archive file
table in a database
http://www.uml-diagrams.org/deployment-diagrams.html#deploymenthttp://www.uml-diagrams.org/deployment-diagrams.html#nodehttp://www.uml-diagrams.org/deployment-diagrams.html#nodehttp://www.uml-diagrams.org/deployment-diagrams.html#nodehttp://www.uml-diagrams.org/deployment-diagrams.html#deployment-targethttp://www.uml-diagrams.org/uml-core.html#featurehttp://www.uml-diagrams.org/uml-core.html#featurehttp://www.uml-diagrams.org/operation.htmlhttp://www.uml-diagrams.org/operation.htmlhttp://www.uml-diagrams.org/deployment-diagrams.html#deploymenthttp://www.uml-diagrams.org/deployment-diagrams.html#nodehttp://www.uml-diagrams.org/deployment-diagrams.html#deployment-targethttp://www.uml-diagrams.org/uml-core.html#featurehttp://www.uml-diagrams.org/operation.html8/10/2019 Deploy Guide
8/44
The "M%&tandard 'rofiledefines several standard stereotypesthat apply to artifacts&
(file) physical file in the context of the system developed.
%tandard stereotypes - subclasses of (file)&
(document) generic file that is not a source/ file or executable/.
(source) source file that can be compiled into an executable file.
(library) static or dynamic library file.
(executable
)
program file that can be executed on a computer system.
(script) script file that can be interpreted by a computer system.
%tandard U! ".x stereotype that is now obsolete&
(table) Table in database.
%tandard stereotypes can be further speciali0ed into implementation and platform specific
stereotypes in profiles. 1or example, 2ava profile might define (*ar)as a subclass of executable/
for executable 2ava archives. %pecific profiles are expected to provide some stereotype for artifact
representing sets of files.
rtifacts are deployed to a deployment target. $nstance specificationwas extended in U! to
allow instances of artifactsto be deployed artifactsin adeploymentrelationship.
n artifact is presented using an ordinary class rectangle with the keyword (artifact). 3xamples
in "M%specification also show document iconin upper right corner.
Artifact web-app.war
http://www.uml-diagrams.org/deployment-diagrams.html#deployment-targethttp://www.uml-diagrams.org/deployment-diagrams.html#deploymenthttp://www.uml-diagrams.org/deployment-diagrams.html#deploymenthttp://www.uml-diagrams.org/deployment-diagrams.html#deployment-targethttp://www.uml-diagrams.org/deployment-diagrams.html#deployment8/10/2019 Deploy Guide
9/44
C# source file artifact UserServices.cs
Library commons.dll
lternatively, artifact may be depicted by an icon.
Artifact web-tools-lib.ar
4ptionally, the underlining of the name of an artifact instance may be omitted, as the context is
assumed to be known to users.
Associations between Artifacts
rtifacts can be involved inassociationsto other artifacts, e.g.compositionassociations. 1or
instance, a deployment descriptor artifact for a component may be contained within the artifact
thatmanifeststhat component. #n that way, the component and its descriptor are deployed to a
node instance as one artifact instance.
Application boo!-club.ear artifact contains "$ user-service.ar artifact and deployment descriptor.
%ependency between Artifacts
http://www.uml-diagrams.org/association.htmlhttp://www.uml-diagrams.org/association.htmlhttp://www.uml-diagrams.org/association.html#compositionhttp://www.uml-diagrams.org/association.html#compositionhttp://www.uml-diagrams.org/deployment-diagrams.html#manifestationhttp://www.uml-diagrams.org/deployment-diagrams.html#manifestationhttp://www.uml-diagrams.org/association.htmlhttp://www.uml-diagrams.org/association.html#compositionhttp://www.uml-diagrams.org/deployment-diagrams.html#manifestation8/10/2019 Deploy Guide
10/44
Artifactscan be involved independencyrelationship with other artifacts.
+ependency between artifacts is notated in the same way as generaldependency,i.e. as a general
dashed line with an open arrow head directed from client artifact to supplier artifact.
&'e boo!-club.war artifact depends on web-tools-lib.ar artifact.
Manifestation
Manifestationis anabstractionrelationship which represents concrete physical rendering
(implementation) of one or more model elements by an artifactor utili0ation of the model elements
in the construction or generation of the artifact. n artifact manifestsone or more model elements.
Note, that since U! $.5 artifacts can manifest any pac+ageable elements, not
6ust componentsas it was in previous versions of U!.
The artifact onsthe manifestations, each representing the utili0ation of a packageable element.
%pecific profilesare expected to stereotype the manifestation relationship to indicate particular
forms of manifestation. 1or example, tool generated/ and custom code/ might be two
manifestations for different classes embodied in an artifact.
manifestation is notated in the same way asabstraction,i.e. as a dashed line with an open arrow
head directed from artifactto pac+ageable element, (e.g. to componentor pac+age) and is
labeled with the keyword manifest/.
http://www.uml-diagrams.org/deployment-diagrams.html#artifacthttp://www.uml-diagrams.org/dependency.htmlhttp://www.uml-diagrams.org/dependency.htmlhttp://www.uml-diagrams.org/dependency.htmlhttp://www.uml-diagrams.org/dependency.htmlhttp://www.uml-diagrams.org/dependency.htmlhttp://www.uml-diagrams.org/dependency.htmlhttp://www.uml-diagrams.org/abstraction.htmlhttp://www.uml-diagrams.org/abstraction.htmlhttp://www.uml-diagrams.org/abstraction.htmlhttp://www.uml-diagrams.org/deployment-diagrams.html#artifacthttp://www.uml-diagrams.org/package-diagrams.html#packageable-elementhttp://www.uml-diagrams.org/component-diagrams.html#componenthttp://www.uml-diagrams.org/component-diagrams.html#componenthttp://www.uml-diagrams.org/abstraction.htmlhttp://www.uml-diagrams.org/abstraction.htmlhttp://www.uml-diagrams.org/abstraction.htmlhttp://www.uml-diagrams.org/deployment-diagrams.html#artifacthttp://www.uml-diagrams.org/dependency.htmlhttp://www.uml-diagrams.org/dependency.htmlhttp://www.uml-diagrams.org/abstraction.htmlhttp://www.uml-diagrams.org/deployment-diagrams.html#artifacthttp://www.uml-diagrams.org/package-diagrams.html#packageable-elementhttp://www.uml-diagrams.org/component-diagrams.html#componenthttp://www.uml-diagrams.org/abstraction.html8/10/2019 Deploy Guide
11/44
"$ component UserService and s!eleton of web services
are manifested (implemented) by "$ module user-service.ar artifact
#n "M% ,-x, the concept of manifestation was referred to as implementationand annotated as
implement/. %ince this was one of the many uses of the word implementation this has been
replaced in U! $.x by manifest/.
%eployment &ar*et
rtifacts are deployed to deployment targets. Deployment targetis the location for a
deployedartifact.
UML 2.4 definition of deployment tar*et
$nstance specificationwas extended in "M% 2-.to allow instance of a nodeto be deployment
targetin a deployment relationship.
'ropertywas also extended in "M% 2-.with the capability of being a deployment targetin a
deployment relationship. This enables modeling the deployment to hierarchical nodes that have
properties functioning as internal parts.
+eployment target owns the set of deploymentsthat target it.
http://www.uml-diagrams.org/deployment-diagrams.html#artifacthttp://www.uml-diagrams.org/deployment-diagrams.html#artifacthttp://www.uml-diagrams.org/deployment-diagrams.html#artifacthttp://www.uml-diagrams.org/deployment-diagrams.html#nodehttp://www.uml-diagrams.org/composite-structure-diagrams.html#parthttp://www.uml-diagrams.org/composite-structure-diagrams.html#parthttp://www.uml-diagrams.org/deployment-diagrams.html#deploymenthttp://www.uml-diagrams.org/deployment-diagrams.html#deploymenthttp://www.uml-diagrams.org/deployment-diagrams.html#artifacthttp://www.uml-diagrams.org/deployment-diagrams.html#nodehttp://www.uml-diagrams.org/composite-structure-diagrams.html#parthttp://www.uml-diagrams.org/deployment-diagrams.html#deployment8/10/2019 Deploy Guide
12/44
+eployment target has no specific notation by itself, see notations for subclasses.
+ode
Nodeis a deployment targetwhich represents computational resource upon
whichartifactsmay be deployed for execution.
Node is shown as a perspective, 7-dimensional view of a cube.
Application Server +ode
Node is associated with deploymentsof artifacts and indirectly with pac+ageable elementsthat
are involved in themanifestationsby the artifact that is deployed on the node.
Nodes can be interconnected withcommunication paths.ommunication paths can be defined
between nodes such as application serverand database serverto define the possible
communication paths between the nodes. %pecific network topologies can then be defined
through lin+sbetween node instances.
Nodeis speciali0ed by&
device
execution environment
/ierarchical Node
8ierarchical nodes can be modeled using compositionor by defining an internal structure.
#nternal structure of the node is defined in terms of partsandconnectors.9arts of the node could
be only nodes.
http://www.uml-diagrams.org/deployment-diagrams.html#deployment-targethttp://www.uml-diagrams.org/deployment-diagrams.html#artifacthttp://www.uml-diagrams.org/deployment-diagrams.html#artifacthttp://www.uml-diagrams.org/deployment-diagrams.html#artifacthttp://www.uml-diagrams.org/deployment-diagrams.html#deploymenthttp://www.uml-diagrams.org/deployment-diagrams.html#deploymenthttp://www.uml-diagrams.org/deployment-diagrams.html#manifestationhttp://www.uml-diagrams.org/deployment-diagrams.html#manifestationhttp://www.uml-diagrams.org/deployment-diagrams.html#manifestationhttp://www.uml-diagrams.org/deployment-diagrams.html#communication-pathhttp://www.uml-diagrams.org/deployment-diagrams.html#communication-pathhttp://www.uml-diagrams.org/deployment-diagrams.html#communication-pathhttp://www.uml-diagrams.org/deployment-diagrams.html#devicehttp://www.uml-diagrams.org/deployment-diagrams.html#execution-environmenthttp://www.uml-diagrams.org/association.html#compositionhttp://www.uml-diagrams.org/association.html#compositionhttp://www.uml-diagrams.org/composite-structure-diagrams.html#internal-structurehttp://www.uml-diagrams.org/composite-structure-diagrams.html#parthttp://www.uml-diagrams.org/composite-structure-diagrams.html#parthttp://www.uml-diagrams.org/composite-structure-diagrams.html#connectorhttp://www.uml-diagrams.org/composite-structure-diagrams.html#connectorhttp://www.uml-diagrams.org/deployment-diagrams.html#deployment-targethttp://www.uml-diagrams.org/deployment-diagrams.html#artifacthttp://www.uml-diagrams.org/deployment-diagrams.html#deploymenthttp://www.uml-diagrams.org/deployment-diagrams.html#manifestationhttp://www.uml-diagrams.org/deployment-diagrams.html#communication-pathhttp://www.uml-diagrams.org/deployment-diagrams.html#devicehttp://www.uml-diagrams.org/deployment-diagrams.html#execution-environmenthttp://www.uml-diagrams.org/association.html#compositionhttp://www.uml-diagrams.org/composite-structure-diagrams.html#internal-structurehttp://www.uml-diagrams.org/composite-structure-diagrams.html#parthttp://www.uml-diagrams.org/composite-structure-diagrams.html#connector8/10/2019 Deploy Guide
13/44
Application server bo, runs several web servers and 2"" servers
Execution environmentis usuallypartof a generalnodeor(device)which represents the
physical hardware environment on which this execution environment resides. 3xecution
environments can be nested(e.g., a database execution environment may be nested in an operating
system execution environment).
Several e,ecution environments nested into server device
3xecution environment instances are assigned to node instances by using composite
associationsbetween nodes and execution environments, where the execution environment plays
the role of the part.
%evice
deviceis anodewhich represents a physical computational resource with processing capability
upon which artifacts may be deployed for execution.
http://www.uml-diagrams.org/deployment-diagrams.html#execution-environmenthttp://www.uml-diagrams.org/deployment-diagrams.html#execution-environmenthttp://www.uml-diagrams.org/composite-structure-diagrams.html#parthttp://www.uml-diagrams.org/composite-structure-diagrams.html#parthttp://www.uml-diagrams.org/composite-structure-diagrams.html#parthttp://www.uml-diagrams.org/deployment-diagrams.html#nodehttp://www.uml-diagrams.org/deployment-diagrams.html#nodehttp://www.uml-diagrams.org/deployment-diagrams.html#nodehttp://www.uml-diagrams.org/deployment-diagrams.html#devicehttp://www.uml-diagrams.org/deployment-diagrams.html#devicehttp://www.uml-diagrams.org/deployment-diagrams.html#devicehttp://www.uml-diagrams.org/association.html#compositionhttp://www.uml-diagrams.org/association.html#compositionhttp://www.uml-diagrams.org/association.html#compositionhttp://www.uml-diagrams.org/composite-structure-diagrams.html#parthttp://www.uml-diagrams.org/deployment-diagrams.html#nodehttp://www.uml-diagrams.org/deployment-diagrams.html#nodehttp://www.uml-diagrams.org/deployment-diagrams.html#nodehttp://www.uml-diagrams.org/deployment-diagrams.html#execution-environmenthttp://www.uml-diagrams.org/composite-structure-diagrams.html#parthttp://www.uml-diagrams.org/deployment-diagrams.html#nodehttp://www.uml-diagrams.org/deployment-diagrams.html#devicehttp://www.uml-diagrams.org/association.html#compositionhttp://www.uml-diagrams.org/association.html#compositionhttp://www.uml-diagrams.org/composite-structure-diagrams.html#parthttp://www.uml-diagrams.org/deployment-diagrams.html#node8/10/2019 Deploy Guide
14/44
deviceis rendered as a node (perspective, 7-dimensional view of a cube) annotated with keyword
device/.
Application Server device
U! provides no standard stereotypes for devices. 3xamples of non-normative stereotypes for
devices are&
application server/
client workstation/
mobile device/
embedded device/
+evice may be depicted using custom icon. 'rofiles,stereotypes, and tagged valuescould be
used to provide custom icons and properties for the devices.
Application Server device depicted usin* custom icon
Computer stereotype wit' ta*s applied to Deviceclass.
http://www.uml-diagrams.org/profile-diagrams.htmlhttp://www.uml-diagrams.org/profile-diagrams.html#stereotypehttp://www.uml-diagrams.org/profile-diagrams.html#stereotypehttp://www.uml-diagrams.org/profile-diagrams.html#tagged-valuehttp://www.uml-diagrams.org/profile-diagrams.html#tagged-valuehttp://www.uml-diagrams.org/deployment-diagrams.html#devicehttp://www.uml-diagrams.org/deployment-diagrams.html#devicehttp://www.uml-diagrams.org/profile-diagrams.htmlhttp://www.uml-diagrams.org/profile-diagrams.html#stereotypehttp://www.uml-diagrams.org/profile-diagrams.html#tagged-valuehttp://www.uml-diagrams.org/deployment-diagrams.html#device8/10/2019 Deploy Guide
15/44
%atabase Server device depicted usin* custom icon
Mobile smartp'one device depicted usin* custom icon
+evices may be complex (i.e., they may consist of other devices) where a physical machine is
decomposed into its elements, either through namespace ownership or through attributes that are
typed by devices.
",ecution "nvironmentn execution environmentis a (software) nodethat offers an execution environment for specific
types ofcomponentsthat are deployed on it in the form of executable artifacts. omponents of
the appropriate type are deployed to specific execution environments.
Execution environmentimplements a standard set of servicesthat components re:uire at
execution time (at the modeling level these services are usually implicit). 1or eachdeploymentof
component, aspects of these services may be determined by properties in adeployment
specificationfor a particular kind of execution environment.
3xecution environment is notated the same way as a node(perspective, 7-dimensional view of a
cube), annotated with the standard U! stereotype executionEnvironment/.
http://www.uml-diagrams.org/deployment-diagrams.html#nodehttp://www.uml-diagrams.org/component-diagrams.html#componenthttp://www.uml-diagrams.org/component-diagrams.html#componenthttp://www.uml-diagrams.org/deployment-diagrams.html#artifacthttp://www.uml-diagrams.org/deployment-diagrams.html#deploymenthttp://www.uml-diagrams.org/deployment-diagrams.html#deploymenthttp://www.uml-diagrams.org/deployment-diagrams.html#deploymenthttp://www.uml-diagrams.org/deployment-diagrams.html#deployment-spechttp://www.uml-diagrams.org/deployment-diagrams.html#deployment-spechttp://www.uml-diagrams.org/deployment-diagrams.html#deployment-spechttp://www.uml-diagrams.org/deployment-diagrams.html#nodehttp://www.uml-diagrams.org/deployment-diagrams.html#nodehttp://www.uml-diagrams.org/deployment-diagrams.html#nodehttp://www.uml-diagrams.org/component-diagrams.html#componenthttp://www.uml-diagrams.org/deployment-diagrams.html#artifacthttp://www.uml-diagrams.org/deployment-diagrams.html#deploymenthttp://www.uml-diagrams.org/deployment-diagrams.html#deployment-spechttp://www.uml-diagrams.org/deployment-diagrams.html#deployment-spechttp://www.uml-diagrams.org/deployment-diagrams.html#node8/10/2019 Deploy Guide
16/44
",ecution environment - 2"" Container
This executionEnvironment/ is pesky ses:uipedalian to use. U! provides no other standard
stereotypes for execution environments. 3xamples of reasonable non-normative stereotypes are&
4%/
workflow engine/
database system/
2$33 container/
web server/
web browser/
Linu, peratin* System ",ecution "nvironment
racle /* %$MS ",ecution "nvironment
n execution environment can optionally have an explicitinterfaceof system level servicesthat
can be used by the deployed elements, in those cases where the modeler wants to make the execution
environment software execution environment services explicit.
Communication 0at' communication pathis associationbetween two deployment targets,through which they
are able to exchange signals and messages.
http://www.uml-diagrams.org/class-diagrams.html#interfacehttp://www.uml-diagrams.org/class-diagrams.html#interfacehttp://www.uml-diagrams.org/association.htmlhttp://www.uml-diagrams.org/deployment-diagrams.html#deployment-targethttp://www.uml-diagrams.org/deployment-diagrams.html#deployment-targethttp://www.uml-diagrams.org/class-diagrams.html#interfacehttp://www.uml-diagrams.org/association.htmlhttp://www.uml-diagrams.org/deployment-diagrams.html#deployment-target8/10/2019 Deploy Guide
17/44
ommunication path is notated as association, and it has no additional notation compared to
association.
Communication pat' between several application servers and database servers.
Note, that when deployment targets are some physicaldevices, communication path will typically
represent a physical connection between the nodes.
1i*abit "t'ernet as communication pat' between application and database servers.
;hen deployment targets areexecution environments,communication path will typically
represent some protocol.
&C030 protocol as communication pat' between 2"" server and database system.
%eployment
deploymentis adependencyrelationship which describes allocation (deployment) of
an artifactto a deployment target. +eployment could be also defined at instance level - as
allocation of specific artifact instance to the specific instance of deployment target.
component deploymentis deployment of one or more artifacts or artifact instances, optionally
parameteri0ed by a deployment specification.
http://www.uml-diagrams.org/deployment-diagrams.html#devicehttp://www.uml-diagrams.org/deployment-diagrams.html#devicehttp://www.uml-diagrams.org/deployment-diagrams.html#execution-environmenthttp://www.uml-diagrams.org/deployment-diagrams.html#execution-environmenthttp://www.uml-diagrams.org/deployment-diagrams.html#execution-environmenthttp://www.uml-diagrams.org/dependency.htmlhttp://www.uml-diagrams.org/dependency.htmlhttp://www.uml-diagrams.org/deployment-diagrams.html#artifacthttp://www.uml-diagrams.org/deployment-diagrams.html#deployment-targethttp://www.uml-diagrams.org/deployment-diagrams.html#deployment-spechttp://www.uml-diagrams.org/deployment-diagrams.html#devicehttp://www.uml-diagrams.org/deployment-diagrams.html#execution-environmenthttp://www.uml-diagrams.org/dependency.htmlhttp://www.uml-diagrams.org/deployment-diagrams.html#artifacthttp://www.uml-diagrams.org/deployment-diagrams.html#deployment-targethttp://www.uml-diagrams.org/deployment-diagrams.html#deployment-spec8/10/2019 Deploy Guide
18/44
#t is not very clear why U! defines deployment as adependency,and not as anassociationor
6ust a directed relationship.The ma6or contradiction is that dependency in U! does not have
any runtime implications, and is defined in terms of the model elements, not in terms of their
instances. t the same time U! $.* allows and shows examples of instances of artifacts deployed to
instances of nodes.
+eployment could be shown as a dependencythat is drawn from the artifact (supplier) to the
deployment target (client) and is labeled with deploy/. Note, that dependency usually points from
the client to the supplier, i.e. in the direction opposite to what is recommended by U! $.* for
deployment. 4n the other hand, U! specification allows to change direction for a dependency
based on user
8/10/2019 Deploy Guide
19/44
8/10/2019 Deploy Guide
20/44
deployment specification is a general mechanism to parameteri0e a deployment relationship,
as is common in various hardware and software technologies. The deployment
specificationelement 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>.
deployment specificationat specification levelis rendered as a classifier rectangle with
optional deployment properties in a compartment.
&'e eb-ar.,ml deployment specification
n artifact that reifies or implements deployment specification properties at instance levelis
a deployment descriptor. deployment descriptor is rendered as a classifier rectangle with the
name underlined and with deployment properties having specific values in a compartment.
&'e eb-ar.,ml deployment descriptor
n instance of a deployment specification with specific values for deployment properties may be
contained in a complex artifact.
%eployment Specification%ependency
8/10/2019 Deploy Guide
21/44
deployment specificationcould be displayed as a classifier rectangle attached to
a component artifactusing a regular dependencyarrow pointing to deployed artifact.
&'e eb-ar.,ml deployment specification for user-service.eb artifact.
%eployment Specification
Association
Deployment specificationcould be associated with thedeploymentof a component
artifacton anode. #n this case deployment specification could be shown as a classifier rectangle
attached to the deployment.
Note, that "M% 2-0 specificationshows this association as a dashedline (whileassociationis
normally displayed as solid line.)
&'e eb-ar.,ml deployment specification attac'ed to deployment.
Deployment diagram
http://www.uml-diagrams.org/deployment-diagrams.html#deployment-spechttp://www.uml-diagrams.org/deployment-diagrams.html#deployment-spechttp://www.uml-diagrams.org/deployment-diagrams.html#deployment-spechttp://www.uml-diagrams.org/deployment-diagrams.html#deployment-spechttp://www.uml-diagrams.org/deployment-diagrams.html#deploymenthttp://www.uml-diagrams.org/deployment-diagrams.html#deploymenthttp://www.uml-diagrams.org/deployment-diagrams.html#nodehttp://www.uml-diagrams.org/deployment-diagrams.html#nodehttp://www.uml-diagrams.org/association.htmlhttp://www.uml-diagrams.org/association.htmlhttp://www.uml-diagrams.org/association.htmlhttp://www.uml-diagrams.org/deployment-diagrams.html#deployment-spechttp://www.uml-diagrams.org/deployment-diagrams.html#deployment-spechttp://www.uml-diagrams.org/deployment-diagrams.html#deploymenthttp://www.uml-diagrams.org/deployment-diagrams.html#nodehttp://www.uml-diagrams.org/association.html8/10/2019 Deploy Guide
22/44
Notation
Aggregation
(Shared
association)
Artifact
Association
(Without
aggregation)
Component
Composition
(Composite
association)
Constraint
Dependency
Deployment
Definition
The Deployment Diagram also helps to model the physical aspect of an
Object-Oriented softare system! "t models the run-time configuration in
a static #ie and #isuali$es the distribution of components in an
application! "n most cases% it in#ol#es modeling the hardare
configurations together ith the softare components that li#ed on!
http://www.visual-paradigm.com/VPGallery/diagrams/Deployment.html#aggregationhttp://www.visual-paradigm.com/VPGallery/diagrams/Deployment.html#aggregationhttp://www.visual-paradigm.com/VPGallery/diagrams/Deployment.html#aggregationhttp://www.visual-paradigm.com/VPGallery/diagrams/Deployment.html#aggregationhttp://www.visual-paradigm.com/VPGallery/diagrams/Deployment.html#artifacthttp://www.visual-paradigm.com/VPGallery/diagrams/Deployment.html#associationhttp://www.visual-paradigm.com/VPGallery/diagrams/Deployment.html#associationhttp://www.visual-paradigm.com/VPGallery/diagrams/Deployment.html#associationhttp://www.visual-paradigm.com/VPGallery/diagrams/Deployment.html#associationhttp://www.visual-paradigm.com/VPGallery/diagrams/Deployment.html#componenthttp://www.visual-paradigm.com/VPGallery/diagrams/Deployment.html#compositionhttp://www.visual-paradigm.com/VPGallery/diagrams/Deployment.html#compositionhttp://www.visual-paradigm.com/VPGallery/diagrams/Deployment.html#compositionhttp://www.visual-paradigm.com/VPGallery/diagrams/Deployment.html#compositionhttp://www.visual-paradigm.com/VPGallery/diagrams/Deployment.html#constrainthttp://www.visual-paradigm.com/VPGallery/diagrams/Deployment.html#dependencyhttp://www.visual-paradigm.com/VPGallery/diagrams/Deployment.html#deploymenthttp://www.visual-paradigm.com/VPGallery/diagrams/Deployment.html#aggregationhttp://www.visual-paradigm.com/VPGallery/diagrams/Deployment.html#aggregationhttp://www.visual-paradigm.com/VPGallery/diagrams/Deployment.html#aggregationhttp://www.visual-paradigm.com/VPGallery/diagrams/Deployment.html#artifacthttp://www.visual-paradigm.com/VPGallery/diagrams/Deployment.html#associationhttp://www.visual-paradigm.com/VPGallery/diagrams/Deployment.html#associationhttp://www.visual-paradigm.com/VPGallery/diagrams/Deployment.html#associationhttp://www.visual-paradigm.com/VPGallery/diagrams/Deployment.html#componenthttp://www.visual-paradigm.com/VPGallery/diagrams/Deployment.html#compositionhttp://www.visual-paradigm.com/VPGallery/diagrams/Deployment.html#compositionhttp://www.visual-paradigm.com/VPGallery/diagrams/Deployment.html#compositionhttp://www.visual-paradigm.com/VPGallery/diagrams/Deployment.html#constrainthttp://www.visual-paradigm.com/VPGallery/diagrams/Deployment.html#dependencyhttp://www.visual-paradigm.com/VPGallery/diagrams/Deployment.html#deployment8/10/2019 Deploy Guide
23/44
Deployment
Specification
De#ice &ode
'ecution
'n#ironment
&ode
enerali$atio
n
"nstance
Specification
"nterface
*in+
,anifestation
&ode
&ote
ort
.eali$ation
/sage
Aggregation (Shared association)
DefinitionA +ind of association that has one of its end mar+ed sharedas
+ind of aggregation% meaning that it has a shared aggregation!
Properties
&ame The name of aggregation!
0isibility Determines here the aggregationappears ithin different namespacesithin the o#erall model% and itsaccessibility!
Association 'nd1rom
The source of aggregation!
Association 'nd ToThe target of aggregation!
Documentation Description of aggregation!
Abstract "f true% the aggregation does not pro#ide acomplete declaration and can typically notbe instantiated! An abstract aggregation isintended to be used by other
http://www.visual-paradigm.com/VPGallery/diagrams/Deployment.html#deployment_specificationhttp://www.visual-paradigm.com/VPGallery/diagrams/Deployment.html#deployment_specificationhttp://www.visual-paradigm.com/VPGallery/diagrams/Deployment.html#deployment_specificationhttp://www.visual-paradigm.com/VPGallery/diagrams/Deployment.html#device_nodehttp://www.visual-paradigm.com/VPGallery/diagrams/Deployment.html#execution_environment_nodehttp://www.visual-paradigm.com/VPGallery/diagrams/Deployment.html#execution_environment_nodehttp://www.visual-paradigm.com/VPGallery/diagrams/Deployment.html#execution_environment_nodehttp://www.visual-paradigm.com/VPGallery/diagrams/Deployment.html#execution_environment_nodehttp://www.visual-paradigm.com/VPGallery/diagrams/Deployment.html#generalizationhttp://www.visual-paradigm.com/VPGallery/diagrams/Deployment.html#generalizationhttp://www.visual-paradigm.com/VPGallery/diagrams/Deployment.html#generalizationhttp://www.visual-paradigm.com/VPGallery/diagrams/Deployment.html#instance_spechttp://www.visual-paradigm.com/VPGallery/diagrams/Deployment.html#instance_spechttp://www.visual-paradigm.com/VPGallery/diagrams/Deployment.html#instance_spechttp://www.visual-paradigm.com/VPGallery/diagrams/Deployment.html#interfacehttp://www.visual-paradigm.com/VPGallery/diagrams/Deployment.html#linkhttp://www.visual-paradigm.com/VPGallery/diagrams/Deployment.html#manifestationhttp://www.visual-paradigm.com/VPGallery/diagrams/Deployment.html#nodehttp://www.visual-paradigm.com/VPGallery/diagrams/Deployment.html#notehttp://www.visual-paradigm.com/VPGallery/diagrams/Deployment.html#porthttp://www.visual-paradigm.com/VPGallery/diagrams/Deployment.html#realizationhttp://www.visual-paradigm.com/VPGallery/diagrams/Deployment.html#usagehttp://www.visual-paradigm.com/VPGallery/diagrams/Deployment.html#deployment_specificationhttp://www.visual-paradigm.com/VPGallery/diagrams/Deployment.html#deployment_specificationhttp://www.visual-paradigm.com/VPGallery/diagrams/Deployment.html#device_nodehttp://www.visual-paradigm.com/VPGallery/diagrams/Deployment.html#execution_environment_nodehttp://www.visual-paradigm.com/VPGallery/diagrams/Deployment.html#execution_environment_nodehttp://www.visual-paradigm.com/VPGallery/diagrams/Deployment.html#execution_environment_nodehttp://www.visual-paradigm.com/VPGallery/diagrams/Deployment.html#generalizationhttp://www.visual-paradigm.com/VPGallery/diagrams/Deployment.html#generalizationhttp://www.visual-paradigm.com/VPGallery/diagrams/Deployment.html#instance_spechttp://www.visual-paradigm.com/VPGallery/diagrams/Deployment.html#instance_spechttp://www.visual-paradigm.com/VPGallery/diagrams/Deployment.html#interfacehttp://www.visual-paradigm.com/VPGallery/diagrams/Deployment.html#linkhttp://www.visual-paradigm.com/VPGallery/diagrams/Deployment.html#manifestationhttp://www.visual-paradigm.com/VPGallery/diagrams/Deployment.html#nodehttp://www.visual-paradigm.com/VPGallery/diagrams/Deployment.html#notehttp://www.visual-paradigm.com/VPGallery/diagrams/Deployment.html#porthttp://www.visual-paradigm.com/VPGallery/diagrams/Deployment.html#realizationhttp://www.visual-paradigm.com/VPGallery/diagrams/Deployment.html#usage8/10/2019 Deploy Guide
24/44
8/10/2019 Deploy Guide
25/44
then it is not possible to further speciali$ethe artifact!
&ested Arifacts The Artifacts that are defined (nested)ithin the artifact!
Attributes .efers to all of the roperties that aredirect (i!e!% not inherited or imported)attributes of the artifact!
Operations An operation is a beha#ioral feature of anartifact that specifies the name% type%parameters% and constraints for in#o+ingan associated beha#ior! Operations hererefers to the operations oned by theartifact!
Association (Without aggregation)
DefinitionAn association specifies a semantic relationship that can occur
beteen typed instances! "t has at least to ends represented
by properties% each of hich is connected to the type of the end!
,ore than one end of the association may ha#e the same type!
An end property of an association that is oned by an end class
or that is a na#igable oned end of the association indicates thatthe association is na#igable from the opposite ends3 otherise%
the association is not na#igable from the opposite ends!
Properties
&ame The name of association!
0isibility Determines here the associationappears ithin different namespacesithin the o#erall model% and itsaccessibility!
Association 'nd1rom
The source of association!
Association 'nd ToThe target of association!
8/10/2019 Deploy Guide
26/44
Documentation Description of association!
Abstract "f true% the association does not pro#ide acomplete declaration and can typically notbe instantiated! An abstract association isintended to be used by other
associations!
*eaf "ndicates hether it is possible to furtherspeciali$e an association! "f the #alue istrue% then it is not possible to furtherspeciali$e the association!
Deri#ed Specifies hether the association isderi#ed from other model elements suchas other associations or constraints!
Component
DefinitionA component represents a modular part of a system that
encapsulates its contents and hose manifestation is
replaceable ithin its en#ironment!
A component defines its beha#ior in terms of pro#ided and
re4uired interfaces! As such% a component ser#es as a type
hose conformance is defined by these pro#ided and re4uiredinterfaces (encompassing both their static as ell as dynamic
semantics)! One component may therefore be substituted by
another only if the to are type conformant! *arger pieces of a
system5s functionality may be assembled by reusing
components as parts in an encompassing component or
assembly of components% and iring together their re4uired and
pro#ided interfaces!
A component is modeled throughout the de#elopment life cycle
and successi#ely refined into deployment and run-time! A
component may be manifest by one or more artifacts% and in
turn% that artifact may be deployed to its eecution en#ironment!
A deployment specification may define #alues that parameteri$ethe component5s eecution!
Properties
&ame The name of component!
8/10/2019 Deploy Guide
27/44
8/10/2019 Deploy Guide
28/44
may be lin+ed in a directed acyclic graph ith transiti#e deletion
characteristics3 that is% deleting an element in one part of the
graph ill also result in the deletion of all elements of the
subgraph belo that element! Composition is represented by the
isComposite attribute on the part end of the association being
set to true!
Properties
&ame The name of composition!
0isibility Determines here the associationappears ithin different namespacesithin the o#erall model% and itsaccessibility!
Association 'nd1rom The source of association!
Association 'nd ToThe target of association!
Documentation Description of association!
Abstract "f true% the composition does not pro#ide acomplete declaration and can typically notbe instantiated! An abstract composition isintended to be used by othercompositions!
*eaf "ndicates hether it is possible to furtherspeciali$e a composition! "f the #alue istrue% then it is not possible to furtherspeciali$e the composition!
Deri#ed Specifies hether the composition isderi#ed from other model elements suchas other compositions or constraints!
Constraint
DefinitionA condition or restriction epressed in natural language tet or in
a machine readable language for the purpose of declaring some
of the semantics of an element!
8/10/2019 Deploy Guide
29/44
Dependency
DefinitionA dependency is a relationship that signifies that a single or a set
of model elements re4uires other model elements for their
specification or implementation! This means that the complete
semantics of the depending elements is either semantically or
structurally dependent on the definition of the supplier
element(s)!
Properties
&ame The name of dependency!
Supplier The element(s) independent of the clientelement(s)% in the same respect and thesame dependency relationship! "n somedirected dependency relationships (suchas .efinement Abstractions)% a commoncon#ention in the domain of class-basedOO softare is to put the more abstractelement in this role! Despite thiscon#ention% users of /,* may stipulate asense of dependency suitable for theirdomain% hich ma+es a more abstractelement dependent on that hich is morespecific!
Client The element(s) dependent on the supplier element(s)! "n some cases (such as aTrace Abstraction) the assignment ofdirection (that is% the designation of theclient element) is at the discretion of themodeler% and is a stipulation!
0isibility Determines here the dependencyappears ithin different namespacesithin the o#erall model% and itsaccessibility!
Documentation Description of dependency!
8/10/2019 Deploy Guide
30/44
Deployment
DefinitionA deployment is the allocation of an artifact or artifact instance to
a deployment target!
Properties
&ame The name of deployment!
Deployed Artifact The Artifacts that are deployed onto a&ode! This association speciali$es thesupplier association!
*ocation The DeploymentTarget that is the target of a Deployment! This associationspeciali$es the client association!
0isibility Determines here the deploymentappears ithin different namespacesithin the o#erall model% and itsaccessibility!
Documentation Description of deployment!
Deployment Specification
DefinitionA deployment specification specifies a set of properties that
determine eecution 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!
8/10/2019 Deploy Guide
31/44
8/10/2019 Deploy Guide
32/44
specification!
De#ice &ode
DefinitionA De#ice is a physical computational resource ith processing
capability upon hich artifacts may be deployed for eecution!
De#ices may be comple (i!e!% they may consist of other
de#ices)!
Properties
&ame The name of node!
0isibility Determines here the node appearsithin different namespaces ithin theo#erall model% and its accessibility!
Documentation Description of node!
Abstract "f true% the node does not pro#ide acomplete declaration and can typically notbe instantiated! An abstract node is
intended to be used by other nodes!
*eaf "ndicates hether it is possible to furtherspeciali$e a node! "f the #alue is true% thenit is not possible to further speciali$e thenode!
.oot "ndicates hether the node has noancestors! (true for no ancestors)
Acti#e Determines hether an object specifiedby this node is acti#e or not! "f true% thenthe oning node is referred to as anacti#e node! "f false% then such a node isreferred to as a passi#e node!
&ested &odes The nodes that are defined (nested)ithin the node!
8/10/2019 Deploy Guide
33/44
.esidentComponents
The components contained by node
Attributes .efers to all of the roperties that aredirect (i!e!% not inherited or imported)attributes of the node!
Operations An operation is a beha#ioral feature of anartifact that specifies the name% type%parameters% and constraints for in#o+ingan associated beha#ior! Operations hererefers to the operations oned by thenode!
Templatearameters
A Templateable'lement that has atemplate signature is a specification of atemplate! A template is a parameteri$edelement that can be used to generateother model elements using
Template8inding relationships! Thetemplate parameters for the templatesignature specify the formal parametersthat ill be substituted by actualparameters (or the default) in a binding!
A template parameter is defined in thenamespace of the template% but thetemplate parameter represents a modelelement that is defined in the contet ofthe binding!
A templateable element can be bound toother templates! This is represented by
the bound element ha#ing bindings to thetemplate signatures of the targettemplates! "n a canonical model a boundelement does not eplicitly contain themodel elements implied by epanding thetemplates it binds to% since thoseepansions are regarded as deri#ed! Thesemantics and ell-formedness rules forthe bound element must be e#aluated asif the bindings ere epanded ith thesubstitutions of actual elements for formalparameters
Class Code
Details
roperties of node in implementation
(code) le#el! Settings in this page isprogramming language specific% and illaffect the code being generated!
8/10/2019 Deploy Guide
34/44
'ecution 'n#ironment &ode
DefinitionAn 'ecution'n#ironment is a node that offers an eecution
en#ironment for specific types of components that are deployed
on it in the form of eecutable artifacts!
Properties
&ame The name of node!
0isibility Determines here the node appearsithin different namespaces ithin theo#erall model% and its accessibility!
Documentation Description of node!
Abstract "f true% the node does not pro#ide acomplete declaration and can typically notbe instantiated! An abstract node isintended to be used by other nodes!
*eaf "ndicates hether it is possible to furtherspeciali$e a node! "f the #alue is true% thenit is not possible to further speciali$e thenode!
.oot "ndicates hether the node has noancestors! (true for no ancestors)
Acti#e Determines hether an object specifiedby this node is acti#e or not! "f true% thenthe oning node is referred to as anacti#e node! "f false% then such a node isreferred to as a passi#e node!
&ested &odes The nodes that are defined (nested)ithin the node!
.esidentComponents
The components contained by node
Attributes .efers to all of the roperties that aredirect (i!e!% not inherited or imported)attributes of the node!
8/10/2019 Deploy Guide
35/44
Operations An operation is a beha#ioral feature of anartifact that specifies the name% type%parameters% and constraints for in#o+ingan associated beha#ior! Operations hererefers to the operations oned by thenode!
Templatearameters
A Templateable'lement that has atemplate signature is a specification of atemplate! A template is a parameteri$edelement that can be used to generateother model elements usingTemplate8inding relationships! Thetemplate parameters for the templatesignature specify the formal parametersthat ill be substituted by actualparameters (or the default) in a binding!
A template parameter is defined in thenamespace of the template% but thetemplate parameter represents a modelelement that is defined in the contet ofthe binding!
A templateable element can be bound toother templates! This is represented bythe bound element ha#ing bindings to thetemplate signatures of the targettemplates! "n a canonical model a boundelement does not eplicitly contain themodel elements implied by epanding thetemplates it binds to% since thoseepansions are regarded as deri#ed! Thesemantics and ell-formedness rules forthe bound element must be e#aluated as
if the bindings ere epanded ith thesubstitutions of actual elements for formalparameters
Class CodeDetails
roperties of node in implementation(code) le#el! Settings in this page isprogramming language specific% and illaffect the code being generated!
enerali$ation
DefinitionA generali$ation is a taonomic relationship beteen a more
general classifier and a more specific classifier! 'ach instance of
the specific classifier is also an indirect instance of the general
classifier! Thus% the specific classifier inherits the features of the
more general classifier!
8/10/2019 Deploy Guide
36/44
8/10/2019 Deploy Guide
37/44
constraints (such as pre- and postconditions) or protocol
specifications% hich may impose ordering restrictions on
interactions through the interface!
Since interfaces are declarations% they are not instantiable!
"nstead% an interface specification is implemented by an instance
of an instantiable classifier% hich means that the instantiableclassifier presents a public facade that conforms to the interface
specification! &ote that a gi#en classifier may implement more
than one interface and that an interface may be implemented by
a number of different classifiers!
Properties
&ame The name of interface!
arent The model element that ons theinterface!
0isibility Determines here the interface appearsithin different namespaces ithin theo#erall model% and its accessibility!
Documentation Description of interface!
Abstract "f true% the class does not pro#ide acomplete declaration and can typically notbe instantiated! An abstract class isintended to be used by other classes!
*eaf "ndicates hether it is possible to furtherspeciali$e a class! "f the #alue is true%then it is not possible to further speciali$ethe class!
.oot "ndicates hether the class has noancestors! (true for no ancestors)
Acti#e Determines hether an object specifiedby this class is acti#e or not! "f true% thenthe oning class is referred to as an
acti#e class! "f false% then such a class isreferred to as a passi#e class!
8usiness model Set it to ma+e the class become a9business class9
Attributes .efers to all of the roperties that aredirect (i!e!% not inherited or imported)
8/10/2019 Deploy Guide
38/44
attributes of the class!
Operations An operation is a beha#ioral feature of aclass that specifies the name% type%parameters% and constraints for in#o+ingan associated beha#ior! Operations here
refers to the operations oned by theclass!
Templatearameters
A Templateable'lement that has atemplate signature is a specification of atemplate! A template is a parameteri$edelement that can be used to generateother model elements usingTemplate8inding relationships! Thetemplate parameters for the templatesignature specify the formal parametersthat ill be substituted by actualparameters (or the default) in a binding!
A template parameter is defined in thenamespace of the template% but thetemplate parameter represents a modelelement that is defined in the contet ofthe binding!
A templateable element can be bound toother templates! This is represented bythe bound element ha#ing bindings to thetemplate signatures of the targettemplates! "n a canonical model a boundelement does not eplicitly contain themodel elements implied by epanding thetemplates it binds to% since those
epansions are regarded as deri#ed! Thesemantics and ell-formedness rules forthe bound element must be e#aluated asif the bindings ere epanded ith thesubstitutions of actual elements for formalparameters
Class CodeDetails
roperties of class in implementation(code) le#el! Settings in this page isprogramming language specific% and illaffect the code being generated!
:a#a Annotations A :a#a annotation is a metadata that can
be added to :a#a source code forannotation purposes!
O., ;uery A#ailable only to O., ersistable class%O., ;uery lets you define the O.,;ualifiers and named 4ueries of the class!
8/10/2019 Deploy Guide
39/44
*in+
DefinitionAn association declares that there can be lin+s beteen
instances of the associated types! A lin+ is a tuple ith one #alue
for each end of the association% here each #alue is an instance
of the type of the end!
Properties
&ame The name of lin+!
1rom The source of lin+!
To The target of lin+!
Specification A specification of ho to compute% deri#e%or construct the instance!
Classifiers The classifier or classifiers of therepresented instance! "f multipleclassifiers are specified% the instance isclassified by all of them!
Slots A slot gi#ing the #alue or #alues of a
structural feature of the instance! Aninstance specification can ha#e one slotper structural feature of its classifiers%including inherited features! "t is notnecessary to model a slot for eachstructural feature% in hich case the lin+ isa partial description!
Documentation Description of lin+!
,anifestation
DefinitionA manifestation is the concrete physical rendering of one or
more model elements by an artifact!
8/10/2019 Deploy Guide
40/44
&ode
DefinitionA node is computational resource upon hich artifacts may be
deployed for eecution! &ode is a subclass of Class! "t is
associated ith a Deployment of an Artifact! "t is also associated
ith a set of 'lements that are deployed on it! This
Properties
&ame The name of node!
0isibility Determines here the node appearsithin different namespaces ithin theo#erall model% and its accessibility!
Documentation Description of node!
Abstract "f true% the node does not pro#ide acomplete declaration and can typically notbe instantiated! An abstract node isintended to be used by other nodes!
*eaf "ndicates hether it is possible to furtherspeciali$e a node! "f the #alue is true% thenit is not possible to further speciali$e thenode!
.oot "ndicates hether the node has noancestors! (true for no ancestors)
Acti#e Determines hether an object specifiedby this node is acti#e or not! "f true% thenthe oning node is referred to as anacti#e node! "f false% then such a node isreferred to as a passi#e node!
&ested &odes The nodes that are defined (nested)ithin the node!
.esidentComponents
The components contained by node
Attributes .efers to all of the roperties that are
8/10/2019 Deploy Guide
41/44
direct (i!e!% not inherited or imported)attributes of the node!
Operations An operation is a beha#ioral feature of anartifact that specifies the name% type%parameters% and constraints for in#o+ing
an associated beha#ior! Operations hererefers to the operations oned by thenode!
Templatearameters
A Templateable'lement that has atemplate signature is a specification of atemplate! A template is a parameteri$edelement that can be used to generateother model elements usingTemplate8inding relationships! Thetemplate parameters for the templatesignature specify the formal parametersthat ill be substituted by actualparameters (or the default) in a binding!
A template parameter is defined in thenamespace of the template% but thetemplate parameter represents a modelelement that is defined in the contet ofthe binding!
A templateable element can be bound toother templates! This is represented bythe bound element ha#ing bindings to thetemplate signatures of the targettemplates! "n a canonical model a boundelement does not eplicitly contain themodel elements implied by epanding the
templates it binds to% since thoseepansions are regarded as deri#ed! Thesemantics and ell-formedness rules forthe bound element must be e#aluated asif the bindings ere epanded ith thesubstitutions of actual elements for formalparameters
Class CodeDetails
roperties of node in implementation(code) le#el! Settings in this page isprogramming language specific% and illaffect the code being generated!
&ote
DefinitionA note (comment) gi#es the ability to attach #arious remar+s to
elements! A comment carries no semantic force% but may contain
information that is useful to a modeler!
8/10/2019 Deploy Guide
42/44
ort
DefinitionA port is a property of a classifier that specifies a distinct
interaction point beteen that classifier and its en#ironment or
beteen the (beha#ior of the) classifier and its internal parts!
orts are connected to properties of the classifier by connectors
through hich re4uests can be made to in#o+e the beha#ioral
features of a classifier! A ort may specify the ser#ices a
classifier pro#ides (offers) to its en#ironment as ell as the
ser#ices that a classifier epects (re4uires) of its en#ironment!
Properties
&ame The name of port!
,ultiplicity Specifies the alloable cardinalities for aninstantiation of this port!
0isibility Determines here the port appears ithindifferent namespaces ithin the o#erallmodel% and its accessibility!
Type The DataType that ons this port
Type ,odifier "ndicates a modifier that applies to theport!
Aggregation Specifies the +ind of aggregation thatapplies to the part!
Default 0alue A String that is e#aluated to gi#e a default#alue for the roperty hen an object ofthe oning Classifier is instantiated!
.edefined ort A port may be redefined hen itscontaining classifier is speciali$ed! Theredefining port may ha#e additionalinterfaces to those that are associatedith the redefined port or it may replacean interface by one of its subtypes!
Documentation Description of port!
8/10/2019 Deploy Guide
43/44
*eaf "ndicates hether it is possible to furtherspeciali$e a class! "f the #alue is true%then it is not possible to further speciali$ethe class!
Static Specifies hether this feature
characteri$es indi#idual instancesclassified by the classifier (false) or theclassifier itself (true)!
.ead Only "f true% the attribute may only be read% andnot ritten!
Deri#e Specifies hether the port is deri#ed% i!e!%hether its #alue or #alues can becomputed from other information!
Deri#ed /nion Specifies hether the port is deri#ed as
the union of all of the ports that areconstrained to subset it!
Ser#ice "f true% indicates that this port is used topro#ide the published functionality of aclassifier! "f false% this port is used toimplement the classifier but is not part ofthe essential eternally-#isiblefunctionality of the classifier and can%therefore% be altered or deleted along iththe internal implementation of theclassifier and other properties that areconsidered part of its implementation!
8eha#ior Specifies hether re4uests arri#ing at thisport are sent to the classifier beha#ior ofthis classifier! Such ports are referred toas beha#ior port! Any in#ocation of abeha#ioral feature targeted at a beha#iorport ill be handled by the instance of theoning classifier itself% rather than by anyinstances that this classifier may contain!
.eali$ation
Definition.eali$ation is a speciali$ed abstraction relationship beteen to
sets of model elements% one representing a specification (the
supplier) and the other represents an implementation of the
latter (the client)! .eali$ation can be used to model stepise
refinement% optimi$ations% transformations% templates% model
synthesis% frameor+ composition% etc!
8/10/2019 Deploy Guide
44/44
/sage
DefinitionA usage is a relationship in hich one element re4uires another
element (or set of elements) for its full implementation or
operation! "n the metamodel% a /sage is a Dependency in hich
the client re4uires the presence of the supplier!
Properties
&ame The name of usage relationship!
Supplier The element(s) independent of the clientelement(s)% in the same respect and thesame dependency relationship! "n somedirected dependency relationships (suchas .efinement Abstractions)% a commoncon#ention in the domain of class-basedOO softare is to put the more abstractelement in this role! Despite thiscon#ention% users of /,* may stipulate asense of dependency suitable for theirdomain% hich ma+es a more abstractelement dependent on that hich is morespecific!
Client The element(s) dependent on the supplier element(s)! "n some cases (such as aTrace Abstraction) the assignment ofdirection (that is% the designation of theclient element) is at the discretion of themodeler% and is a stipulation!
0isibility Determines here the usage relationshipappears ithin different namespacesithin the o#erall model% and itsaccessibility!
Documentation Description of usage relationship!