Message sequence chart
A message sequence chart is an interaction diagram from the SDL family standardized by the International Telecommunication Union.
The purpose of recommending MSC 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, 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.
- 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
- Arrows
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,