Previous UML Classes Table of Contents UML Packages Next


10.3.8 ExecutionEnvironment

Nodes


   An ExecutionEnvironment is a node that offers an execution environment for specific types of components that are deployed on it in the form of executable artifacts.

*Generalizations

   • Node (from Nodes ) on page 218

*Description

   In the metamodel, an ExecutionEnvironment is a subclass of Node. It is usually part of a general Node, representing the physical hardware environment on which the ExecutionEnvironment resides. In that environment, the ExecutionEnvironment implements a standard set of services that Components require at execution time (at the modeling level these services are usually implicit). For each component Deployment, aspects of these services may be determined by properties in a DeploymentSpecification for a particular kind of ExecutionEnvironment .

*Attributes

   No additional attributes

*Associations

   No additional associations

*Constraints

   No additional constraints

*Semantics

   ExecutionEnvironment instances are assigned to node instances by using composite associations between nodes and ExecutionEnvironment s, where the ExecutionEnvironment plays the role of the part. ExecutionEnvironment s can be nested (e.g., a database ExecutionEnvironment may be nested in an operating system ExecutionEnvironment ). Components of the appropriate type are then deployed to specific ExecutionEnvironment nodes.

   Typical examples of standard ExecutionEnvironment s that specific profiles might define stereotypes for are «OS», «workflow engine», «database system», and «J2EE container».

   An ExecutionEnvironment can optionally have an explicit interface of system level services that can be called by the deployed elements, in those cases where the modeler wants to make the ExecutionEnvironment software execution environment services explicit.

*Notation

   A ExecutionEnvironment is notated by a Node annotated with the stereotype «executionEnvironment».

Figure 10.15 - Notation for a ExecutionEnvironment (example of an instance of a J2EEServer ExecutionEnvironment )

*Changes from previous UML

   The following changes from UML 1.x have been made — ExecutionEnvironment is not defined in UML 1.x.