Enriching SDL Specifications with MSCs

Enriching SDL Specifications
with MSCs
Ferhat Khendek
Concordia University
Montréal, Canada
Daniel Vincent
France Telecom R&D
France
This work is partially supported by France Telecom
1
Outline
•
Introduction
•
Enriching SDL specifications:
• What does it mean ?
• Formal definition
•
Approach for enriching SDL specifications
•
Example (ATM)
•
Discussion and future work
2
Introduction
• Software systems are evolving systems:
• Fix bugs
• Optimize algorithms
• Add new functions and/or new components
• Implementations are to be maintained
• Traditional maintenance process
SDL Specification
Code Generation
Implementation
Maintenance
3
• Code generators are available:
Why not maintain the SDL specification ?
SDL Specification
Maintenance
Code Generation (do
it as many times as
needed
Implementation
Introduction
4
• Here, we consider one kind of maintenance: Behavioral enrichment
• Enrich SDL specifications with behaviors described in MSC
Initial SDL Specification
MSC
?
New SDL Specification
Code Generation (do
it as many times as
needed
Implementation
Introduction
5
Enriching SDL specifications: What does it mean ?
• Add new functions (behaviors) without “invalidating” existing ones.
Initial SDL Specification
MSC
Relation ?
New SDL Specification
• The new SDL specification exhibits the behavior of the old one and the
MSC behavior without any new non-determinism.
• Enrich = Extend
6
system S1
block B1
[a]
P1
[a]
[c,d]
P2
process P1
[0, 1]
a/0
[0, 1]
a/-
process P2
so
s3
c
a
0
any
c
d
s4
s2
s1
Enriching SDL specifications: What does it mean ?
7
system S2
block B2
[a]
P1
[a]
[c,d]
P3
[0, 1]
a/0
a/1
[0, 1]
process P3
process P1
so
s3
a
any
c
c
d
0
1
d
s4
s5
s2
s1
Enriching SDL specifications: What does it mean ?
8
Enriching (Extending) SDL specifications:
Formal definition
S1
S2
Extends
Extends
…
…
…
Extends
…
…
…
Extends
* save
* (see paper for more formal definition)
9
process P2
process P1
s3
so
a
a
any
any
0
1
b
1
0
1
s2
1
s5
b
s1
s4
0
s7
P2 extends P1
Enriching SDL specifications: Formal definition ?
10
process P4
process P3
s3
so
a
b
a
0
s8
any
1
0
s1
1
1
s5
b
s4
0
P4 does not extend P3
s7
Enriching SDL specifications: Formal definition ?
11
Approach for enriching SDL specifications
MSC
Initial SDL Specification
1
Enrich the
Architecture
Initial SDL Specification S1
with enriched architecture
3
Combine
2
(The architecture only)
MSC2SDL
New behavior in SDL
New SDL Specification
12
Application (ATM)
Initial specification
block A TM_Block
SIGNAL
req_pin, processing_m sg, return_card,inv_pin_msg, timeout _msg,option, req_am ount ,
giv e_money, print _t rans,not_possible_msg, card, enter_pin, cancel,withdraw,ent_amount,
v alid,inv alid,amount_approved, not _approv ed,v erif y, abort ,approv e_amount;
Access
SignalRoute1
Req_pin,
Card,
Pr ocessing_msg,
Enter_pi n,
Return_Card,
cancel ,
inv_pin_msg,
wi thdraw,
ti meout_msg, ent_amount
option,
req_amount,
give_money,
print_trans,
not_possib le_msg
ATM
SignalRoute2
Bank
valid,invalid,
Veri fy,abort,
amount_approved, approve_amount
not_approved
13
Process ATM
Application (ATM)
14
Process Bank
Application (ATM)
15
New behavior
msc GetBalance
I2
I3
process ATM
process Bank
Options
GetBalance
Print_Balance
Req_Balance
Balance
Option
Options
Application (ATM)
16
inv_pin_msg,
getbalance,
withdraw,
timeout_msg,
option, ent_amount
print_balance,
req_amount,
give_money,
print_trans,
not_possible_msg
not_approved
Enriched architecture …
Application (ATM)
17
New behavior in SDL …
Application (ATM)
18
Extended ATM
process
Application (ATM)
19
Extended
Bank process
Application (ATM)
20
Discussion and future work
• Systematic approach for enriching SDL specifications with
new behaviors
• The form of the new MSC (or HMSC) is important …
(especially the conditions)
• Adding new process types, new blocks, …
• Properties of the extension relation …
• Other formal relations …
• Extend original MSC and then generate SDL or
extend SDL specification ?
21
Extending
MSCs
Discussion and future work
22