![]() |
![]() |
![]() |
![]() |
![]() |
The Message Sequence Chart Language
History
During the last years, ITU has made a considerable effort in standardizing a formal language which defines Message Sequence Charts (MSC). In the summer of 1992, a first version of the MSC recommendation Z.120 was published.
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 which is easy to understand.
There is an extended version of the MSC standard, called MSC'96, as defined in the current Z.120. In the SDL Suite, there is support for the most important MSC'96 extensions. See Compatibility with ITU MSC for more information.
Plain MSC
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 (see Figure 5). In an SDL specification, those messages would coincide with the signals which 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).
An MSC can reference another MSC using an MSC reference symbol. MSC references can for example be used to have one MSC describing an initialization sequence and then reference this MSC from a number of other MSCs.
The reference symbol may not only refer to an MSC but can also contain MSC reference expressions that reference more than one MSC. This construct gives a very compact MSC representation and it also provides an excellent means for reusability of certain MSCs.
By using inline operator expressions, several MSC scenarios can be composed in a single diagram. The same structures of events can be expressed as with MSC reference symbols.
High-Level MSC
A high-level MSC (HMSC) provides a means to graphically define how a set of MSCs can be combined. Contrary to plain MSCs, instances and messages are not shown within an HMSC, but it focus completely on the composition aspects. HMSCs can be hierarchically structured, i.e. it is possible to refine HMSCs by other HMSCs. The power of the MSC language is considerably improved with the new concepts introduced with HMSCs. It is e.g. much easier to specify a main scenario together with all accompanying exceptions.
Graphical and Textual Notations
The MSC language supports two notations which are equivalent. Besides the graphical notation (MSC-GR), a textual notation (MSC-PR) is standardized since the autumn of 1994.
Application Areas
Among the various application areas, we have selected the following:
- Producing documents with the purpose of defining the requirements of 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 which is easy to understand and which can later on be verified against a reference. Message Sequence Charts 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.
http://www.ibm.com/rational |
![]() |
![]() |
![]() |
![]() |