ArticleslgStudy

computer science

Message sequence chart

Message sequence chart is a computer science topic covered in the lgStudy science library. This page brings together a partial reference excerpt, illustrations, worked examples, real-world applications and a short study plan, so you can understand Message sequence chart rather than just read about it. In short: A message sequence chart (or MSC) is an interaction diagram from the SDL family standardized by the International Telecommunication Union. The purpose of recommending MSC (Message Sequence Chart) is to provide a trace language for the specification and description of the communication behaviour of system components and their environment by means of message interchange.

Message sequence chart — main illustration
Message sequence chart — illustration

Key takeaways

  • Message sequence chart belongs to computer science; place it in that map before memorising details.
  • Learn the definition first, then one example that makes the definition concrete.
  • Connect Message sequence chart to a quantity you can measure, compute or draw — that is where exam questions come from.
  • Reproduce the core statement of Message sequence chart from memory before moving on to harder problems.

Reference excerpt

A message sequence chart (or MSC) is an interaction diagram from the SDL family standardized by the International Telecommunication Union. The purpose of recommending MSC (Message Sequence Chart) is to provide a trace language for the specification and description of the communication behaviour of system components and their environment by means of message interchange. Since in MSCs the communication behaviour is presented in a very intuitive and transparent manner, particularly in the graphical representation, the MSC language is easy to learn, use and interpret. In connection with other languages it can be used to support methodologies for system specification, design, simulation, testing, and documentation.

History The first version of the MSC standard was released on March 12, 1993. The 1996 version added references, ordering and inlining expressions concepts, and introduced HMSC (High-level Message Sequence Charts), which are the way of expressing a sequence of MSCs. The MSC 2000 version added object orientation, refined the use of data and time in diagrams, and added the concept of remote method calls. Latest version has been published in February 2011.

Symbols in MSC The existing symbols are:

MSC head, lifeline, and end: a vertical line with a box at the top, and a box or a cross at the bottom. Instance creation: horizontal dashed arrow to the newly created instance. Message exchange: horizontal arrow. Control flow: horizontal arrow with the 'call' prefix, dashed arrow for reply symbol, method and suspension symbols in between. Timers: start, cancel, time out. Time interval: relative and absolute with a dashed vertical arrow. Conditions: usually used to represent a state of the underlying state machine. Action: a box. In-line expressions: alternative composition, sequential composition, exception, optional region, parallel composition, iteration (loop). Reference: reference to another MSC. Data concept: The user can use any data concept, if binding is undefined the default data concept is the one from SDL as defined in Z.121 recommendation. Coregion: a double dashed instance line to describe unordered events.

Symbol extensions SDL-RT has introduced: a semaphore instance representation. a save symbol to save messages.

Comparison to UML UML 2.0 Sequence Diagram is strongly inspired by the ITU-T MSC. Still, for historical reasons, the default basic principles are quite different:

Lifelines In an MSC, the vertical lines are autonomous execution entities. They usually represent state machines executing in parallel. The state machines need not be on the same computer. In a Sequence Diagram, a vertical line is usually an object. The object can be active (in its own thread of execution) or passive (in the execution context of an active object). Arrows In an MSC an arrow is usually an asynchronous message sent from one entity to another one. Once the message is sent the sending entity resumes its execution. In a Sequence Diagram an arrow is usually understood as an operation call on a class. It is therefore synchronous and the calling entity hangs until the operation returns. It has been said that MSC has been considered as a candidate for the interaction diagrams in UML. However, proponents of MSC such as Ericsson think that MSC is better than UML 2.0 for modelling large or complex systems.

Live Sequence Charts David Harel suggested that MSC had shortcomings such as:

MSC propose a weak partial ordering semantics that makes it impossible to capture some behavioral requirements, The relationship between the MSC requirements and the executable specification is not clear, and proposed Live Sequence Charts (LSC) as an extension on the MSC standard .

See also PSC Property Sequence Chart, a way to describe properties in an MSC or a Sequence Diagram. SDL Specification and Description Language, an MSC related ITU-T language. Interaction diagrams in UML.

References

External links ITU-T Recommendation Z.120 message sequence chart (MSC)

Illustrations

Message sequence chart: The diagram shows three entities. At start the phone is disconnected. A user tries to establish a connection. A connection request is sent to the switch and a timer is started. An alternative deals with two possibles responses: 1 - The timer goes off because the switch did not reply and the phone goes back to the disconnected state.2 - The switch grants the connection and the call is established.
The diagram shows three entities. At start the phone is disconnected. A user tries to establish a connection. A connection request is sent to the switch and a timer is started. An alternative deals with two possibles responses: 1 - The timer goes off because the switch did not reply and the phone goes back to the disconnected state.2 - The switch grants the connection and the call is established.
Message sequence chart: Dynamic process creation in an MSC
Dynamic process creation in an MSC
Message sequence chart: Call operation in an MSC
Call operation in an MSC
Message sequence chart: Time constraint in an MSC
Time constraint in an MSC
Message sequence chart: MSC Reference in an MSC
MSC Reference in an MSC

Worked examples

Example 1 — a first encounter with Message sequence chart

Start with the simplest possible case. Write down what Message sequence chart claims or describes in one sentence, then invent the smallest concrete situation in which that sentence is true. In computer science, the smallest case is usually a single object, a single equation or a single measurement. Check that every symbol or term in your sentence has a meaning in that case.

Example 2 — changing one variable

Take the situation from Example 1 and change exactly one quantity: double it, halve it, or set it to zero. Predict what should happen to Message sequence chart before you calculate. Comparing your prediction with the result is the fastest way to find out whether you understand the idea or only the words.

Example 3 — an exam-style question

Typical questions about Message sequence chart ask you to (a) state it precisely, (b) apply it to given data, and (c) explain a limitation. Practise writing all three answers in under five minutes; the third part is what separates a full-mark answer from an average one.

Applications of Message sequence chart

In research
Message sequence chart appears in computer science research whenever the underlying quantities have to be modelled precisely. Papers usually cite it as a starting assumption and then explore where it breaks down.
In technology and industry
Engineering practice reuses Message sequence chart in design rules, simulations and safety margins. Knowing the idea lets you read a specification sheet and understand why the numbers look the way they do.
In the classroom
Message sequence chart is common in secondary-school and first-year university syllabi. It links to neighbouring topics Diagrams, Formal specification languages, Software modeling language, so understanding it makes those chapters shorter.
In everyday life
Look for Message sequence chart outside the textbook — in sport, cooking, traffic, electronics or the sky above you. An example you found yourself is remembered far longer than one you were given.

Affiliate

Preply — study more efficiently by working with a personal tutor. 50% off.

How to study Message sequence chart in 20 minutes

  1. Read the reference excerpt below once, without taking notes.
  2. Close the page and write down what Message sequence chart means in your own words.
  3. Compare your version with the excerpt and mark what you missed.
  4. Work through the three examples above with pen and paper.
  5. Explain Message sequence chart out loud to somebody else — or to Teacher Smith in the lgStudy chat.

Frequently asked questions

What is Message sequence chart in simple terms?

A message sequence chart (or MSC) is an interaction diagram from the SDL family standardized by the International Telecommunication Union. The purpose of recommending MSC (Message Sequence Chart) is to provide a trace language for the specification and description of the communication behaviour of…

Why does Message sequence chart matter?

Because it connects several computer science ideas at once: it gives you a definition you can apply, a quantity you can calculate, and a way to check whether a result is plausible.

How should I study Message sequence chart?

Read the excerpt, restate it from memory, then work through the examples and applications listed on this page. The five-step study plan above takes about twenty minutes.

What does this page cover?

It gives you a compact reference excerpt plus original lgStudy explanations, examples, applications and study material on Message sequence chart.

Tags

  • Diagrams
  • Formal specification languages
  • Software modeling language
  • Telephone exchanges
  • Unified Modeling Language diagrams

Keep exploring