In the Unified Modeling Language,
"A node is a computational resource upon which artifacts may be deployed for execution."[1]
There are two types of nodes: device nodes and execution environments.
The former represent hardware devices:
"A device is a physical computational resource with processing capability upon which artifacts may be deployed for execution. Devices may be complex (i.e., they may consist of other devices)."[2]
The later represent software containers (such as operating systems, JVM, servlet/EJB containers, application servers, portal servers etc.)
"An execution environment is a node that offers an execution environment for specific types of components that are deployed on it in the form of deployable artifacts.[3]
Execution environments can be nested.
Nodes can be interconnected through communication paths to define network structures:
"A communication path is an association between two DeploymentTargets, through which they are able to exchange signals and messages"[4]
Usage Tips
When modeling devices, it is possible to model them in several different ways:
- Name a device using the type and make, for instance "IBM RS6000", "HP 9000".
- Name a device using its intended function, for instance "Database Server", "High Speed Switch"
- Name a device using the operating system deployed on it, for instance "Linux Server", "Solaris Server".
Use tagged values to specify characteristics of devices / execution environments, for instance "Memory=2GB", "Disk Space=32GB", "Version=2.5.1".
Notes
- ^ UML Siperstructure, p. 210.
- ^ UML Superstructure, p.206.
- ^ UML Superstructure, p.207.
- ^ UML Superstructure, p.199.