R1031 - modelint/shlaer-mellor-metamodel GitHub Wiki
R1031 / 1:Mc
Reflexive Sequencer iteratively hops toward exactly one Asymmetric Perspective
Asymmetric Perspective is iterative target of zero, one or many Reflexive Sequencer
A Reflexive Sequencer is defined by a Binary Association with two Asymmetric Perspectives both viewed from the same Class, i.e. an asymmetric reflexive Association. The multiplicity on each side must be 1 to form a sequence (conditional or unconditional).
The Asymmetric Perspective instance not only specifies the Association, it simultaneously indicates a traversal direction and, thus, a sequence.
Constraint Reflexive perspective {R1029c}
The other Asymmetric Perspective on the Binary Association must be viewed on the same class (to make it reflexive) and the multiplicity of each Perspective must be '1' to form a sequence. Conditionality does not matter.
T Perspective.(Reflexive perspective, Domain)/R105/R121/Perspective.Viewed class == P Perspective.(Reflexive perspective, Domain)/R105/R121/Perspective.Viewed class AND
T Perspective.(Reflexive perspective, Domain)/R105/R121/Perspective.Multiplicity == .one AND
P Perspective.(Reflexive perspective, Domain)/R105/R121/Perspective.Multiplicity == .one