Sequence Diagram (UML)

Sequence diagram models communication among objects in sequential order. It shows object, classes and actors involved in the scenario and exact order of messages. It consists of vertical lines which belong to lifelines and horizontal lines of messages.

Software Ideas Modeler offers tools for following elements of a sequence diagram:

  • Lifeline
  • Actor
  • Boundary
  • Control
  • Entity
  • Execution Occurence
  • Call Message
  • Reply Message
  • Send Message
  • Create Message
  • Delete Message
  • Self Message
  • Recursive Message
  • Destroy Occurence
  • Duration Message
  • Lost Message
  • Found Message
  • Gate
  • Interaction Operand
  • Opt Fragment
  • Alt Fragment
  • Loop Fragment
  • Sd Fragment
  • Par Fragment
  • Neg Fragment
  • Interaction Use
  • State Invariant
  • Duration Constraint
  • Coregion
  • Concurrent

Lifeline

Lifeline is an element which represents an individual participant (object, actor, component or process) in the interaction. It is rendered as box with a name and vertical line. The line shows time-ordered sequence of messages (from top to bottom).

UML Lifeline

Actor

An actor represents an external participant.

UML Actor

Execution Occurence

An execution occurence represents a time span from a lifetime of a participant when an operation is executed.

Synchronous Call Message

Synchronous call sends a message from a source lifeline to a target lifeline while all other calls of the source lifeline are blocked. Message can be associated with a class operation. Synchronous call message is displayed as a line with a solid arrow pointing from a calling lifeline to a called lifeline.

UML Call Message

Assynchronous Call Message

Asynchronous call sends a message from a source lifeline to a target lifeline. Other calls of the source lifeline are not blocked, the next message is called immediately. Message can be associated with a class operation. Asynchronous call message is displayed as a line with an open arrow pointing from a calling lifeline to a called lifeline.

UML Assynchronous Message

Reply Message

Reply message sends a result of execution started by call message. Reply message is displayed as a dashed line with an open arrow pointing from a replying lifeline to a calling lifeline.

UML Reply Message

Create Message

Create message instances a new object. Create message is displayed as a dashed line with an open arrow pointing from a creating lifeline to a head of newly created lifeline.

UML Create Message

Delete Message

Delete message dispose an object. It is displayed as a line with a solid arrow pointing from a lifeline which calls a delete action to a lifeline which will be deleted. Message is labeled with «destroy» stereotype. The deleted lifeline has to be ended with X symbol (destruction occurrence).

UML Delete Message

Self Message

Self message is a call message which is sent from a lifeline to itself.

UML Self Message

Recursive Message

Recursive message is a special case of a self message. It models recursive calls.

UML Recursive Message

Found Message

A found message is a message with a known participant of receiving event, but with no or unknown sending participant.

UML Found Message

Lost Message

A lost message is a message with a known participant of sending event, but with no or unknown receiving participant.

UML Lost Message

State Invariant

State Invariant represents a constraint which has to be true in time of execution. It is displayed as rounded rectangle.

UML State Invariant

Duration Constraint

UML Duration Constraint

Combined Fragment

Combined Fragment combines interaction operands using an interaction operator. Interaction operator of fragment can be one of these values:

  • alt - abbreviation for alternatives. It defines alternative paths of execution.
  • opt - abbreviation for option. It defines optional parts of execution.
  • par - abbreviation for parallel.It defines parts which can be executed parallely. Operands can be called in any order, but the order of calls inside operands has to be preserved. Operands can be freely interleaved.
  • critical - abbreviation for critical region. It represents atomic calls which cannot be interleaved with another calls.
  • loop - defines iteration in execution.
  • neg - abbreviation for negative. It defines calls for invalid or incorrect states of system.
  • assert - abbreviation for assertion.
  • strict - strict sequencing
  • seq - weak sequencing
  • ignore
  • consider

New Comment

Comment