Previous UML Classes Table of Contents UML Packages Next


12.3.21 DataStoreNode

CompleteActivities


   A data store node is a central buffer node for non-transient information.

*Generalizations

   CentralBufferNode (from IntermediateActivities ) on page 365

*Description

   A data store keeps all tokens that enter it, copying them when they are chosen to move downstream. Incoming tokens containing a particular object replace any tokens in the object node containing that object.

*Attributes

   No additional attributes

*Associations

   No additional associations

*Constraints

   No additional constraints

*Semantics

   Tokens chosen to move downstream are copied so that tokens appear to never leave the data store. If a token containing an object is chosen to move into a data store, and there is a token containing that object already in the data store, then the chosen token replaces the existing one. Selection and transformation behavior on outgoing edges can be designed to get information out of the data store, as if a query were being performed. For example, the selection behavior can identify an object to retrieve and the transformation behavior can get the value of an attribute on that object. Selection can also be designed to only succeed when a downstream action has control passed to it, thereby implementing the pull semantics of earlier forms of data flow.

*Notation

   The data store notation is a special case of the object node notation, using the label «datastore».

   «datastore» name [state]

   Figure 12.74 - Data store node notation.

*Examples

   The figure below is an example of using a data store node.

Figure 12.75 - Data store node example

   {weight=all}

   Data stores are introduced to support earlier forms of data flow modeling in which data is persistent and used as needed, rather than transient and used when available.

*Changes from previous UML

   Data stores are new in UML 2.0.