R2006 - modelint/shlaer-mellor-metamodel GitHub Wiki

R2006 / 1:1c

Single Assigner has behavior driven by zero or one Single Assigner State Machine

Single Assigner State Machine drives behavior of exactly one Single Assigner


A Single Assigner defines a State Model that manages competition on some Association. And, by definition, this is a single State Machine.

We could, in fact, create the associated State Machine prior to populating the metamodel since there is no dependency on any populated Instances.

It is tempting to make this a 1:1 assocation, but in many cases a user may want to populate the Metamodel for purposes that do not require model execution. In that case there would be no need to populate the Execution Subsystem at all.