Title: Nonlocal Choice and Beyond: Intricacies of MSC Choice Nodes
1Non-local Choice and BeyondIntricacies of MSC
Choice Nodes
- Presenter To-ju Huang
- Supervisor Ingolf Krüger
Arjan J. Mooij, Nicolae Goga, Judi M.T.
Romijn, Non-local Choice and Beyond Intricacies
of MSC Choice Nodes. FASE 2005
2Outline
- Introduction
- Message Sequence Charts
- From MSC to Implementation
- Message Sequence Graphs
- Problematic Choice Nodes
- Dealing w/ Non-local Choice Nodes
- Summary
3Message Sequence Charts
- Capture system-wide behaviors
- Specify scenarios/requirements easily
4From MSC to Implementation
- Incompatibility
- MSC captures system-wise behaviors
- Real implementation is process-based
- Naïve implementation is problematic
- Ex. Deadlock, extra behaviors
- Core problem choice nodes
5Message Sequence Graphs
- hMSC hierarchy w/ depth 1
- For simplicity, choices nodes are made explicit
6Outline
- From MSC to Implementation
- Problematic Choice Nodes
- Non-local Choice
- Non-deterministic Choice
- Race Choice
- Dealing w/ Non-local Choice Nodes
- Summary
7Non-local Choice
- Non-local choice leads to deadlock!
choice
msc_base
msc_NLC
8Non-local Choice (contd)
9Non-deterministic Choice
- While message X is received, which MSC to execute?
choice
msc_base
msc_NLC
10Race Choice
- Z may arrive later than X and Q will make wrong
decision
choice
msc_base
msc_NLC
11Outline
- From MSC to Implementation
- Problematic Choice Nodes
- Dealing w/ Non-local Choice Nodes
- Traditional Approaches
- Relaxing
- Solution for 2-process Case
- Solution for N-process Case
- Summary
12Traditional Approaches
- Localize all choices
- Fail for autonomous processes
- Specify behaviors exhaustively
- Complicated, non-achievable
- Treat in implementation
- With coordination protocols
- Can humans be coordinated?
13Relax it a Little Bit!
- Allowing extra behaviors
- Keeps what you want, allowing the others if not
harmful - Makes systems implementable
- Delayed choice
- Parallelism allowed before decision made
- Converge later to local choice
- Its sometimes domain-specific!
142-process Solution
- Constraint branching bMSC must be
- RC-like (Request-Confirm scenario) or
- A-like (Announce scenario)
Arjan J. Mooij, Nicolae Goga, Dealing with
non-local choice in IEEE 1073.2s standard for
remote control,SAM 2004 SDL And MSC, LNCS 3319
152-process Solution (contd)
- Constraint choice node must be
162-process Solution (contd)
- Choices becomes local for arbiter Q
17N-process Solution (contd)
Customer cancels before banking system replies
Banking system replies before customer cancels
18N-process Solution
- Choose an arbiter process which is
- Non-human, early participated, common
- Split each branching MSC into 2 parts
- Front run in parallel with other fronts
- Tail where real choices are made
- After splitting, arbiter is able to make local
decision in these tails
19(No Transcript)
20N-process Solution (contd)
- Constraints for splitting
- Added parallelism is used in next choice
21N-process Solution (contd)
- Constraints for splitting
no e, if s1 ? s2
if event e
no e
no e
22Summary
- Its non-trivial from MSC to implementation for
choice nodes - With some relaxing,
- Easier to deal with non-local choices
- While main behaviors still hold
- However, relaxing
- Sometimes domain-specific
- Should be checked carefully
23