R502 - modelint/shlaer-mellor-metamodel GitHub Wiki
R502 / Generalization
State Model is a Lifecycle or Assigner
These are the only two uses of State Models in Shaler-Mellor. While these uses are entirely different, the underlying Moore finite state machine mechanics are almost identical.
From a use perspective, a Lifecycle represents the systematic behavior of instances belonging to a Class whereas an Assigner resolves competition on a specific Association.
A Lifecycle specifies the behavior of instances and, on some Classes, instances may be created and deleted during runtime. So, on a Lifecycle State Model, it is possible for instances to come into existence and disappear at designated points on the Lifecycle.
An Assigner, by contrast, specifies competition resolution for the population of instances on each side of an Association. So for the entire population, there is only ever one manifestation of the Assigner running. Like the Association it manages, an Assigner is part of the model structure and always exists (even though the references it manages may individually come and go).