IBM
Contents Index Previous Next



MSC Editor Specific Information


Pasting in MSC Diagrams

To paste, you select Paste from the Edit Menu. The rules for Paste will be described below.

When pasting the selection, the MSC Editor will process each individual object contained in the selection, adjust it to the grids if required and connect it, if feasible, to the "closest" object(s) in the drawing area.

If the MSC Editor fails in pasting some of the objects contained in the selection, the rest of the objects will nevertheless be pasted but without an error message being displayed.

Pasting of Multiple Objects

When pasting a selection that consists of multiple objects, the MSC Editor attempts, as long as feasible, to preserve the original appearance of the selection.

Pasting of Individual Objects

When pasting individual objects, the MSC Editor processes the objects as follows:

Adding Symbols

Adding an Instance Head Symbol

When you add an instance head symbol, an instance axis line is drawn that connects the symbol to the bottom of the drawing area. The instance axis line cannot be drawn manually. It will be truncated or elongated when you add or move an instance end or stop symbol upwards or downwards. See Adding an Instance End Symbol and Adding a Stop Symbol.

The instance head symbol has three text fields:

Figure 310 : The meaning of the instance head text fields

The ITU recommendation Z.120 discusses several ways of using the instance name and instance kind text fields. In the MSC Editor, the text fields are used as follows:
  • Basically, the instance kind reflects what kind of instance is represented. That is, an identifier which reflects the name of the corresponding SDL block/service/process/procedure; and an optional identifier which identifies if it is a block, a service or a process (the kind denominator).
  • The instance name reflects the current function of the instance.
  • The instance decomposition shows if the instance is in turn decomposed as a sub MSC. This text field is by default empty, but can contain the text decomposed or decomposed as <diagram name> to indicate that the instance is in turn decomposed. To decompose an instance, you select Decompose from the Edit menu.

Adding a Condition, MSC Reference or Inline Expression Symbol

A condition or MSC reference describes either a global system state referring to all instances contained in the MSC or a state referring to a subset of instances (a non-global condition or MSC reference). The minimum subset is a single instance.

For two MSCs, the second is a continuation of the first if its initial global condition is identical to the final global condition of the first. Identifying an intermediate global condition can be used when breaking down an MSC into two parts.

By means of non-global conditions, combinations of MSCs with different sets of instances can also be defined. The continuation then refers only to the common subset of instances.

The following general rule applies to the continuation of two MSCs (MSC1 and MSC2, with a non-empty common set of instances).

MSC2 is a continuation of MSC1 if, for each instance which both MSCs have in common:

An inline expression symbol is always global and connected to all instances. The inline expression symbol is created from two inline expression symbol parts:

Displaying and Modifying Status

To display and modify status, you select Status from the Edit menu.

Timer Status

Z.120 specifies two appearances for the timer symbol, depending on whether the timer has expired (i.e. time-out) or whether the timer is reset. The appearance of the timer is illustrated in Figure 311.

Figure 311 : Timer status

Separate Timer Status

Separate timer symbols has no need for an implicit reset. The timer can be set two times in a row without an implicit reset in-between.

Figure 312 : Separate Timer status

Displaying Information About the Selected MSC Object

To display information about a selected MSC object, you select Info Window from the Window menu.

This opens a dialog displaying additional information about the currently selected MSC object. The information that is available depends on what object is selected, and this is described in the table below.

Selected Object Information Available

Instance head

  • Instance name
  • Instance kind
  • Composition
  • Creating instance

Instance end

  • Instance kind

Stop

  • Instance kind

Process create

  • Creating instance
  • Created instance
  • When the instance was created1
  • SDL Referencea

Message output

(the message output is selected by clicking close to the message base)

  • Message name
  • Sending instance
  • Receiving instance
  • Message status =
  • When the message was sent (now)a
  • Message parameters
  • SDL Referencea

Message input

(the message input is selected by clicking close to the message end)

  • Message name
  • Sending instance
  • Receiving instance
  • Message status=
  • When the message was consumed
  • Message parameters
  • SDL Referencea

Timer

  • Timer name
  • Instance kind
  • Timer status=
    • Reset (stopped)
    • Implicit reset
    • Timeout
  • When the message was sent (now)a
  • Timer value (Set)
  • Timer parameters
  • SDL Referencea

Separate timer

  • Timer name
  • Instance kind
  • Timer status=
    • Set
    • Reset (stopped)
    • Timeout
  • When the message was consumed (now)a
  • Timer parameters
  • SDL Referencea

Action symbol

  • Instance kind
  • Action text
  • SDL Referencea

Condition

  • Condition or MSC reference name
  • Instances connected to the condition
  • SDL Referencea

MSC Reference symbol

  • Condition or MSC reference name
  • Instances connected to the condition

Text symbol

  • Symbol text

Comment symbol

  • Symbol text

Inline symbol

  • Instances connected
  • Operator (inline expression)
1

Only for diagrams created through a simulation.

2

A message is sent when it has been sent and received, but has not yet been consumed by the receiving instance. Typically, it is waiting in the receiving process input queue.

3

A message is consumed when it has been processed by the receiving instance.

Instance Ruler

When managing working on a long (vertically extended) MSC, the kind of instance in the instance head may not be visible in the drawing area.

The instance ruler (illustrated in Figure 313) shows the kind of the instance heads that are not currently visible in the drawing area. It reduces the amount of scrolling up or down when working on an MSC. The instance ruler may be shown or hidden with an option (see Instance Ruler).

Figure 313 : The instance ruler

Tracing a Simulation in a Message Sequence Chart

This section describes the functionality behind tracing a simulation in an MSC.

General

The MSC Editor may be used as a graphical trace tool, which features the automatic generation of an MSC from a simulation.

Defining the Scope of Trace

First, the scope of trace should, if necessary, be set to the unit which is currently of interest. This is done with the command Set-MSC-Trace.

The graphical trace is then started with a dedicated command from the simulator monitor. See Start-Interactive-MSC-Log. In response to this command, the following happens:

  1. In the Organizer, a reference to an MSC is added. The diagram is assigned an unique name.
  2. An instance of the MSC Editor window is activated on the newly created MSC.
  3. The current status for the simulation is presented by displaying all SDL process instances that exist at the time when ordering the command Start-Interactive-MSC-Log.

Mapping Between SDL and MSC

The mapping rules which govern how SDL events are transformed into MSC symbols, lines and textual elements are summarized in the following table:

SDL concept MSC Concept

Signal

  • Output
  • Input

Message

  • Sending
  • Consumption

Signal to self

  • Output
  • Input

Message to self

  • Sending
  • Consumption

Timer

  • Set
  • Reset
  • Implicit Reset
  • Input

Timer

  • Set
  • Reset
  • Implicit reset1
  • Time-out

Create a process

Process Create

Stop a process

Stop

Environment

Environment2

System
<system name>

Instance
<instance kind>

Substructure
<system name>

Instance
<instance kind>

Block
<block name>

Instance
<instance kind>

Process
<process name>
<instance number>

Instance
<instance kind>
<instance name>

State

Condition3

Task

Action4

Comment

Comment

1

See Implicit reset.

2

The system's environment is denoted by env_1

3

The mapping is only completely valid for a condition connected to only one instance. A condition connected to several instances expresses a logical AND-combination of the states of the processes corresponding to those instances.

4

The action symbol corresponds to a task symbol containing informal text. This translation is, however, not supported when generating an MSC from a simulation.

Generating the MSC

When running the simulation, each SDL event of interest (in the scope of MSC Trace) that takes place will cause the corresponding MSC symbol to be drawn in the drawing area of the MSC Editor.

Drawing Conventions

Layout

Default layout algorithms are used. Each event causes the insertion point to be translated downwards with one vertical spacing unit, keeping the intuitive feeling of absolute order between events. An event could be, for instance, the output or the input of an SDL signal. However, if an output event is immediately followed by an input event, no translation will take place.

Auto-Resizing of MSC

The MSC Editor will automatically enlarge the MSC size when the MSC has grown so that it reaches the bottom or right of the drawing area. The MSC is enlarged according to a preference parameter.

Messages

A distinction is made between the reception and the consumption of messages:

Create of Process

Each time an SDL process is dynamically created, a process create will be drawn from the source instance axis, and the created instance will be positioned according to the insert and grouping modes that is set. This guarantees that no overlapping instance axes will take place.

The MSC Editor will automatically enlarge the MSC size when the MSC has grown so that it reaches the bottom or right of the drawing area. The drawing area is enlarged according to the value of a preference parameter.

Process Stop

If an instance is stopped (by a stop symbol), the space which becomes available beneath the instance end symbol will not be reused for new instance axes.

Timers

Figure 314 : Timer status as shown on the MSC

Instances

Example 315 Instance Name and Instance Kind in Simulation Trace

Assume the simulation program contains an instance of the SDL diagram type = process with the diagram name = Demon and monitor instance number = 2 This would be displayed as the following instance:

Figure 315 : The use of the instance text fields in a simulation

Terminating the Trace

Having terminated the trace (either by stopping the simulation or turning the MSC trace off), you are responsible for saving the MSC(s) that are the results of the simulation.

1

Corresponding in this context means that both conditions refer to the same subset of instances and both conditions agree with respect to name.


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