Lei Bu Message Sequence Chart. MSCs Message sequence chart (MSC) is a graphical and textual language...

69
Lei Bu Message Sequence Chart

Transcript of Lei Bu Message Sequence Chart. MSCs Message sequence chart (MSC) is a graphical and textual language...

Page 1: Lei Bu Message Sequence Chart. MSCs Message sequence chart (MSC) is a graphical and textual language for the description and specification of the interactions.

Lei Bu

Message Sequence Chart

Page 2: Lei Bu Message Sequence Chart. MSCs Message sequence chart (MSC) is a graphical and textual language for the description and specification of the interactions.

MSCs

Message sequence chart (MSC) is a graphical and textual language for the description and specification of the interactions between system components.

The main area of application for MSCs is as overview specification of the communication behavior of real-time systems, in particular telecommunication switching systems.

Page 3: Lei Bu Message Sequence Chart. MSCs Message sequence chart (MSC) is a graphical and textual language for the description and specification of the interactions.

MSCs represent typical execution scenarios, providing examples of either normal or exceptional executions of the proposed system.

The MSC standard as defined by ITU-T in Recommendation Z.120 (International Telecommunication Union - Telecommunication Standardization) 

basic MSCs and High-Level MSCs.

Page 4: Lei Bu Message Sequence Chart. MSCs Message sequence chart (MSC) is a graphical and textual language for the description and specification of the interactions.

Click

Click

Keyboard

Click(digit)

Retrieve(digit)

Call(number)

signal

signal not busy

Sent

number

Send Key

Page 5: Lei Bu Message Sequence Chart. MSCs Message sequence chart (MSC) is a graphical and textual language for the description and specification of the interactions.

mobile_2base_1mobile_1 network base_2

msc call_set_up

up_call_requp_call_req

down_reqdown_req

up_call_respup_call_resp

call_ackcall_ack

down_respdown_resp

Page 6: Lei Bu Message Sequence Chart. MSCs Message sequence chart (MSC) is a graphical and textual language for the description and specification of the interactions.
Page 7: Lei Bu Message Sequence Chart. MSCs Message sequence chart (MSC) is a graphical and textual language for the description and specification of the interactions.

req req

ack nack

addr

val

CPU mem CPUMem

MSC 1 MSC 2

Page 8: Lei Bu Message Sequence Chart. MSCs Message sequence chart (MSC) is a graphical and textual language for the description and specification of the interactions.

Concurrency modeling

Depicts concurrently executing processes (the vertical lines).

Processes communicate via a explicit message passing (instead of shared variables).

Realistic MSCs will also contain data attributes as part of the exchanged msg

Page 9: Lei Bu Message Sequence Chart. MSCs Message sequence chart (MSC) is a graphical and textual language for the description and specification of the interactions.

Message Attributes

req

ack

Addr(a)

v := lookup(a)val(v)

CPU Mem

Page 10: Lei Bu Message Sequence Chart. MSCs Message sequence chart (MSC) is a graphical and textual language for the description and specification of the interactions.

Internal Computations

req

ack

Addr(a)

v := lookup(a)val(v)

CPU Mem

Internal Action

Page 11: Lei Bu Message Sequence Chart. MSCs Message sequence chart (MSC) is a graphical and textual language for the description and specification of the interactions.

Basic MSCs

A basic MSC describes exactly one scenario, which consists of a set of processes that run in parallel and exchange messages in a one to one, asynchronous fashion

Page 12: Lei Bu Message Sequence Chart. MSCs Message sequence chart (MSC) is a graphical and textual language for the description and specification of the interactions.

MSC visual notation

P1 P3P2

M1

M2

M3

M4

M5

M6

Page 13: Lei Bu Message Sequence Chart. MSCs Message sequence chart (MSC) is a graphical and textual language for the description and specification of the interactions.

MSC Textual form

msc MSC;

inst P1: process Root,

P2: process Root,

P3: process Root;

instance P1;

out M1 to P2;

in M5 from P2;

in M6 from P3;

endinstance;

instance P2;

in M1 from P1;

out M2 to P3;

out M3 to P3;

in M4 from P3;

out M5 to P1;

endinstance;

P1 P3P2M1

M2M3M4

M5M6

instance P3; in M2 from P2; in M3 from P2; out M4 to P2; out M6 to P1; endinstance;endmsc;

Page 14: Lei Bu Message Sequence Chart. MSCs Message sequence chart (MSC) is a graphical and textual language for the description and specification of the interactions.

Visual order semantics

P1 P3P2M1

M2M3M4

M5M6

s s

s

s

s

r

r

r

r

r

r

s M1

M2

M3

M4

M5

M6

Page 15: Lei Bu Message Sequence Chart. MSCs Message sequence chart (MSC) is a graphical and textual language for the description and specification of the interactions.

A bMSC is a tuple where P is a finite set of processes; E is a finite set of events corresponding to sending a message

and receiving a message. M is a finite set of messages. Each Message in M is of the form

where e, e’corresponds to sending and receiving the message respectively, and g is the message name which is a character string.

is a labeling function which maps each event eto a process L(e) V is a finite set whose elements are a pair (e,e’) where e, e’and

e precedes e’, which is corresponding to a visual order;

Page 16: Lei Bu Message Sequence Chart. MSCs Message sequence chart (MSC) is a graphical and textual language for the description and specification of the interactions.

The semantics of a bMSC essentially consists of sequences (of traces) of messages that are sent and received among the concurrent processes in the bMSC.

The order of communication events (i.e.message sending or receiving) in a trace is deduced from the visual partial order determined by the flow of control within each process in the bMSC along with a causal dependency between the events of sending and receiving a message.

Page 17: Lei Bu Message Sequence Chart. MSCs Message sequence chart (MSC) is a graphical and textual language for the description and specification of the interactions.

We use event sequences to represent the traces of bMSCs which are corresponding to the untimed behavior of bMSCs. Any event sequence is of the form …, which represents thattakes place after for any i ().

Page 18: Lei Bu Message Sequence Chart. MSCs Message sequence chart (MSC) is a graphical and textual language for the description and specification of the interactions.

Let be a bMSC. An event sequence … is a trace of D if and only if the following conditions hold: All events in E occur in the sequence, and each

event occurs only once, i.e. {…}=E and for any i,j (); and

…satisfy the visual order defined by V, i.e. for any , if () .

Page 19: Lei Bu Message Sequence Chart. MSCs Message sequence chart (MSC) is a graphical and textual language for the description and specification of the interactions.

Visual semantics

Sends before corresponding receives.

Events on the same process line execute in order of appearance, from top to bottom.

Page 20: Lei Bu Message Sequence Chart. MSCs Message sequence chart (MSC) is a graphical and textual language for the description and specification of the interactions.

Visual order (wysiwyg)

If some event (send, receive) is higher on the line than another, it comes first.

Sends precede matching receives.

P1 P3P2M1

M2M3M4

M5M6

Page 21: Lei Bu Message Sequence Chart. MSCs Message sequence chart (MSC) is a graphical and textual language for the description and specification of the interactions.

Visual order (wysiwyg)

P1 P3P2M1

M2M3M4

M5M6

s s

s

s

s

r

r

r

r

r

r

s M1

M2

M3

M4

M5

M6

Page 22: Lei Bu Message Sequence Chart. MSCs Message sequence chart (MSC) is a graphical and textual language for the description and specification of the interactions.

Causal Order and Races

•Causality: Sends before matching receive.

•Controlability: Receive or sends before sends of same process.

•FIFO order: Two receives on the same process sent from the same process.

P1 P3P2M1

M2M3M4

M5M6

Races: check if every pair of events ordered by the visual order appears in the transitive closure of the causal order.

Page 23: Lei Bu Message Sequence Chart. MSCs Message sequence chart (MSC) is a graphical and textual language for the description and specification of the interactions.

Races

P1 P3P2M1

M2M3M4

M5M6

P1 P3P2M1

M2M3M4

M5M6

Page 24: Lei Bu Message Sequence Chart. MSCs Message sequence chart (MSC) is a graphical and textual language for the description and specification of the interactions.

P2P1 P3

M1M2

M3

M4M5

M6

M1

M2

M3

M4

M5

M6

P1 P2 P3Finding races:

Rules: order between

- receive and a later send.- two sends from same process.- send and corresponding receive.- fifo order.

Page 25: Lei Bu Message Sequence Chart. MSCs Message sequence chart (MSC) is a graphical and textual language for the description and specification of the interactions.

Causal Order

P1 P3P2M1

M2M3M4

M5M6

s s

s

s

s

r

r

r

r

r

r

s M1

M2

M3

M4

M5

M6

Page 26: Lei Bu Message Sequence Chart. MSCs Message sequence chart (MSC) is a graphical and textual language for the description and specification of the interactions.

Calculating the transitive closure

Structure (E, R). E – Events, R E E. R* The transitive closure. Defined as

follows:a R*b if there is a sequencex1 x2 … xn where a=x1, b=xn,and xi R xi+1 for 1i<n.

Page 27: Lei Bu Message Sequence Chart. MSCs Message sequence chart (MSC) is a graphical and textual language for the description and specification of the interactions.

Combining MSCs

Models a single scenario and states its possible execution in the system implementation.

How could we use MSCs to model the behavior of a concurrent system ?

One attempt is to describe the system behavior as a graph of MSCs.

Each node of this graph is a MSC. We call such graphs as Message Sequence Graphs (MSG).

Page 28: Lei Bu Message Sequence Chart. MSCs Message sequence chart (MSC) is a graphical and textual language for the description and specification of the interactions.

P1 P3P2 P1 P3P2

P1 P3P2P1 P3P2

connect approve

failreq_service

report

Page 29: Lei Bu Message Sequence Chart. MSCs Message sequence chart (MSC) is a graphical and textual language for the description and specification of the interactions.

connect approve

fail

report Req_service

A

C D

B

Execution: ACACD

connect

connect

fail

fail

Req_service

report

report

Page 30: Lei Bu Message Sequence Chart. MSCs Message sequence chart (MSC) is a graphical and textual language for the description and specification of the interactions.

MSG - Visually

req

ack

addr

val

nack

M1

M2M3

Page 31: Lei Bu Message Sequence Chart. MSCs Message sequence chart (MSC) is a graphical and textual language for the description and specification of the interactions.

Choice and Concatenation

Choice of scenarios at a certain point in system execution modeled by several outgoing branches M1 M2 and M1 M3

Concatenation of MSCs (by following the edges in the MSG) produces infinite execution traces.

Client Server

Page 32: Lei Bu Message Sequence Chart. MSCs Message sequence chart (MSC) is a graphical and textual language for the description and specification of the interactions.

More on concatenation

Synchronous concatenation All processes synchronize at the end of each MSC (a

node of the MSG) For any edge M1 M2

All events in M1 happen before all events in M2 Costly to implement since the natural control flow in a

process is disrupted by the termination of a MSC (requiring handshake with other processes).

Page 33: Lei Bu Message Sequence Chart. MSCs Message sequence chart (MSC) is a graphical and textual language for the description and specification of the interactions.

Synchronous concatenation

s1

r1

s2r2

s1 < r1 < s2 < r2

Page 34: Lei Bu Message Sequence Chart. MSCs Message sequence chart (MSC) is a graphical and textual language for the description and specification of the interactions.

An alternative concentation

Asynchronous concatenation If M1 M2 is an edge in the MSG, then concatenate M1

and M2 process by process If a process finishes its role in M1 ahead of others, it can

start executing M2 Amenable to efficient distributed implementation.

Page 35: Lei Bu Message Sequence Chart. MSCs Message sequence chart (MSC) is a graphical and textual language for the description and specification of the interactions.

Asynchronous concatenation

s1

r1

s2r2

s1 < r1

s2 < r2

s1 < s2

Is r1 < s2 ??

Page 36: Lei Bu Message Sequence Chart. MSCs Message sequence chart (MSC) is a graphical and textual language for the description and specification of the interactions.

Hierarchical MSC (HMSC)

Improves MSGs by incorporating hierarchy. A graph, each node of which is:

a Message Sequence Chart, or a HMSC

Clearly a MSG can appear as a node of HMSC. Different nodes in the graph can be labeled by the same

HMSC The HMSC is like a subprogram which is invoked in

various contexts.

Page 37: Lei Bu Message Sequence Chart. MSCs Message sequence chart (MSC) is a graphical and textual language for the description and specification of the interactions.

HMSC example

Th1 CPU Th2

CPU-Mem MSG

data

Th1 CPUCPU-Mem MSG can be invoked in another context involving thread Th2.

Page 38: Lei Bu Message Sequence Chart. MSCs Message sequence chart (MSC) is a graphical and textual language for the description and specification of the interactions.

MSG - Recap

req

ack

addr

val

nack

M1

M2M3

Page 39: Lei Bu Message Sequence Chart. MSCs Message sequence chart (MSC) is a graphical and textual language for the description and specification of the interactions.

High-Level MSCsmsc call_blocking

initiate_call

call_refusedcall_set_up

terminate_call

call_proceeding

References can be to• basic MSCs or• high-level MSCs

• start point• end point• reference• branching• looping• parallel (not shown)• guards (not shown)

Single telecom. featuremay have >100 basic MSCsstructured through 3 levels

of high-level MSCs

Page 40: Lei Bu Message Sequence Chart. MSCs Message sequence chart (MSC) is a graphical and textual language for the description and specification of the interactions.

Extended/Related Models

UML Sequence Diagram Live Sequence Chart Timed MSC

Page 41: Lei Bu Message Sequence Chart. MSCs Message sequence chart (MSC) is a graphical and textual language for the description and specification of the interactions.

In-Line Expressions

In-line expressions: • alternative• parallel• optional• loop• exceptional

Operands:• non-deterministic choice• may be guarded• events interleaved with those outside expression

msc MyLife

mobile_1 mobile_2infra

req_refused

alt

call_req

t(5)

t

t

when idle

otherwise

call_ack

call_accept

Structuring event behaviour within an MSC

Page 42: Lei Bu Message Sequence Chart. MSCs Message sequence chart (MSC) is a graphical and textual language for the description and specification of the interactions.

Time Constraints:• absolute (tracing)• relative

(specification)• single point, intervals• constrain regions

Time Constraints/Data

base managernetwork

set_up(time_out + 3)

terminateexpired(“z1”, _, x)

initiate

ready

msc call_expiration(time_out: time)

[5, 10]

@10:00

x := f(_, 5)

• Real-Time Constraints • Message Contents• Data Dependent Behaviour

Data:• static variables

- parameterises MSC- global to MSC- also instances, etc.

• dynamic variables- local to instance- assigned in actions- declared MSC Document

• underspecification- “don’t care” values

Page 43: Lei Bu Message Sequence Chart. MSCs Message sequence chart (MSC) is a graphical and textual language for the description and specification of the interactions.

Instance Decomposition

base manager

initiate

ready

msc call

set_up

networkdecomposed as

network_call

base_handler manager_handler

initiate

msc network_call

set_up

ready

initiate_set_up

Splitting an Instance Into Constituent Processes

• Hierarchical view of processes

• Instance structure defined in enclosing MSC Document

• Internal messages hidden in upper view

Page 44: Lei Bu Message Sequence Chart. MSCs Message sequence chart (MSC) is a graphical and textual language for the description and specification of the interactions.

Scenario-based Stories about the system

MSCs: (Message Sequence Charts)inter-object behavior(one story for all relevant objects)

LSC

Page 45: Lei Bu Message Sequence Chart. MSCs Message sequence chart (MSC) is a graphical and textual language for the description and specification of the interactions.

may/must; can/always; fragmental and overlapping scenarios; anti-scenarios; etc.

But,… we need richer requirements

Page 46: Lei Bu Message Sequence Chart. MSCs Message sequence chart (MSC) is a graphical and textual language for the description and specification of the interactions.

Live sequence charts (LSC’s)

“LSC’s: Breathing Life into Message Sequence

Charts” (Damm & Harel, ‘98 )

A natural extension of classical MSCs, with modalities (universal/existential, hot/cold, etc.) and structure (subcharts, conditionals, loops, etc.)

Page 47: Lei Bu Message Sequence Chart. MSCs Message sequence chart (MSC) is a graphical and textual language for the description and specification of the interactions.

Basic form of an LSC

prechart (if)

main chart (then)

Page 48: Lei Bu Message Sequence Chart. MSCs Message sequence chart (MSC) is a graphical and textual language for the description and specification of the interactions.

• Subcharts

• Loops

• Cold conditions enable control structures

• Hot conditions enable anti-scenarios:

Page 49: Lei Bu Message Sequence Chart. MSCs Message sequence chart (MSC) is a graphical and textual language for the description and specification of the interactions.

MSG - Recap

req

ack

addr

val

nack

M1

M2M3

Page 50: Lei Bu Message Sequence Chart. MSCs Message sequence chart (MSC) is a graphical and textual language for the description and specification of the interactions.

req

ack

addr

val

nack

M1

M2M3

Mem.busyMem.busy

MemCPU

MemCPUCPU Mem

Page 51: Lei Bu Message Sequence Chart. MSCs Message sequence chart (MSC) is a graphical and textual language for the description and specification of the interactions.

A Universal chart

CPU Mem

nack

1. Mem.busy is the activation condition (AC)

2. If the AC holds, then this chart must be executed.

3. But the AC need not be true in every execution.

Mem.busy

Page 52: Lei Bu Message Sequence Chart. MSCs Message sequence chart (MSC) is a graphical and textual language for the description and specification of the interactions.

Pre-charts

The trigger of a universal chart need simply be an activation condition.

Can be an activation message: when it is received the chart is required to be activated.

Can even be another full blown chart (a pre-chart). This chart can contain msg send/recv, conditions.

Once the pre-chart is executed, the universal chart is required to follow.

Page 53: Lei Bu Message Sequence Chart. MSCs Message sequence chart (MSC) is a graphical and textual language for the description and specification of the interactions.

Example of Pre-chart

Mem.busy = true

reqCPU

Mem

nack

Pre-chart

Univ. chart

Concatenation

CPU Mem

Page 54: Lei Bu Message Sequence Chart. MSCs Message sequence chart (MSC) is a graphical and textual language for the description and specification of the interactions.

Timed extension

Scenario-based specifications (SBSs) offer an intuitive and visual way of describing design requirements. Message sequence charts(MSCs) UML interaction models

For real-time systems, timing constraints are introduced into SBSs to describe timed behaviors.

Page 55: Lei Bu Message Sequence Chart. MSCs Message sequence chart (MSC) is a graphical and textual language for the description and specification of the interactions.

SBSs

SBSs consist of UML sequence diagrams (SDs) and UML2.0 interaction overview diagrams (IODs).

We use the SD to describe exactly one scenario without alternatives and loops, and the IOD which combines references to SDs to describe sequential, iterating and non-deterministic executions of SDs.

Page 56: Lei Bu Message Sequence Chart. MSCs Message sequence chart (MSC) is a graphical and textual language for the description and specification of the interactions.

Case Study

ATM

Page 57: Lei Bu Message Sequence Chart. MSCs Message sequence chart (MSC) is a graphical and textual language for the description and specification of the interactions.

Motivation

Describing timing constraints related to the separation in time between two events. timers , interval delays, timing marks

To describe timing constraints which are about the relation among multiple separations in time between events.

Checking SBSs for timing consistency To check more properties

properties about the accumulated delays on the traces of systems

Page 58: Lei Bu Message Sequence Chart. MSCs Message sequence chart (MSC) is a graphical and textual language for the description and specification of the interactions.

Timing Constraints

The timing constraints enforced on SDs describe the relations among multiple separations in time between events.

a ≤ c0(e0-e0’)+c1(e1-e1’)+…+cn(en-en’) ≤ b

separation separation separation

Page 59: Lei Bu Message Sequence Chart. MSCs Message sequence chart (MSC) is a graphical and textual language for the description and specification of the interactions.

Timing Constraints

The timing constraints enforced on SDs describe the relations among multiple separations in time between events.

a ≤ c0(e0-e0’)+c1(e1-e1’)+…+cn(en-en’) ≤ b

The timing constraints enforced on IODs describe the timed relations between two events from different sequence diagrams.

a ≤ e-e’≤ b

Page 60: Lei Bu Message Sequence Chart. MSCs Message sequence chart (MSC) is a graphical and textual language for the description and specification of the interactions.

Reachability analysis

To check if a given scenario of an SBS is reachable along a behavior of the SBS with regard to all the

timing constraints.

Page 61: Lei Bu Message Sequence Chart. MSCs Message sequence chart (MSC) is a graphical and textual language for the description and specification of the interactions.

Constraint conformance analysis

To check if the given several scenarios, which occur consecutively in the behavior of an SBS, satisfy a given

timing constraint.

a ≤ c0(e0-e0’)+c1(e1-e1’)+…+cn(en-en’) ≤ b

Page 62: Lei Bu Message Sequence Chart. MSCs Message sequence chart (MSC) is a graphical and textual language for the description and specification of the interactions.

Bounded delay analysis

To check if the separation in time between two given events, which may occur in different sequence diagrams, is not smaller or greater than a given real number in any behavior of an SBS.

Page 63: Lei Bu Message Sequence Chart. MSCs Message sequence chart (MSC) is a graphical and textual language for the description and specification of the interactions.

Consistency Checking

Page 64: Lei Bu Message Sequence Chart. MSCs Message sequence chart (MSC) is a graphical and textual language for the description and specification of the interactions.
Page 65: Lei Bu Message Sequence Chart. MSCs Message sequence chart (MSC) is a graphical and textual language for the description and specification of the interactions.

Existency Checking

Page 66: Lei Bu Message Sequence Chart. MSCs Message sequence chart (MSC) is a graphical and textual language for the description and specification of the interactions.
Page 67: Lei Bu Message Sequence Chart. MSCs Message sequence chart (MSC) is a graphical and textual language for the description and specification of the interactions.

MSCs in the Lifecycle

SDL DesignSpecification and

Description Language

BoxTesting

System/IntegrationTesting

Code Generation

START

-

always takes too long

MEETING

PRESENT ARGUMENTS

COMPANY X OPINION

MOTOROLA OPINION

THROW OUT IDEA

COMPANY Y OPINION

AGREESUPERIOR ARGUMENT

COFFEE BREAK

where the real work is done

PROPOSE DECISION

MEETING AGREES

LUNCHwell deserved

MOTOROLAWITH

UK USA RMTR

air_intaxi_in

taxi_out

air_out

START

-

always takes too long

MEETING

PRESENT ARGUMENTS

COMPANY X OPINION

MOTOROLA OPINION

THROW OUT IDEA

COMPANY Y OPINION

AGREESUPERIOR ARGUMENT

COFFEE BREAK

where the real work is done

PROPOSE DECISION

MEETING AGREES

LUNCHwell deserved

MOTOROLAWITH

START

-

always takes too long

MEETING

PRESENT ARGUMENTS

COMPANY X OPINION

MOTOROLA OPINION

THROW OUT IDEA

COMPANY Y OPINION

AGREESUPERIOR ARGUMENT

COFFEE BREAK

where the real work is done

PROPOSE DECISION

MEETING AGREES

LUNCHwell deserved

MOTOROLAWITH

ITU, ETSI Standards

UK USA RMTR

air_intaxi_in

taxi_out

air_out

UK USA RMTR

air_intaxi_in

taxi_out

air_out

UK USA RMTR

air_intaxi_in

taxi_out

air_out

UK USA RMTR

air_intaxi_in

taxi_out

air_out

Code

TTCN

TTCN

Test Generation

Code Generation

Box Requirements

System Requirements

MSCs Used Formally Throughout Lifecycle

AutomationRequiresFormalLanguages

START

-

always takes too long

MEETING

PRESENT ARGUMENTS

COMPANY X OPINION

MOTOROLA OPINION

THROW OUT IDEA

COMPANY Y OPINION

AGREESUPERIOR ARGUMENT

COFFEE BREAK

where the real work is done

PROPOSE DECISION

MEETING AGREES

LUNCHwell deserved

MOTOROLAWITH

Test Generation

Page 68: Lei Bu Message Sequence Chart. MSCs Message sequence chart (MSC) is a graphical and textual language for the description and specification of the interactions.

START

-

always takes too long

MEETING

PRESENT ARGUMENTS

COMPANY X OPINION

MOTOROLA OPINION

THROW OUT IDEA

COMPANY Y OPINION

AGREESUPERIOR ARGUMENT

COFFEE BREAK

where the real work is done

PROPOSE DECISION

MEETING AGREES

LUNCHwell deserved

MOTOROLAWITH

START

-

always takes too long

MEETING

PRESENT ARGUMENTS

COMPANY X OPINION

MOTOROLA OPINION

THROW OUT IDEA

COMPANY Y OPINION

AGREESUPERIOR ARGUMENT

COFFEE BREAK

where the real work is done

PROPOSE DECISION

MEETING AGREES

LUNCHwell deserved

MOTOROLAWITH

Verification & Validation:• feature interactions• race conditions• tracing

Tracing:• model validation• application code validation• test validation

Design Verification:• model checking• SDL upholds MSCs

Test Generation:• conformance testing• test purposes (one-2- many)• test specification (one-2-one)

MSC Uses

UK USA RMTR

air_intaxi_in

taxi_out

air_out

UK USA RMTR

air_intaxi_in

taxi_out

air_out

SDL Tracing

UK USA RMTR

air_intaxi_in

taxi_out

air_out

UK USA RMTR

air_intaxi_in

taxi_out

air_out

START

-

always takes too long

MEETING

PRESENT ARGUMENTS

COMPANY X OPINION

MOTOROLA OPINION

THROW OUT IDEA

COMPANY Y OPINION

AGREESUPERIOR ARGUMENT

COFFEE BREAK

where the real work is done

PROPOSE DECISION

MEETING AGREES

LUNCHwell deserved

MOTOROLAWITH

Requirements V&V

TTCN Generation

SDL Verification

Formality Enables Useful Tool Support

Page 69: Lei Bu Message Sequence Chart. MSCs Message sequence chart (MSC) is a graphical and textual language for the description and specification of the interactions.

Summary

MSC is a rich language• suitable for requirements specification• many uses across lifecycle• ‘engineer friendly’ language• used in telecom standards

Good tool support• getting more sophisticated• industrial use• integrated with SDL, TTCN tools

Standardisation Continues• interesting problems to work on• good forum for insight, new ideas• learn latest methods/technology