R844 - modelint/shlaer-mellor-metamodel GitHub Wiki

R844 / 1:Mc

Data Flow gets initialization data from exactly one Initialization Source

Initialization Source feeds initialization data into zero, one or many Data Flow


Here's where we 'twisty tie' a source Data Flow in the Activity where the Initial Signal Action lives, to a local flow in the Delegated Creation Activity. In other words, a source providing attribute initialization data feeds into a local Data Flow where a new instance is created, so its attribute values can be initialized.

images/activity-subsystem/R844_10.png

In the figure above, we see the Delegated Creation Activity in the foreground. To initialize referential attributes of the new instance it must have access to the values in Data Flows A22-F2 and A22-F3. It maps these to local Data Flows A56-F3 and A56-F2. The local flows feed the New Associative Reference action which outupts a tuple with the necessary referential attribute values. These are fed into the instance Create action along with a scalar value from A22-F4 passed in as A56-F1.

How do we know which Data Flows to map? The action language syntax (see figure in Initialization Source) must provide this information.

Each Initialization Source must receive data from a single Data Flow in the Initial Signal Action activity.

Any given Data Flow may or may not be used for this purpose, and if it is, it could conceivably feed multiple Delegated Creation Activities.