Message sequence chart
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.
Latest version has been published in February 2011.
Comparison to UML
UML Sequence Diagram looks very similar to the ITU-T MSC but the default basic principles are quite different:
- 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).
- 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.
Live Sequence Charts
David Harel thinks that MSC still has several 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.
- PragmaDev Tracer Free tracing tool based on MSC.
- MscGen – Automatic generation of diagrams based on text descriptions of the messages.
- MscGenerator - Advanced version of MscGen, designed for telecom message flows.
- Web-based MSC Generator
- Msc2Svg – Generates charts as SVG from a simple text description file
- EventStudio – Message sequence chart generation tool
- LTSA – Supports the drawing and subsequent automated verification of message sequence charts.
- Sequence Chart Studio – Extends Microsoft Visio to draw and verify Z.120 compliant sequence charts.
- Trace2UML – Tool for drawing and recording sequence charts.
- MSC Latex package – a LaTeX package for creating message sequence charts.
- Online PCAP to MSC chart Generator – Generates MSC arrow diagram charts from PCAP files.
- 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.
- "HMSC". sdl-forum.org. Retrieved 2009-09-19.
- Øystein Haugen. "MSC 2000". Ericsson. Retrieved 2009-09-19.
- "What is new in MSC 2000 relative to MSC 96.". sdl-forum.org. Retrieved 2009-09-19.
- Ekkart Rudolph, Jens Grabowski, Peter Graubmann (1999). "Towards a Harmonization of UML-Sequence Diagrams and MSC". University of Göttingen. Retrieved 2009-09-20.
- Øystein Haugen (June 2000). "UML 2.0 vs. SDL/MSC – Ericsson Position Statement". Ericsson. Retrieved 2009-09-19.
- David Harel (2003-04-08). "Message Sequence Charts". Retrieved 2009-09-20.
- David Harel (2005-02-22). "LSCs: Breathing Life into Message Sequence Charts". Formal Methods in System Design. Retrieved 2009-09-20.
- David Harel (2002). "Multiple instances and symbolic variables in executable sequence charts". Association for Computing Machinery. Retrieved 2009-09-20.
- ITU-T Recommendation Z.120 message sequence chart (MSC)
- Michel Reniers: “Message sequence charts – syntax and semantics”, PhD thesis, Eindhoven University of Technology, 1999