Previous UML Classes Table of Contents UML Packages Next

12.3.21 DataStoreNode


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


   CentralBufferNode (from IntermediateActivities ) on page 365


   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.


   No additional attributes


   No additional associations


   No additional constraints


   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.


   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.


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

Figure 12.75 - Data store node example


   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.