R517 - modelint/shlaer-mellor-metamodel GitHub Wiki

R517 / 1:Mc

Multiple Assigner manages within constraint set by exactly one Constrained Loop

Constrained Loop establishes constraint for zero, one or many Multiple Assigner


A Constrained Loop does not necessarily include any Association managed by a Multiple Assigner. It is simply a constrained loop of Associations.

A Multiple Assigner, on the other hand, requires a Constrained Loop so that it can partition the instances it manages into independent assignable subsets.

Modeler's Note (LS): R518 establishes the partitioning Class within the Constrained Loop and indirectly formalizes the requirement of a Constrained Loop. But R517 directly forbids the specification of a Multiple Assigner outside of a Constrained Loop.