eclipsesource / papyrus-seqd

1 stars 5 forks source link

[Lifeline:005]: Reorder lifeline #32

Open planger opened 6 years ago

planger commented 6 years ago

A lifeline SHALL be reorder (change location and semantical order) by dragging it to a new location while keep pressed the ctrl key. The lifeline will be located at the drop location, or the closest one that does not contradict any other requirement, and the lifelines will be reorder. The gap left between the lifeline and the previous one, or the left side of the diagram will be removed. As result the distance between the previous lifeline and the next one will be equal to the distance between the lifeline and the next one before the reorder.

If a creation message creates a lifeline, it will keep its vertical position.

Fragments may be reorder semantically as consequence of the reorder of lifelines, to keep the defined order, top to bottom, left to right, when two subsets of fragments are unconnected.

Messages may need to change direction, so the position of its message ends may need to rearrange, if they are inside of the specification, or the execution specification itself, if the message end corresponds to the start of the execution specification.

planger commented 5 years ago

According to the spec, lifelines are unordered and don't have an impact on the semantic ordering. The Interaction::fragment collection is ordered, because that’s the interaction trace (likewise InteractionOperand::fragment). The Interaction::lifeline collection is unordered, likewise Lifeline::coveredBy.

@acampesino Should we really handle the lifeline order in the semantic model, nonetheless it's actually an unordered list? Graphically it is handled already. Thanks for your feedback!