-
Notifications
You must be signed in to change notification settings - Fork 0
Lifecycle or Assigner
Leon Starr edited this page Aug 4, 2026
·
5 revisions
The line right after the domain name specifies the state model usage.
Shlaer-Mellor Executable UML defines two state machine use cases:
- A lifecycle of a class — the behavior of any instance of a class, abstracted as a lifecycle
- An assigner — resolves conflict for an association where instances compete to link together
You can learn more about each of these use cases in the Shlaer-Mellor metamodel state subsystem wiki. Links to specific terms in that wiki appear below.
Whereas a lifecycle is defined on a class, an assigner is defined on an association.
Here's the top level grammar rule:
statemodel = EOL* metadata? domain_header (lifecycle / assigner) events? initial_transitions* state_block* EOF
The (lifecycle / assigner) term is a choice, so one of the two must appear and neither may be repeated.
Here is how each choice is structured:
lifecycle = "class" SP name EOL*
assigner = "relationship" SP rnum (SP '/' SP name)? EOL*
See the wiki sidebar for an example of each state model use case.
Copyright 2023-2026 © Leon Starr under MIT Open Source License