Message Sequence Charts Clive Jervis Rapporteur Z.120

advertisement
International Telecommunication Union
Message Sequence
Charts
Clive Jervis
Rapporteur Z.120
ITU-T Bangalore Workshop, 30-31st August 2001
Message Sequence Charts
ITU-T Standard Z.120
Topics:
• Overview
• Uses
• Language
• Future
• Summary
Current Version:
Previous Version:
Next Version:
Standard consists of:
• graphical grammar
• ASCII grammar
• static & dynamic semantics
• formal semantics, Annex B
• examples
UK
USA
RMTR
air_in
taxi_in
taxi_out
air_out
31.05.2016
MSC 2000
MSC ’96
MSC 2004
MSC is:
• used widely in industry
• has good tool support
• strong ties to other ITU languages
ITU-T - Bangalore Workshop, 30-31st August 2001
2
Overview
msc call_set_up
mobile_1
base_1
up_call_req
network
up_call_req
base_2
down_req
call_ack
call_ack
down_resp
up_call_resp
mobile_2
down_req
up_call_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
31.05.2016
ITU-T - Bangalore Workshop, 30-31st August 2001
3
UK
USA
MSCs in the Lifecycle
RMTR
air_in
MSCs Used Formally Throughout Lifecycle
taxi_in
taxi_out
air_out
System/Integration
Testing
ITU, ETSI Standards
UK
USA
RMTR
UK
air_in
USA
RMTR
air_in
taxi_in
taxi_in
taxi_out
Test Generation
air_out
START
MEETING
always takes
too long
PRESENT
ARGUMENTS
taxi_out
COMPANY X
OPINION
air_out
COMPANY Y
OPINION
MOTOROLA OPINION
AGREE
WITH
MOTOROLA
SUPERIOR
ARGUMENT
THROW OUT
IDEA
where the real
work is done
COFFEE
BREAK
-
PROPOSE
DECISION
MEETING
AGREES
well
deserved
LUNCH
System Requirements
Automation
Requires
Formal
Languages
TTCN
UK
RMTR
taxi_in
always takes
too long
PRESENT
ARGUMENTS
UK
USA
air_in
START
MEETING
USA RMTR
COMPANY X
OPINION
START
MEETING
COMPANY Y
OPINION
air_in
MOTOROLA OPINION
taxi_in
AGREE
WITH
MOTOROLA
SUPERIOR
ARGUMENT
THROW OUT
IDEA
COFFEE
BREAK
-
where the real
work is done
taxi_out
PROPOSE
DECISION
air_out
Test Generation
always takes
too long
PRESENT
ARGUMENTS
COMPANY X
OPINION
COMPANY Y
OPINION
MOTOROLA OPINION
THROW OUT
IDEA
MEETING
AGREES
LUNCH
taxi_out
air_out
-
well
deserved
AGREE
WITH
MOTOROLA
SUPERIOR
ARGUMENT
COFFEE
BREAK
where the real
work is done
Box
Testing
PROPOSE
DECISION
MEETING
AGREES
LUNCH
Box Requirements
well
deserved
TTCN
Code Generation
START
MEETING
ASN.1
Everywhere!
SDL Design
COMPANY Y
OPINION
MOTOROLA OPINION
THROW OUT
IDEA
-
AGREE
WITH
MOTOROLA
SUPERIOR
ARGUMENT
COFFEE
BREAK
where the real
work is done
Code Generation
Code
PROPOSE
DECISION
MEETING
AGREES
LUNCH
31.05.2016
alway s takes
too long
PRESENT
ARGUMENTS
COMPANY X
OPINION
well
deserv ed
ITU-T - Bangalore Workshop, 30-31st August 2001
4
MSC Uses
Formality Enables Useful Tool Support
UK
USA
RMTR
air_in
taxi_in
Requirements V&V
taxi_out
air_out
UK
START
MEETING
alway s takes
too long
PRESENT
ARGUMENTS
COMPANY X
OPINION
COMPANY Y
OPINION
MOTOROLA OPINION
THROW OUT
IDEA
AGREE
WITH
MOTOROLA
SUPERIOR
ARGUMENT
COFFEE
BREAK
-
USA
RMTR
air_in
where the real
work is done
taxi_in
SDL Tracing
taxi_out
air_out
PROPOSE
DECISION
MEETING
AGREES
well
deserv ed
LUNCH
UK
USA
RMTR
START
MEETING
air_in
alway s takes
too long
PRESENT
ARGUMENTS
taxi_in
taxi_out
air_out
COMPANY X
OPINION
SDL Verification
COMPANY Y
OPINION
MOTOROLA OPINION
AGREE
WITH
MOTOROLA
SUPERIOR
ARGUMENT
THROW OUT
IDEA
where the real
work is done
COFFEE
BREAK
-
PROPOSE
DECISION
MEETING
AGREES
well
deserv ed
LUNCH
UK
USA
RMTR
START
MEETING
air_in
taxi_out
air_out
always takes
too long
PRESENT
ARGUMENTS
taxi_in
COMPANY X
OPINION
TTCN Generation
COMPANY Y
OPINION
MOTOROLA OPINION
THROW OUT
IDEA
-
AGREE
WITH
MOTOROLA
SUPERIOR
ARGUMENT
COFFEE
BREAK
where the real
work is done
PROPOSE
DECISION
MEETING
AGREES
LUNCH
31.05.2016
well
deserved
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)
ITU-T - Bangalore Workshop, 30-31st August 2001
5
Basic Features
msc call_expiration
network
base
Time
Progresses
Downwards
initiate
handler
wait(5)
ready
• No linearity
• No synchronicity
• Interleaving
‘handle
call’
call_set_up
expired
terminate
• instance
• message
• timer
• co-region
31.05.2016
manager
• create
• reference
• local action
• stop
msc call_set_up
ITU-T - Bangalore Workshop, 30-31st August 2001
network
6
Semantics
• 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
mobile
base
network
identify
initialise
Semantics prescribes
no buffering mechanism
Three
traces!
31.05.2016
send initialise
receive initialise
receive identify
receive initialise
receive initialise
receive identify
receive identify
send identify
send initialise
ITU-T - Bangalore Workshop, 30-31st August 2001
7
High-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 >100 basic MSCs
structured through 3 levels
of high-level MSCs
31.05.2016
msc call_blocking
initiate_call
call_set_up
call_refused
call_proceeding
terminate_call
ITU-T - Bangalore Workshop, 30-31st August 2001
8
In-Line Expressions
Structuring event behaviour within an MSC
msc MyLife
infra
call_req
In-line expressions:
• alternative
• parallel
• optional
• loop
• exceptional
mobile_2
t(5)
alt
when idle
call_ack
Operands:
• non-deterministic choice
• may be guarded
• events interleaved with
those outside expression
31.05.2016
mobile_1
t
call_accept
otherwise
t
req_refused
ITU-T - Bangalore Workshop, 30-31st August 2001
9
Time 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
- “don’t care” values
31.05.2016
msc call_expiration(time_out: time)
base
network
manager
initiate
ready
@10:00
x := f(_, 5)
set_up(time_out + 3)
expired
(“z1”, _, x)
[5, 10]
terminate
ITU-T - Bangalore Workshop, 30-31st August 2001
10
Instance Decomposition
Splitting an Instance Into Constituent Processes
msc call
base
network
decomposed as
network_call
manager
initiate
ready
set_up
• Hierarchical view of processes
• Instance structure defined
in enclosing MSC Document
msc network_call
base_handler
manager_handler
ready
initiate
initiate_set_up
• Internal messages hidden in
upper view
31.05.2016
ITU-T - Bangalore Workshop, 30-31st August 2001
set_up
11
Other Features
MSC: a Comprehensive Specification Language
mscdocument network_manager
MSC Document
• module encapsulation
• all declarations
• definition of data interface
• inheritance/decomposition
msg initiate(integer, integer, bool);
call_set_up
call_proceeding
terminate_call
msc call
Control Flow
• alignment with UML
• method calls
• suspension regions
mobile
base_1
network
base_2
call initiate
set_up
Gates
• connecting messages
across boundaries
31.05.2016
inst base_handler(x : integer);
inst call_controller;
done
g
h
call_set_up
ITU-T - Bangalore Workshop, 30-31st August 2001
12
Future 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
Plenty to do
Please Contribute!
• 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
31.05.2016
ITU-T - Bangalore Workshop, 30-31st August 2001
13
Summary
Topics:
• Overview
• Uses
• Language
• Future
• Summary
UK
USA
RMTR
air_in
taxi_in
taxi_out
air_out
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
• Improved productivity comes through
automating manual processes
• Automation requires formal languages
31.05.2016
ITU-T - Bangalore Workshop, 30-31st August 2001
14
Download