R57 - modelint/flatland-model-diagram-editor GitHub Wiki
R57 / 1:Mc
Diagram Type is context for zero, one or many Stem Semantic
Stem Semantic has meaning on_exactly one_ Diagram]
Consider a Stem Semantic such as class mult
(class multiplicity) or maybe another target state
. Each Stem Semantic defines the meaning associated with the point where a Connector attaches to some Node. The class mult
Stem Semantic only makes sense on a class diagram while the target state
Stem Semantic is intended for state machine diagrams.
In fact, each Stem Semantic is specific to the context defined by a type of Diagram. In other words, each Diagram Type establishes a set of relevant Stem Semantics that make sense only on that Diagram Type.
True, you may create a Diagram Type with semantics similar or almost identical to another Diagram Type. Say you define a petri net
Diagram Type which also specifies target state
. We still want to keep the semantics custom specified for each Diagram Type so that we don’t elide subtle distinctions among them. No problem since the name of a Stem Semantic is local to its own Diagram Type. Thus a petri net-target state
is distinct from a state machine-target state
. The semantics may be equivalent or slightly different, but they are two distinct semantics as far as Flatland is concerned.
If a Diagram Type does not specify any Stem Semantics, this means that the Diagram Type does not support Connectors of any type. Perfectly legal, but of questionable value. Flatland will draw them at any rate!