potential new case studies for behavioural types ... · potential new case studies for behavioural...

23
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

Upload: dangngoc

Post on 11-Apr-2018

222 views

Category:

Documents


6 download

TRANSCRIPT

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/File:WAC_telephone_operators_operate_the_Victory_switchboard_during_the_Potsdam_Conference_in_their_headquarters_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 real-

time 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

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

Application Plane

Control Plane

Data /Resource Plane

Open Systems Interconnection Model

Network architecture

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

TDM

MSC Server

MGW

GMSC Server

MGW

TDM

PHY MTP2

ISUP

MTP3

TDM

PHY MTP2

BSSAP

MTP3

TDM

TDM

PHY MTP2

ISUP

MTP3

ISDN, PSTN, PLMN

BSS

TDM

UTRAN

TDM

PHY ATM

RANAP

MTP3b SAAL

ATM

TDM

PHY MTP2

BICC

MTP3

ATM

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

UTRAN

Signalling netowrk evolution Phase 2: Sppliting of network architecture- new GCP protocol

MSC Poslužitelj

GMSC Poslužitelj

TDM TDM

PHY MTP2

BSSAP

MTP3

ISDN, PSTN, PLMN

BSS

UTRAN

TDM

PHY ATM

RANAP

MTP3b SAAL

ATM TDM

MSC Server

MGW

GMSC Server

MGW

TDM

PHY MTP2

BSSAP

MTP3

TDM

TDM

PHY MTP2

ISUP

MTP3

ISDN, PSTN, PLMN

BSS

TDM

UTRAN

ATM

TDM

PHY ATM

BICC

MTP3b SAAL

TDM

PHY ATM

GCP

MTP3b SAAL

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

TDM

MSC Poslužitelj

GMSC Poslužitelj

TDM

PHY MTP2

ISUP

MTP3

TDM

PHY

MSC Server

MGW

GMSC Server

MGW

TDM

PHY MTP2

ISUP

MTP3

TDM

PHY MTP2

BSSAP

MTP3

TDM

TDM

PHY MTP2

ISUP

MTP3

ISDN, PSTN, PLMN

BSS

TDM

UTRAN

TDM

PHY ATM

RANAP

MTP3b SAAL

ATM

TDM

LL IP

BICC

M3UA SCTP

IP

TDM

LL IP

GCP

M3UA SCTP

M3UA

LL IP

M3UA SCTP

RANAP BSSAP

SGW

TDM

LL

ISUP

M3UA SCTP

SGW

IP

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 3: Migration to IP network

Protocol example

• Interaction between horizontal and vertical protocol

MSC Poslužitelj

RANAP/ATM ISUP/TDM

MGW

ATM TDM

GCP/ATM

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

1.BICC_IAM

Server node

Eksternal

potokol

Internal interface

Eksternal

protokol

Gateway node

Internal protocol

Resource API

BICC BICC

Transit

2.Internal msg

3.Internal msg

24.Internal msg

27.Internal msg

6.Internal msg

20. Internal msg

2.Internal msg

3.Internal msg

24.Internal msg

27.Internal msg

6.Internal msg

20. Internal msg

28. BICC_ANM

25. BICC_ACM

Eksternal

protokol

9. BICC_APM

13. BICC_APM

15. BICC_APM

12. BICC_IAM

21. BICC_COT

22.. BICC_APM

26. BICC_ANM

23. BICC_ACM

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

18.

N

O

T

I

F

Y

17.

M

O

D

I

F

Y

Re

ply

19.

N

O

T

I

F

Y

Re

ply

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

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/2-2/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