Message Sequence Chart
   HOME

TheInfoList



OR:

A message sequence chart (or MSC) is an interaction diagram from the SDL family standardized by the
International Telecommunication Union The International Telecommunication Union is a specialized agency of the United Nations responsible for many matters related to information and communication technologies. It was established on 17 May 1865 as the International Telegraph Unio ...
. 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 In computing, inline expansion, or inlining, is a manual or compiler optimization that replaces a function call site with the body of the called function. Inline expansion is similar to macro expansion, but occurs during compilation, without cha ...
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 A sequence diagram or system sequence diagram (SSD) shows process interactions arranged in time sequence in the field of software engineering. It depicts the processes involved and the sequence of messages exchanged between the processes needed ...
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 (lit. "Telephone Stock Company of LM Ericsson"), commonly known as Ericsson, is a Swedish multinational networking and telecommunications company headquartered in Stockholm. The company sells infrastructure, software, and services in inform ...
think that MSC is better than UML 2.0 for modelling large or complex systems.


Live Sequence Charts

David Harel David Harel ( he, דוד הראל; born 12 April 1950) is a computer scientist, currently serving as President of the Israel Academy of Sciences and Humanities. He has been on the faculty of the Weizmann Institute of Science in Israel since 1980, ...
suggested that MSC had shortcomings such as: * MSC propose a weak
partial ordering In mathematics, especially order theory, a partially ordered set (also poset) formalizes and generalizes the intuitive concept of an ordering, sequencing, or arrangement of the elements of a set. A poset consists of a set together with a binary r ...
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

{{reflist, 2


External links


ITU-T Recommendation Z.120
message sequence chart (MSC) Diagrams Formal specification languages Telephone exchanges Unified Modeling Language diagrams Software modeling language