Main Content

move

Move message within interaction

Since R2024b

    Description

    move(message, Before=beforeElement) places the message message immediately before the beforeElement interaction element object.

    example

    move(message, After=afterElement) places the message message immediately after the afterElement interaction element object.

    example

    Examples

    collapse all

    You can programmatically move messages in a sequence diagram. This example assumes you have the TLExample model open from the Create Sequence Diagrams Programmatically example and uses the move function to place the first message in the root fragment immediately before the alternative fragment.

    Open Inhibit sequence diagram.

    model = systemcomposer.openModel("TLExample");
    diagram = getInteraction(model, "Inhibit");

    Inhibit sequence diagram

    Get the first and second message in the root fragment.

    message = diagram.RootFragment.Operands.Fragments(1).Message;
    message1 = diagram.RootFragment.Operands.Fragments(2).Message;

    Use the RootFragment property of the interaction to list the class of all fragments.

    iterator = systemcomposer.interaction.Iterator(diagram.RootFragment);
    next = iterator.next;
    while ~isempty(next)
        if isa(next, 'systemcomposer.interaction.AltFragment')
            altFrag = next;
        end
        next = iterator.next;
    end

    Place the message message immediately before the altFrag fragment.

    if ~isempty(altFrag)
        move(message, Before=altFrag);
    end
    diagram.open;

    Inhibit sequence diagram with the original first message of the diagram now immediately before the alt fragment.

    Input Arguments

    collapse all

    Message specified as a systemcomposer.interaction.Message object.

    More About

    collapse all

    Definitions

    TermDefinitionApplicationMore Information
    sequence diagram

    A sequence diagram represents the expected interaction between structural elements of an architecture as a sequence of message exchanges.

    Use sequence diagrams to describe how the parts of a system interact.

    Describe System Behavior Using Sequence Diagrams
    lifeline

    A lifeline is represented by a head and a timeline that proceeds down a vertical dotted line.

    The head of a lifeline represents a component in an architecture model.

    Add Lifelines and Messages
    message

    A message sends information from one lifeline to another. Messages are specified with a message label.

    A message label has a trigger, an optional guard, and an optional constraint where a trigger represents the identifying event for this message, a guard represents an additional condition to determine whether the message occurs, and a constraint is an expression that is expected to be true when this message occurs.

    Create Messages in Sequence Diagram
    gate

    A gate represents the root architecture of the corresponding architecture model.

    Connect messages to gates to represent architecture ports.

    Create Sequence Diagram Gates
    annotation

    An annotation describes the elements of a sequence diagram.

    Use annotations to provide detailed explanations of elements or workflows captured by sequence diagrams.

    Use Annotations to Describe Elements of Sequence Diagram
    fragment

    A fragment indicates how a group of messages execute or interact.

    A fragment is used to model complex sequences, such as alternatives, in a sequence diagram.

    Author Sequence Diagram Fragments
    operand

    An operand is a region in a fragment. Fragments have one or more operands depending on the kind of fragment. Operands can contain messages and additional fragments.

    Each operand can include a constraint to specify whether the messages inside the operand execute. You can express the precondition of an operand as a MATLAB® Boolean expression using the input signal of a lifeline.

    Add Fragments and Operands

    Version History

    Introduced in R2024b