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
© Copyright 2026 Paperzz