![]() |
![]() |
![]() |
![]() |
![]() |
The Message Sequence Chart Language
History
During the last years, ITU has made a considerable effort in standardizing a formal language that defines message sequence charts (MSCs). A first version of the MSC recommendation was published in the summer of 1992.
As defined in the recommendation Z.120, the MSC language offers a powerful complement to SDL in describing the dynamic behavior of an SDL system. Its graphical representation is well suited for presenting a complex dynamic behavior in a clear and unambiguous way that is easy to understand.
Theoretical Model
An MSC describes one or more traces from one node to another node of an abstract communication tree generated from an SDL specification. Basically, the information interchange is carried out by sending messages from one instance to another. In an SDL specification, those messages would coincide with the signals that are sent from one process and consumed in another process. The instances would correspond to any part of the specification (an SDL system, a block or a process).
Graphical and Textual Notations
The MSC language supports two notations that are equivalent. Beside the graphical notation (MSC/GR), a textual notation (MSC/PR) is standardized.
Application Areas
Among several application areas, we have selected the following:
- Producing documents with the purpose of defining the requirements on a system.
- Facilitating the design phase, by identifying and documenting a multitude of dynamic cases before starting designing with SDL.
- Presenting the execution of a simulation as a graphical output. This output is easy to follow and can later be verified against a reference. MSCs can be verified against an SDL system using the SDL Suite.
- Presenting the execution trace of an SDL system during an interactive simulation and generation of reports.
- A convenient way to define test purposes, particularly in conjunction with the Autolink test generation features.
http://www.ibm.com/rational |
![]() |
![]() |
![]() |
![]() |