Possible Session Types Applications

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