Deploy Guide

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%20management
  • 8/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.html
  • 8/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.html
  • 8/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#deployment
  • 8/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#manifestation
  • 8/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.html
  • 8/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#deployment
  • 8/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#connector
  • 8/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#node
  • 8/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#device
  • 8/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#node
  • 8/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-target
  • 8/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-spec
  • 8/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.html
  • 8/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#deployment
  • 8/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#usage
  • 8/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!