Jump to content

Message sequence chart

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Jerome Charles Potts (talk | contribs) at 20:27, 29 March 2013 (Link "interaction diagram" in intro). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
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.

A message sequence chart (or MSC) is an interaction diagram from the SDL family standardized by the International Telecommunication Union.

The main area of application for message sequence charts is as for communication behaviour in real-time systems, more specifically telecommunication electronic switching systems.

History

The first version of the MSC standard was released in 1992.[1]

The 1996 version added references, ordering and inlining expressions concepts, and introduced HMSC[2] (High-level Message Sequence Charts), which are the MSC way of expressing State diagrams.

The latest MSC 2000 version[3] added object orientation, refined the use of data and time in diagrams, and added the concept of remote method calls.[4]

Comparison to UML

UML Sequence Diagram looks very similar to the ITU-T MSC but 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 might not even be on the same machine.
  • 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.[5]

However, proponents of MSC such as Ericsson think that MSC is better than UML 2.0 for modelling large or complex systems.[6]

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.

To address what he sees as weaknesses in the MSC model, David Harel proposed an extension on the MSC standard called LSC (Live Sequence Charts).[7][8][9]

Tools

See also

References

  1. ^ "The history of MSC". sdl-forum.org. Retrieved 2009-09-19.
  2. ^ "HMSC". sdl-forum.org. Retrieved 2009-09-19.
  3. ^ Øystein Haugen. "MSC 2000" (PDF). Ericsson. Retrieved 2009-09-19.
  4. ^ "What is new in MSC 2000 relative to MSC 96". sdl-forum.org. Retrieved 2009-09-19.
  5. ^ Ekkart Rudolph, Jens Grabowski, Peter Graubmann (1999). "Towards a Harmonization of UML-Sequence Diagrams and MSC". University of Göttingen. Retrieved 2009-09-20.{{cite web}}: CS1 maint: multiple names: authors list (link)
  6. ^ Øystein Haugen (June 2000). "UML 2.0 vs. SDL/MSC – Ericsson Position Statement" (PDF). Ericsson. Retrieved 2009-09-19.
  7. ^ David Harel (2003-04-08). "Message Sequence Charts" (PDF). Retrieved 2009-09-20.
  8. ^ David Harel (2005-02-22). "LSCs: Breathing Life into Message Sequence Charts". Formal Methods in System Design. Retrieved 2009-09-20.
  9. ^ David Harel (2002). "Multiple instances and symbolic variables in executable sequence charts". Association for Computing Machinery. Retrieved 2009-09-20.