The metamodel is quite confusing when it gets to ArrowSequenceActions. These were originally literally always arrows in the sequence diagram, but now they're used in allowed and forbidden sets - where they neither correspond to arrows nor actions!
This issue tracks overhauling that corner of the metamodel to:
bring terminology in line with PSCs, where 'arrows' are a type of 'message', alongside 'internal messages' which are the type of thing a gap can contain;
decouple arrow actions and arrows.
I'm thinking something like:
Message (has from, to, and body)
InternalMessage
ArrowMessage
MessageTopic
EventMessageTopic
OperationMessageTopic
We might not even need the internal/arrow distinction just yet. I'm imagining the difference will be in the kind of arguments the message can take: arrow messages might be able to bind. Even so, this might be better put as a wellformedness condition rather than a metamodel distinction.
The metamodel is quite confusing when it gets to
ArrowSequenceAction
s. These were originally literally always arrows in the sequence diagram, but now they're used in allowed and forbidden sets - where they neither correspond to arrows nor actions!This issue tracks overhauling that corner of the metamodel to:
I'm thinking something like:
We might not even need the internal/arrow distinction just yet. I'm imagining the difference will be in the kind of arguments the message can take: arrow messages might be able to bind. Even so, this might be better put as a wellformedness condition rather than a metamodel distinction.