IBM
Contents Index Previous Next



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.

Figure 5 : An example of a simple Message Sequence Chart

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.

Figure 6 : Example of an HMSC

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:


http://www.ibm.com/rational
Contents Index Previous Next