1 / 14

Message Sequence Charts

Message Sequence Charts. Clive Jervis Rapporteur Z.120. UK. USA. RMTR. air_in. taxi_in. Z.120. taxi_out. air_out. Message Sequence Charts ITU-T Standard Z.120. Current Version: MSC 2000 Previous Version: MSC ’96 Next Version: MSC 2004 Standard consists of: graphical grammar

penaloza
Télécharger la présentation

Message Sequence Charts

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Message Sequence Charts Clive Jervis Rapporteur Z.120

  2. UK USA RMTR air_in taxi_in Z.120 taxi_out air_out Message 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 ITU-T - Bangalore Workshop, 30-31st August 2001

  3. Overview msc call_set_up network base_2 mobile_2 mobile_1 base_1 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 ITU-T - Bangalore Workshop, 30-31st August 2001

  4. UK UK UK UK USA USA USA USA RMTR RMTR RMTR RMTR air_in air_in air_in air_in taxi_in taxi_in taxi_in taxi_in taxi_out taxi_out taxi_out taxi_out air_out air_out air_out air_out UK USA RMTR air_in taxi_in taxi_out air_out MSCs 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 Code SDL Design ITU-T - Bangalore Workshop, 30-31st August 2001

  5. UK UK UK UK USA USA USA USA RMTR RMTR RMTR RMTR air_in air_in air_in air_in taxi_in taxi_in taxi_in taxi_in taxi_out taxi_out taxi_out taxi_out air_out air_out air_out air_out MSC 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 V&V SDL Tracing SDL Verification TTCN Generation ITU-T - Bangalore Workshop, 30-31st August 2001

  6. Basic Features msc call_expiration network base manager 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 msccall_set_up network ITU-T - Bangalore Workshop, 30-31st August 2001

  7. 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 • Semantics prescribes • no buffering mechanism base mobile network identify initialise receive initialise send initialise receive identify Three traces! send identify receive initialise receive identify send initialise receive identify receive initialise ITU-T - Bangalore Workshop, 30-31st August 2001

  8. msc call_blocking initiate_call call_refused call_set_up call_proceeding terminate_call 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 ITU-T - Bangalore Workshop, 30-31st August 2001

  9. msc MyLife infra mobile_1 mobile_2 call_req t(5) alt when idle call_ack t call_accept otherwise t req_refused In-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 ITU-T - Bangalore Workshop, 30-31st August 2001

  10. msc call_expiration(time_out: time) network base manager initiate @10:00 ready x := f(_, 5) set_up(time_out + 3) [5, 10] expired (“z1”, _, x) terminate 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 ITU-T - Bangalore Workshop, 30-31st August 2001

  11. Instance Decomposition Splitting an Instance Into Constituent Processes msc call network decomposed as network_call base manager initiate ready set_up • Hierarchical view of processes • Instance structure defined in enclosing MSC Document • Internal messages hidden in upper view mscnetwork_call manager_handler base_handler ready initiate initiate_set_up set_up ITU-T - Bangalore Workshop, 30-31st August 2001

  12. mscdocument network_manager inst base_handler(x : integer);inst call_controller; msg initiate(integer, integer, bool); call_set_up call_proceeding terminate_call Other 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_1 network base_2 call initiate set_up call_set_up g h done ITU-T - Bangalore Workshop, 30-31st August 2001

  13. 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 • 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! ITU-T - Bangalore Workshop, 30-31st August 2001

  14. UK USA RMTR air_in taxi_in taxi_out air_out Summary • 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 ITU-T - Bangalore Workshop, 30-31st August 2001

More Related