R808 - modelint/shlaer-mellor-metamodel GitHub Wiki
R808 / Generalization
Flow is a Labeled Flow or Unlabeled Flow
For descriptive purposes or to support a textual action language, it is often helpful to label certain Flows.
In the case of a textual action language, Labels take the form of local variable names where an assignment operation establishes the label.
Here's an example in Scrall:
behind the call arrow = ( cabin low and calling up ) or ( cabin high and calling down )
Here a Scalar Flow from a computation with a boolean result is labeled behind the call arrow
.
Not every Flow benefits from a name:
destination heights #= (requested stops + requested floors) ## Floor.(Name >> Floor, Height)
In a nested expression like the one above, there is no need to name the intermediate Flows.