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