Difference between revisions of "MSC tutorial"

From TASTE
Jump to: navigation, search
(Introduction)
(Message)
Line 39: Line 39:
  
 
A message is a signal optionally containing parameters, and that corresponds to an asynchronous interaction between two instances.
 
A message is a signal optionally containing parameters, and that corresponds to an asynchronous interaction between two instances.
 +
 +
:[[File:ClipCapIt-210224-144707.PNG]]
 +
 +
In the textual form messages appear inside the two instance definitions being part of the communication (sender and receiver:
 +
 +
instance Operator;
 +
  out Change_Mode(safe) to Mode_Manager;
 +
endinstance;
 +
 +
instance Mode_Manager;
 +
  in Change_Mode(safe) from Operator;
 +
endinstance;
 +
 +
The parameter of the message ("safe" in that example) follows the ASN.1 Value Notation syntax. The messages are all declared at the beginning of the MSC file and parameters reference a type declaration in an ASN.1 model:
 +
 +
language ASN.1;
 +
data DataView.asn;
 +
msg Change_Mode : (System-Modes);
 +
 +
''NOTE: the MSC standard allows other notations and in principle the message parameters could take any form, including informal text - however from a tool standpoint, parsers require to rely on a well-defined notation so ASN.1 is used in practice.''

Revision as of 13:54, 24 February 2021

Introduction

MSC stands for Message Sequence Chart and it is a standard from the ITU-T: https://www.itu.int/rec/T-REC-Z.120.

The MSC standard describes a language used to capture a system's operational scenarios in a formal way, with the support of both a textual and graphical representation.

This is an example of a basic MSC chart:

ClipCapIt-210224-141633.PNG

There are two major uses of MSC in a system development lifecycle:

  • For the specification of the expected behaviour of a system and production of validation material
  • For the observation and recording of the actual system behaviour

The following sections present the language semantics and syntax, and the use of MSC within TASTE.

Basic MSC Concepts

Basic MSC represent scenarios of operation that exhibit the system components and their interactions.

Environment

The environment of a system is represented by a box around the diagram. The environment corresponds to any entity that can send messages to the instances that are visible in the current MSC chart.

Instance

An instance in a MSC is represented by a box and a vertical line. It corresponds to a component of the system.

ClipCapIt-210224-142807.PNG

In its textual form, an instance is declared like this:

instance Ground_Segment;
...
endinstance;

Message

A message is a signal optionally containing parameters, and that corresponds to an asynchronous interaction between two instances.

ClipCapIt-210224-144707.PNG

In the textual form messages appear inside the two instance definitions being part of the communication (sender and receiver:

instance Operator;
  out Change_Mode(safe) to Mode_Manager;
endinstance;

instance Mode_Manager;
  in Change_Mode(safe) from Operator; 
endinstance;

The parameter of the message ("safe" in that example) follows the ASN.1 Value Notation syntax. The messages are all declared at the beginning of the MSC file and parameters reference a type declaration in an ASN.1 model:

language ASN.1;
data DataView.asn;
msg Change_Mode : (System-Modes);

NOTE: the MSC standard allows other notations and in principle the message parameters could take any form, including informal text - however from a tool standpoint, parsers require to rely on a well-defined notation so ASN.1 is used in practice.