Title: Message Sequence Charts
1Message Sequence Charts
- Clive Jervis
- Rapporteur Z.120
2Message Sequence Charts ITU-T Standard Z.120
- Current Version MSC 2000
- Previous Version MSC 96
- Next Version MSC 2004
- Standard consists of
- graphical grammar
- ASCII grammar
- static dynamic semantics
- formal semantics, Annex B
- examples
- Topics
- Overview
- Uses
- Language
- Future
- Summary
- MSC is
- used widely in industry
- has good tool support
- strong ties to other ITU languages
3Overview
msc call_set_up
mobile_2
base_1
mobile_1
network
base_2
up_call_req
up_call_req
down_req
down_req
call_ack
call_ack
up_call_resp
up_call_resp
down_resp
down_resp
- Intuitive, widespread informal use
- Focuses on external interactions rather than
internal behaviour - Only notation that shows complete system
interactions - Good for partial specifications - i.e. scenarios
- Can be used independently of other languages
- Universal data language interface
4MSCs in the Lifecycle
MSCs Used Formally Throughout Lifecycle
System/Integration Testing
ITU, ETSI Standards
Test Generation
System Requirements
TTCN
Automation Requires Formal Languages
Test Generation
Box Testing
Box Requirements
TTCN
Code Generation
ASN.1 Everywhere!
Code Generation
SDL Design
Code
5MSC Uses
Formality Enables Useful Tool Support
- 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)
Requirements VV
SDL Tracing
SDL Verification
TTCN Generation
6Basic Features
msc call_expiration
base
manager
network
Time Progresses Downwards
initiate
handler
wait(5)
ready
handle call
call_set_up
- No linearity
- No synchronicity
- Interleaving
expired
terminate
- instance
- message
- timer
- co-region
- create
- reference
- local action
- stop
msc call_set_up
network
7Semantics
- Single MSC defines a set of event traces
- Events interleaved
- Timing constraints can reduce possible traces
msc call_expiration
- A message consists of
- a send event
- a receive event
- Semantics prescribes
- no buffering mechanism
mobile
network
base
identify
initialise
receive initialise
send initialise
receive identify
Three traces!
send identify
receive identify
receive initialise
send initialise
receive initialise
receive identify
8High-Level MSCs
Structuring MSCs
- 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. feature may have gt100 basic
MSCs structured through 3 levels of high-level
MSCs
9In-Line Expressions
Structuring event behaviour within an MSC
- In-line expressions
- alternative
- parallel
- optional
- loop
- exceptional
- Operands
- non-deterministic choice
- may be guarded
- events interleaved with those outside
expression
10Time Constraints/Data
- Real-Time Constraints Message Contents
- Data Dependent Behaviour Parameterisation
- Time Constraints
- absolute (tracing)
- relative (specification)
- single point, intervals
- constrain regions
- Data
- static variables
- - parameterises MSC
- - global to MSC
- - also instances, etc.
- dynamic variables
- - local to instance
- - assigned in actions
- - declared MSC Document
- underspecification
- - dont care values
11Instance Decomposition
Splitting an Instance Into Constituent Processes
msc call
network decomposed as network_call
base
manager
initiate
ready
set_up
msc network_call
- Hierarchical view of processes
- Instance structure defined in enclosing MSC
Document - Internal messages hidden in upper view
manager_handler
base_handler
initiate
ready
initiate_set_up
set_up
12Other Features
MSC a Comprehensive Specification Language
- MSC Document
- module encapsulation
- all declarations
- definition of data interface
- inheritance/decomposition
msc call
- Control Flow
- alignment with UML
- method calls
- suspension regions
- Gates
- connecting messages across boundaries
mobile
base_2
base_1
network
call initiate
set_up
call_set_up
g
h
done
13Future Features
Z.120 MSC 2004
- Message Channels
- - superseding gates
- - organising messages through channels
- - buffering semantics
-
- Presentation Formats
- - TTCN Graphical presentation format, Z.142
- - semantic restrictions, e.g. tracing
- Formal Semantics, Z.120 Annex B
- - Currently compliant only with MSC 96
- Instantiations of Universal Data Interface
- - SDL interface scheduled 2002, Z.121
- - ASN.1 interface?
- - TTCN-3 interface?
- UML alignment
- - OMG UML v2.0 sequence diagrams
Plenty to do Please Contribute!
14Summary
- 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
- Topics
- Overview
- Uses
- Language
- Future
- Summary
- Improved productivity comes through
- automating manual processes
- Automation requires formal languages