Potential new case studies for behavioural types: Switching software systems Tihana Galinac Grbac Faculty of Engineering University of Rijeka Croatia COST Action 1201 Behavioural Types for Reliable Large-Scale Software Systems WG/MC Meeting: Sunday 31st August 2014 in Rome Summary • • • • • • • • • Introduction Switching software System requirements Related work on formalisms Concrete protocol examples Cases study: system description Call flows Problems: previous experiences Switching software perspective COST Action 1201 Behavioural Types for Reliable Large-Scale Software Systems WG/MC Meeting: Sunday 31st August 2014 in Rome Tihana Galinac Grbac University of Rijeka, Croatia What is switching software? Switching software in telecommunication network Picture taken from: http://commons.wikimedia.org/wiki/Fi le:WAC_telephone_operators_operate _the_Victory_switchboard_during_the _Potsdam_Conference_in_their_head quarters_in..._-_NARA_-_199007.jpg COST Action 1201 Behavioural Types for Reliable Large-Scale Software Systems WG/MC Meeting: Sunday 31st August 2014 in Rome Tihana Galinac Grbac University of Rijeka, Croatia Switching software • Telecommunication exchanges are developed more then 50 years • Main concepts are space division and time division • Numerous formal approaches were developed • Still we face with number of failures COST Action 1201 Behavioural Types for Reliable Large-Scale Software Systems WG/MC Meeting: Sunday 31st August 2014 in Rome Tihana Galinac Grbac University of Rijeka, Croatia System requirements System has to provide: • Parallel execution of multiple different requirements, for number of users – e.g. Systems implementing MSC logic has to cope with more than milion requests in parallel, – provide number of different ‘standard’ protocol interactions • high availability for its users – If certain malfunction happen the peers has to be timely informed, and all related resources properly released, avoid congestion situations • properly dimensioned – aviod load • response by the required time – Real time system, a system with a real-time constraints • Interoperable with other vendors equipment • Inside logic has to provide external protocol compliance COST Action 1201 Behavioural Types for Reliable Large-Scale Software Systems WG/MC Meeting: Sunday 31st August 2014 in Rome Tihana Galinac Grbac University of Rijeka, Croatia System requirements System has to provide: • Easy to maintain – system structured into number of logical functions – Well defined and separated logical functions – Easy to trace system dynamics – Easy transformed from objact code back to original code COST Action 1201 Behavioural Types for Reliable Large-Scale Software Systems WG/MC Meeting: Sunday 31st August 2014 in Rome Tihana Galinac Grbac University of Rijeka, Croatia Switching software systems: Programming languages examples • PLEX: used in Ericsson AXE telephone exchange – Concept of program segments: data encapsulated by set of procedures (modules) that could access data, other modules can not – Software is living modular system and basic requirements are flexibility, manageability, ease of modification, ease of handling, etc. • CHILL: Used in 1240 ITT telephone exchange – Has to support more than 100 000 telephone calls simultaneously, fully distributed control – Concept of ‘finite message machines’ • Predefined set of input messages and each produces a finite set of replies • No FMM has direct access to memory of another FMM – all communication through messaging • FMM may reside on the same or different machines – message handler implements routing functionality among the machines for each messages • Erlang – Reliable system but in presence of errors COST Action 1201 Behavioural Types for Reliable Large-Scale Software Systems WG/MC Meeting: Sunday 31st August 2014 in Rome Tihana Galinac Grbac University of Rijeka, Croatia Switching software systems 1: Application of formal methods to the verification of communication protocols • the most commonly used methods for ensuring the correctness of a system are simulation and testing • exhaustive for any reasonably complex system is imposible • Errors can sometimes occur only for specific execution sequences which are difficult if not impossible to reproduce or debug, making an exhaustive analysis necessary • Knowledge that the design logic of a system is correct help us to avoid critical system faults • the errors during implementation are less likely to be fundamentall logical errors that are very difficult to understand and solve COST Action 1201 Behavioural Types for Reliable Large-Scale Software Systems WG/MC Meeting: Sunday 31st August 2014 in Rome Tihana Galinac Grbac University of Rijeka, Croatia Switching software systems 2: ITU-T Standardisation, Z series • Unified Model ling Languague UML diagrams, Message Sequence Chart MSC • Specification and Description Language SDL (ITU-T) • for the description of communication protocols including concurrent and real-time aspects • System is represented as set of blocks and processes, • Processes interact asynchronously via signals that are placed into and consumed from queues. • The communication structure is given by signal routes that connect individual system components. • Used as automatic verification techniques like model checking • high-level languages and formalisms particularly made for realtime and communication systems, CHILL COST Action 1201 Behavioural Types for Reliable Large-Scale Software Systems WG/MC Meeting: Sunday 31st August 2014 in Rome Tihana Galinac Grbac University of Rijeka, Croatia Concrete protocol examples • Signalling network and protocols in celular telecomunication network COST Action 1201 Behavioural Types for Reliable Large-Scale Software Systems WG/MC Meeting: Sunday 31st August 2014 in Rome Tihana Galinac Grbac University of Rijeka, Croatia Network communication architecture • Networks are defined and modeled at different abstraction levels Application Plane Control Plane Data /Resource Plane Network architecture Open Systems Interconnection Model COST Action 1201 Behavioural Types for Reliable Large-Scale Software Systems WG/MC Meeting: Sunday 31st August 2014 in Rome Tihana Galinac Grbac University of Rijeka, Croatia Case study • Signalling network in mobile communication network • We can consider as high priority data traffic network • Developed according 3GPP standardisation body regulations COST Action 1201 Behavioural Types for Reliable Large-Scale Software Systems WG/MC Meeting: Sunday 31st August 2014 in Rome Tihana Galinac Grbac University of Rijeka, Croatia Evolution of telecommunication network • 3rd Generation Partnership Project – Standards for cellular telecommunications network technologies – http://www.3gpp.org/ COST Action 1201 Behavioural Types for Reliable Large-Scale Software Systems WG/MC Meeting: Sunday 31st August 2014 in Rome Tihana Galinac Grbac University of Rijeka, Croatia Signalling netowrk evolution Phase 1: Introduction of ATM transport and new BICC protocol BSS TDM BSSAP MTP3 MTP2 PHY TDM BICC TDM ISUP MTP3 MTP3 MTP2 PHY MSC Server TDM TDM RANAP MTP3b SAAL ATM PHY MGW TDM ISUP MTP3 MTP2 PHY GMSC Server ATM TDM MGW TDM ISDN, PSTN, PLMN ATM UTRAN UTRAN COST Action 1201 Behavioural Types for Reliable Large-Scale Software Systems WG/MC Meeting: Sunday 31st August 2014 in Rome Tihana Galinac Grbac University of Rijeka, Croatia Signalling netowrk evolution Phase 2: Sppliting of network architecture- new GCP protocol BSS TDM BSSAP MTP3 MTP2 PHY MSC Server Poslužitelj TDM RANAP MTP3b SAAL ATM PHY UTRAN UTRAN TDM TDM BICC TDM MTP3b SAAL ATM PHY TDM GCP MTP3b SAAL ATM PHY TDM ISUP MTP3 MTP2 PHY GMSC Poslužitelj Server ISDN, PSTN, PLMN TDM TDM ATM ATM MGW COST Action 1201 Behavioural Types for Reliable Large-Scale Software Systems WG/MC Meeting: Sunday 31st August 2014 in Rome MGW Tihana Galinac Grbac University of Rijeka, Croatia Signalling netowrk evolution Phase 3: Migration to IP network RANAP BSSAP M3UA M3UA SCTP IP LL TDM BSSAP MSC MTP3 SGW Server Poslužitelj MTP2 PHY TDM RANAP MTP3b SAAL ATM BSS PHY PHY TDM BICC ISUP M3UA MTP3 SCTP MTP2 PHY IP LL TDM ISUP M3UA SCTP IP GMSC Poslužitelj Server TDM GCP TDM M3UA SCTP IP LL TDM UTRAN ATM MGW IP COST Action 1201 Behavioural Types for Reliable Large-Scale Software Systems WG/MC Meeting: Sunday 31st August 2014 in Rome MGW LL SGW TDM TDM ISUP MTP3 MTP2 PHY ISDN, PSTN, TDM PLMN Tihana Galinac Grbac University of Rijeka, Croatia Protocol example • Interaction between horizontal and vertical protocol RANAP/ATM MSC Poslužitelj ISUP/TDM GCP/ATM ATM TDM MGW COST Action 1201 Behavioural Types for Reliable Large-Scale Software Systems WG/MC Meeting: Sunday 31st August 2014 in Rome Tihana Galinac Grbac University of Rijeka, Croatia System • • • • • • • • AXE based MSC node PLEX signals several million lines of code Divided into more then 1000 modules More then 1 million of simultaneous requests Priority levels Resources Real time with time constraints COST Action 1201 Behavioural Types for Reliable Large-Scale Software Systems WG/MC Meeting: Sunday 31st August 2014 in Rome Tihana Galinac Grbac University of Rijeka, Croatia Call set up Server node Internal protocol 1.BICC_IAM 12. BICC_IAM BICC 2.Internal msg 2.Internal msg Transit 3.Internal msg 9. BICC_APM BICC 15. BICC_APM 3.Internal msg 21. BICC_COT 6.Internal msg 6.Internal msg 20. Internal msg 20. Internal msg 22.. BICC_APM 13. BICC_APM 23. BICC_ACM 25. BICC_ACM 24.Internal msg 24.Internal msg 27.Internal msg 27.Internal msg 26. BICC_ANM 28. BICC_ANM Eksternal potokol Eksternal protokol Internal interface Resource API 4. A D D Re qu est 5. A D D Re ply 8. N O T I F Y 10. N O TI FY Re ply 14. M O D I F Y 17. M O D I F Y Re ply 18. N O T I F Y 19. N O T I F Y Re ply Eksternal protokol 7. A D D Re qu est 11. A D D Re ply 16. M O D I F Y 22. M O D I F Y Re ply 23. N O T I F Y 24. N O T I F Y Re ply Gateway node COST Action 1201 Behavioural Types for Reliable Large-Scale Software Systems WG/MC Meeting: Sunday 31st August 2014 in Rome Tihana Galinac Grbac University of Rijeka, Croatia Call flows • Example: Session Initiation Protocol • http://www.cisco.com/c/en/us/td/docs/voice _ip_comm/sip/proxies/22/administration/guide/ver2_2/eflows.pdf COST Action 1201 Behavioural Types for Reliable Large-Scale Software Systems WG/MC Meeting: Sunday 31st August 2014 in Rome Tihana Galinac Grbac University of Rijeka, Croatia Problems (1) • Several levels of abstractions • How to define right structure - and secure type safety between internal and extenal intefaces • The most critical issues in the maintainance – from the aspect ‘How hard is to locate the fault’ • Interactions between system functions and network functions COST Action 1201 Behavioural Types for Reliable Large-Scale Software Systems WG/MC Meeting: Sunday 31st August 2014 in Rome Tihana Galinac Grbac University of Rijeka, Croatia Problems (2) • Protocol interactions – E.g. Node recovery, congestion control, etc. – System internal optimisations aiming to increase the system performances (e.g. Dual seizure – shortcut in internal communication ) • Partially executed system procedures may affect inconsistencies • Order of release procedure is important (Control process) • System configuration change that may take longer time because of lower priority • Shared resources and correct release procedures, relinking of blocks, traffic interference • Message multiplication, congestion and time constraints • Timers in the system and their interaction (are some timers long enough) • Priorities of error cases COST Action 1201 Behavioural Types for Reliable Large-Scale Software Systems WG/MC Meeting: Sunday 31st August 2014 in Rome Tihana Galinac Grbac University of Rijeka, Croatia Switching software perspective • Connectivity software, implemented in software switch • include call agents, call servers and media gateway controllers • Becomes to be increasingly important – Internet of Things – anything can communicate with anything and anybody – M2M interaction – Software Defined Network – software can reconfigure itself at runtime – Open Source community - Everybody could contribute to distributed application development • Consequences of failure are higher then ever • Problems of dynamic restructuring of system design becomes the most important mechanism COST Action 1201 Behavioural Types for Reliable Large-Scale Software Systems WG/MC Meeting: Sunday 31st August 2014 in Rome Tihana Galinac Grbac University of Rijeka, Croatia
© Copyright 2026 Paperzz