Message Sequence Chart.

They are often used in the formal design of complicated computer systems, especially communications and telecommunications systems, but may be used in any system that has multiple tasks running simeltaneously.

The chart is designed to be read vertically, starting at the top, and going downwards. Each task, unit, or device has an box at the top to identify it, then a vertical line running down the chart to indicate that item as a message source or destination.

Messages are shown as an undirectional arrow, pointing from the originating unit, to the destination unit. The arrow will usually be named, indicating the name of the message being sent, and occasionally will list parameter values that are key to the message.

A simple version can easily be read by going down the chart. This will give an indication of the order that messages are sent out in.

There are also means to indicate when multiple messages may be sent or received in non-specific order, when certain units/tasks are started or stopped, and even symbols to indicate when timers are started, stopped, and expire.

They are a key part of simulation of tasks created in SDL (structure and design language).