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.
The first version of the MSC standard was released in 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.
The existing symbols are:
UML 2.0 Sequence Diagram is strongly inspired by the ITU-T MSC. Still, for historical reasons, the default basic principles are quite different:
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.
David Harel suggested that MSC had shortcomings such as:
and proposed Live Sequence Charts (LSC) as an extension on the MSC standard .