requirements model for level 2 of the message transfer part of

55
EINDHOVEN UNIVERSITY OF TECHNOLOGY Department of Electrical Engineering Digital Systems Group ( EB ) REQUIREMENTS MODEL FOR LEVEL 2 OF THE MESSAGE TRANSFER PART OF SIGNALLING SYSTEM NO.7 by I.W.J. van Dreumel Master Thesis Eindhoven, May 1991 Supervisors: Prof. Ir. M.P.J. Stevens Ir. M.J.M. van Weert The Department of Electrical Engineering of the Eindhoven University of Technology does not accept any responsibility regarding the contents of student project and graduation reports

Upload: others

Post on 03-Feb-2022

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: REQUIREMENTS MODEL FOR LEVEL 2 OF THE MESSAGE TRANSFER PART OF

EINDHOVEN UNIVERSITY OF TECHNOLOGYDepartment of Electrical EngineeringDigital Systems Group ( EB )

REQUIREMENTS MODEL FOR LEVEL 2OF THE MESSAGE TRANSFER PART OF

SIGNALLING SYSTEM NO.7

by I.W.J. van Dreumel

Master ThesisEindhoven, May 1991

Supervisors: Prof. Ir. M.P.J. StevensIr. M.J.M. van Weert

The Department of Electrical Engineering of the Eindhoven University of Technology does not accept any responsibilityregarding the contents of student project and graduation reports

Page 2: REQUIREMENTS MODEL FOR LEVEL 2 OF THE MESSAGE TRANSFER PART OF

SUMMARY

At the Digital Systems Group ( EB ) of the Department of Electrical Enginee­

ring at the Eindhoven University of Technology a digital telephone exchange is

being developed. When this telephone exchange is put into use, it will have to

exchange signalling information ( e.g. information about setting up and breaking

down connections between subscribers) with other telephone exchanges. To

manage this exchange of signals a signalling system is needed.

This report contains an overview of such a system: Signalling System NO.7

of the CCITT ( SS7 ) [CCITT, 1989]. SS7 is a common channel signalling system,

which means that signalling data for a number of traffic circuits is carried over a

separate signalling channel.

The main part of SS7 is the Message Transfer Part ( MTP ), the transport

mechanism that exists of three levels. It takes care of delivering the signalling

messages without loss or duplication, and in the correct order. The MTP is

discussed in detail.

Further a structured analysis of level 2 of the MTP is done, using the formal

method that is described by D.J. Hatley and I.A. Pirbhai [Hatley, 1987]. The CASE­

tool ProMod, which supports this method, is used to state a requirements model of

level 2. This model, that is described in [Dreumel, 1991], satisfies the requirements

of level 2 of the MTP as is described in the Blue Books, recommendations 0.700­

0.703.

Development of the architecture model of level 2, as well as its implementa­

tion are still to be done.

1

Page 3: REQUIREMENTS MODEL FOR LEVEL 2 OF THE MESSAGE TRANSFER PART OF

CONTENTS

SUMMARY , 1

1. INTRODUCTION 4

2. SIGNALLING . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 5

2.1. Introduction to signalling 5

2.2. Signalling network . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 5

2.2.1. Signalling points 7

2.2.2. Signalling links 8

2.2.3. Signalling modes 8

2.2.4. Signalling routes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 9

2.3. Signalling System NO.7. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 9

2.3.1. Message Transfer Part ( MTP) 9

2.3.2. User Parts ( UP) 10

2.3.3. Signalling Connection Control Part ( SCCP) . . . . . . . . .. 10

2.4. Problem description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 11

3. THE MESSAGE TRANSFER PART 12

3.1. Overview MTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 12

3.2. Level 1, the signalling data link . . . . . . . . . . . . . . . . . . . . . . . . .. 13

3.3. Level 2, the signalling link functions 13

3.3.1. Signal Units 13

3.3.2. Error detection and correction 15

3.3.3. Alignment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 17

3.3.4. Delimitation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 17

3.3.5. Processor outage . . . . . . . . . . . . . . . . . . . .. 17

3.3.6. Signalling link error monitoring , 18

3.3.7. Flow control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 18

3.4. Level 3, the signalling network functions 19

2

Page 4: REQUIREMENTS MODEL FOR LEVEL 2 OF THE MESSAGE TRANSFER PART OF

4. STRUCTURED SYSTEM DEVELOPMENT 21

4.1. Overview 21

4.2. Hatley & Pirbhai 21

4.2.1. The overall strategy , 21

4.2.2. The requirements model 22

4.2.3. The architecture model 26

4.3. The CASE-tool ProMod " 28

4.3.1. Requirements analysis and definition 29

5. THE REQUIREMENTS MODEL OF MTPs LEVEL 2 . . . . . . . . . . . . . . . . .. 31

5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 31

5.2. The recommendations on SS7 .. . . . . . . . . . . . . . . . . . . . . . . .. 31

5.2.1. SOL, Specification and Description Language 32

5.3. Structural description of MTPs level 2 .. . . . . . . . . . . . . . . . . . .. 34

5.3.1. Division of the MTP into functional blocks . . . . . . . . . . .. 34

5.3.2. First level partitioning . . . . . . . . . . . . . . . . . . . . . . . . . .. 37

5.3.3. Lower level partitioning 38

5.4. Functional description of MTPs level 2 39

5.4.1. Flows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 39

5.4.2. Processes 39

5.4.3. CSP-bars . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 40

5.4.4. Stores 42

5.4.5. Terminators 42

6. CONCLUSIONS AND RECOMMENDATIONS . . . . . . . . . . . . . . . . . . . . .. 43

REFERENCES 44

ABBREVIATIONS 46

ANNEX A: CONTEXT DIAGRAMS LEVEL 0 . . . . . . . . . . . . . . . . . . . . . . . .. 47

ANNEX 8: FLOW DIAGRAMS LEVEL 1 50

ANNEX C: HOW TO PRINT FDs USING THE LASER PRINTER . . . . . . . . . .. 53

3

Page 5: REQUIREMENTS MODEL FOR LEVEL 2 OF THE MESSAGE TRANSFER PART OF

1. INTRQDUCTION

At the Digital Systems Group ( EB ) of the department of Electrical Enginee­

ring at the Eindhoven University of Technology, a digital telephone exchange is

being developed. Since 1986 a project group consisting of five students on average

( trainees or graduates ) has been working on this project. First under supervision

of Prof. Ir. A. Heetman and later taken over by Ir. M.J.M. van Weert and Prof. Ir.

M.P.J. Stevens.

In August 1990 the first implementation of the exchange was completed and

tested. The next thing to do was to analyse and implement a system that serves

the transfer of control signals between two or more of those digital exchanges. This

system, which is called a signalling system, had to correspond to the software of

the exchange control that was implemented before [Verhoof, 1990][Ligtenberg,

1990]. The Signalling System described in this report is CCITIs Signalling System

NO.7 ( SS7 ) [CCITI, 1989].

Analysis of that system was done using the CASE-tool ProMod according to

the formal method proposed in [Hatley, 1987]. Because time was limited, my

graduation project was confined to develop the requirements model of one of the

main parts of SS7, the Message Transfer Part. This requirements model is the first

of two models to be developed before the Message Transfer Part may be implem­

ented.

The purpose of this report is to help the system designer who has to imple­

ment level 2. Chapter 2 describes the subject of signalling. It also contains an

overview of SS7s most important functional blocks. Chapter 3 contains a complete

overview of the Message Transfer Part, which is the main subject of this report. In

chapter 4 the formal method that is used to develop the requirements model

[Hatley, 1987] will be discussed. It also describes the CASE-tool ProMod [ProMod,

1989] which supports this method. Chapter 5 describes the development of the

requirements model of level 2 of the Message Transfer Part. The partitioning of this

level will be discussed. This partitioning results in a satisfying requirements model

[Dreumel, 1991] of level 2.

4

Page 6: REQUIREMENTS MODEL FOR LEVEL 2 OF THE MESSAGE TRANSFER PART OF

2. SIGNALLING

2.1. Introduction to signalling

To set up and release telephone connections there has to be an exchange

of control information between the subscriber and the telephone exchange and

between the telephone exchanges themselves. This exchange of control signals is

called signalling. At the time when the first telephone exchanges were put into use,

signalling took place in a very simple way. Most of the control information was

exchanged verbal. The introduction of semi-automatic an automatic switching

systems, based on electromechanical switching technics have lead to the develop­

ment of a number of optimized signalling systems.

Because of the use of stored-program controlled exchanges and digital

transmission networks a digital telecommunication network comes into existence.

This digital network supports a lot of new services, including many that are based

on the Integrated Services Digital Network ( ISDN ). For this reason the need for

signalling will increase. To satisfy this need an 'intelligent' signalling system is

developed by the CCITT: Signalling System No. 7 ( SS7 ).

2.2. Signalling network

SS7 is a Common-Channel Signalling ( CCS ) system, which means that

signalling data for a number of traffic circuits is carried over a separate signalling

channel [Ronayne, 1986]. This concept is shown in figure 2.1.

Before the introduction of CCS , the signalling systems were based on

Channel Associated Signalling ( CAS ): the signalling information for a small

number of traffic circuits is carried over that particular circuit. This is done at fixed

moments, even when a traffic circuit is not in use. Therefore CAS is relatively

expensive. On the other hand CAS is rather slow because of the fact that signalling

data is transmitted at the same speed as e.g. speech signals. The stored-program

5

Page 7: REQUIREMENTS MODEL FOR LEVEL 2 OF THE MESSAGE TRANSFER PART OF

controlled exchanges however are capable of working at much higher speeds. A

CCS system doesn't have these problems.

GJ--------\GSignalling drcult

Traffic drcults

Figure 2.1. Common Channel Signalling

Because of the fact that CCS uses separate channels for signalling data and traffic

it is necessary to identify the signalling data by including a label. Further error

detection and error correction are required.

The telecommunications network served by common-channel signalling

( SS? ) is composed of a number of switching and processing nodes interconnec­

ted by transmission links. To transfer signalling information between these nodes

using SS? signalling, each of these nodes requires to comprise the necessary 'in

node' features, making that node a signalling point ( SP ) in the SS? signalling

network. A SP is able to serve its users ( e.g. the telephone network) as well as to

pass signalling information to other SPs

In addition, there is a need to interconnect these SPs so that signalling

information can be exchanged between them. These data links are the signalling

links of the signalling network.

The combination of SPs and their interconnecting signalling links form the

SS? signalling network.

6

Page 8: REQUIREMENTS MODEL FOR LEVEL 2 OF THE MESSAGE TRANSFER PART OF

2.2.1. Signalling points

Any two signalling points for which the possibility of communication between

them exists, are said to have a signalling relation. Examples of nodes in a signalling

network are:

exchanges,

operation, administration and maintenance centres,

intelligent network databases, and

signalling transfer points.

All SPs in a SS? signalling network are identified by a unique code known as

a point code.

A signalling point at which a message is generated is known as the origina­

ting point of that message. A signalling point to which a message is destined is

known as the destination point of that message. A signalling point at which a

message is received on a signalling link and then transferred to another link is

known as a signal transfer point ( STP ) ( figure 2.2. ). A STP is a signalling point to

which no signalling users are connected.

Ortglnatlng Point

Destination Point

----ft----t> Signal Transfer Point

Figure 2.2. Signalling point modes

?

Page 9: REQUIREMENTS MODEL FOR LEVEL 2 OF THE MESSAGE TRANSFER PART OF

2.2.2. Signalling links

The common-channel signalling system uses signalling links to exchange the

signalling messages between two 5Ps. A number of signalling links that directly

interconnect two 5Ps form a signalling link-set.

2.2.3. Signalling modes

The term signalling modes refers to the association between the path taken

by a signalling message and the signalling relation to which the message refers.

In the associated mode of signalling, the messages are transferred between

two 5Ps over a single link that directly interconnects those 5Ps.

In the non-associated mode of signalling, the messages are transferred

between two 5Ps over two or more links in tandem, passing through one or more

5Ps. Those 5Ps are not the originating point or the destination point. This mode of

signalling is not specified for 557.

The quasi-associated mode of signalling is a limited case of the non-associa­

ted mode. The path taken by the message through the signalling network is

predetermined and, at a given point in time, fixed (figure 2.3. ).

AssocIated comm.

G~~G

~STPI BOUasl·assocIated comm.

Figure 2.3. Associated vs quasi-associated

8

Page 10: REQUIREMENTS MODEL FOR LEVEL 2 OF THE MESSAGE TRANSFER PART OF

2.2.4. Signalling routes

The predetermined path, consisting of a succession of SPs and the intercon­

necting signalling links, that a message takes through the signalling network

between the origination point and the destination point is the signalling route for

that signalling relation.

All the signalling routes that may be used between an originating point and a

destination point by a message is known as the signalling route set for that

signalling relation.

2.3. Signalling System No.7

The CCITI Signalling System No. 7 ( SS7 ) is a common-channel signalling

system in which information can be transported between two stored-program con­

trolled exchanges over a single high-speed communications channel ( 64 kbitjs )

by means of labelled messages. The signalling information relates to a large

number of circuits and it provides the capability to implement a variety of new

services. When CCITIs SS7 was first specified, its main purpose was to set up and

release physical circuits between digital exchanges for telephony-type services. To

take account of the wide range of applications that were foreseen for the signalling

system, it was designed on a very modular functional basis. The transport mecha­

nism, the Message Transfer Part, is application independent, and it is this feature

that is one of the principal strengths of SS7. Figure 2.4. shows schematically the

structure of SS7. The separate parts of SS7 will be discussed in the following

sections.

2.3.1. Message Transfer Part ( MTP )

The MTP [CCITI, 1989, rec. a.703] is common for all applications. It is a

reliable transport mechanism that transfers signalling messages over the network

and performs functions such as error control. The MTP has a three-level hierarch­

ical structure which will be discussed in Chapter 3.

9

Page 11: REQUIREMENTS MODEL FOR LEVEL 2 OF THE MESSAGE TRANSFER PART OF

Level 1-3

Signalling System No.7

~~EJI

SCCP U 1 ----'1 Level 4

I ~--~~~--___jll------------+-L- ~ .

I ~TP I

MTP - Message Transfer Part

SCCP - Signalling Connection Control Part

UP - User Part

Figure 2.4. Structure of SS?

2.3.2. User Parts ( UP )

The UPs are application dependent. They are the users of the MTP and the

SCCP ( see section 2.3.3. ). Within a UP the functions and procedures used by a

specific application are defined. Some example of UPs are the Telephone User Part

( TUP ), the Data User Part ( DUP ) and the Integrated Services Digital Network

User Part ( ISDNUP ). All those UPs are users of the signalling functions. The MTP

also contains the possibility to transfer information that is not specifically signalling

information between UPs. These UPs are called exploitation user parts. Some

examples are network-management, network-maintenance, tariff-information, etc.

( see figure 2.5. ).

2.3.3. Signalling Connection Control Part ( SCCP )

The SCCP provides additional functions to the MTP. This functions allow

connectionless and connection-oriented network services to transfer circuit-related

10

Page 12: REQUIREMENTS MODEL FOR LEVEL 2 OF THE MESSAGE TRANSFER PART OF

Data UP

1

Telephone UP

Exploltal\on UPs

Figure 2.5. UPs in the signalling network

and non-circuit-related signalling information. The connectionless network service

enables the users of the signalling network to transfer signalling data without first

setting up a signalling connection.

In case of connection-oriented control a signalling connection has to be set up first.

The SCCP provides a routing function which allows signalling messages to

be routed to a signalling point, based on an address that is not a point code ( but

e.g. dialled digits ). This capability includes a translation function which translates

the address into a point code and a user part number.

The SCCP also provides a management function, which controls the

availability of the users of the signalling network. It sends this information to other

nodes in the signalling network which have a need to know the status of those

users.

2.4. Problem description

In the next chapter the MTP will be treated. It is this part that is the major

subject of this report. The intention is to develop a Requirements Model of a part of

this MTP so that this part can be implemented later on ( using CASE-tool ProMod ).

11

Page 13: REQUIREMENTS MODEL FOR LEVEL 2 OF THE MESSAGE TRANSFER PART OF

3. THE MESSAGE TRANSFER PART

3.1. Overview MTP

Communication between stored-program controlled exchanges requires a

fast reliable high-capacity signalling system, capable of operating in a digital

transmission environment. SS? is such a signalling system. The modular nature of

SS? makes it flexible and adaptable for a number of uses, but no matter what use

is made of the signalling information carried, the MTP is always required. The MTP

provides the functions that enable information, that is significant for the user parts,

passed to the MTP to be transferred across the SS? signalling network in Message

Signal Units ( MSU ) to the required destination. Mechanisms are provided in the

MTP that ensure MSUs are received in the correct sequence and without errors.

Whenever an error is detected, the corrupted MSU will be retransmitted. In addition,

further procedures ensure that the impact of network or system failures have

minimal effect on the ability of the MTP to transfer MSUs.

The MTP consists of three levels and this structure is shown in figure 3.1.

Message Transfer Part I

Signalling net· !!

work functionsSignalling link

SIgnallingmessage Sran,ng Signallinghandling Un data

tuncIIons link

SIgnallIngnetwor1< ,management 1____~I

I

~Level 3 __*=Level 2 =*Level 1 ~

i i

iIIi!,i,i

'I I

Ui,

----------;,

.__T_esting_and maintenance J

Figure 3.1. Levels of the MTP

12

Page 14: REQUIREMENTS MODEL FOR LEVEL 2 OF THE MESSAGE TRANSFER PART OF

The levels will be described in the next sections.

3.2. Level 1. the signalling data link

The level 1 functions provide the data link, which is a bi-directional trans­

mission path for signalling consisting of two data channels operating together in

opposite directions at the same data rate. The data rate normally chosen for SS? is

64 kbit/s, but lower rates down to 4.8 kbit/s can be used.

The transmission path could be e.g. time-slot 16 of a 32 time-slot system.

( Le. associated signalling ). The level 1 functions are not specific to the signalling

system, and are more fully documented in the appropriate transmission recommen­

dations ( CCITIs Blue Books ).

3.3. Level 2. the signalling link functions

These functions form the main subject of this report. The development of the

requirements model, discussed in Chapter 5, is based on these functions.

The MTP level 2 contains procedures, called signalling link functions, which

facilitate the reliable transfer of messages over a single signalling link. These

functions ensure that messages are delivered in the correct order, and without loss

or duplication, on a link having line error rates up to a specified limit. Error rates

higher than this limit cause the link to fail.

After the description of the signal unit format in section 3.3.1. the discussion

of those functions will follow.

3.3.1. Signal Units

Signalling information is transferred between the nodes at each end of a

signalling link in signal units ( SU ). Each SU is marked by a unique 8 bit pattern at

the beginning and at the end. This pattern is called the flag. There exist three types

of SUs:

13

Page 15: REQUIREMENTS MODEL FOR LEVEL 2 OF THE MESSAGE TRANSFER PART OF

Fill In Signal Units ( FISU ) which are normally sent when no messa­

ges are available for transmission,

Link Status Signal Units ( LSSU ) which are used in the control of the

link, and

Message Signal Units ( MSU ) which carry the user part information.

The signal unit formats are shown in figure 3.2.

FISU

8 18 2 8 1 7 1 7 8

LSSU

8 18 8or18 2 8 1 7 7 8

MSU

8 18 an 8 2 8 1 7 7 8n>-2

Figure 3.2. Signal unit formats

The coding of the length indicator ( LI ) is the means of identifying to which

of the three types a SU belongs. This LI is common to all types. LI =0 in case of a

FISU, LI = 1 or LI =2 in case of a LSSU, and when the signal unit is a MSU then

LI > 2. The flag ( F ) is used for delimitation.

The forward indicator bit ( FIB ), backward indicator bit ( BIB ), forward

sequence number ( FSN ), and backward sequence number ( BSN ) are used in

the basic error control procedure to perform the signal unit sequence control and

acknowledgement functions. The check bits ( CK ) are used for error detection.

LSSUs have the same format as FISUs except for the addition of the status field

( SF ) which indicates the link status as follows:

14

Page 16: REQUIREMENTS MODEL FOR LEVEL 2 OF THE MESSAGE TRANSFER PART OF

Status indication 'out of alignment' ( SID ) is transmitted when an

initial alignment procedure has been started and none of the status

indications SID, SIN or SIE is received from the signalling point at the

far end of the link.

Status indication 'normal' ( SIN ) is transmitted when, after initial

alignment has been started, status indication SID, SIN or SIE is

received, and the terminal is in the 'normal' alignment state.

Status indication 'emergency' ( SIE ) is transmitted when, after initial

alignment has been started, status indication SID, SIN or SIE is

received, and the terminal is in the 'emergency' alignment state.

Status indication 'out of service' ( SIOS ) is transmitted to inform the

remote end of the link that the transmitting signalling link terminal

cannot, for reasons other than processor outage, receive or transmit

MSUs.

Status indication 'processor outage' ( SIPO ) is transmitted to inform

the remote end of the link that the transmitting signalling link terminal

cannot receive or transmit MSUs, owing to processor outage that is

caused by failure conditions at a functional level above level 2.

Status indication 'busy' ( SIB) is transmitted to inform the remote end

of the link that the transmitting signalling link terminal is operating

under level 2 congestion conditions.

MSUs have exactly the same format as FISUs except for the addition of a

service information octet ( SID) and the signalling information field ( SIF ) which

are used at levels above level 2 as described in the section on Level 3, section 3.4.

3.3.2. Error detection and correction

The error detection function is performed by means of 16 check bits

provided at the end of each signal unit. The check bits are generated by the

transmitting signalling link terminal by operating a specified algorithm [CCITT, 1989,

rec. a.703} on the preceding bits in the signal unit. At the receiving signalling link

15

Page 17: REQUIREMENTS MODEL FOR LEVEL 2 OF THE MESSAGE TRANSFER PART OF

terminal, the correspondence between the check bits and the remaining part of the

signal unit is checked. Signal units found to be in error are discarded.

Error correction is performed by retransmission. This method ensures

correct transfer of message signal units ( MSUs ) over a signalling link, in sequence

and with no double delivery. As a consequence, no resequencing or eliminating of

the received information is required within the user parts.

Positive acknowledgements are used to indicate correct transfer of MSUs,

while negative acknowledgements are used as explicit requests for retransmission

of signal units that are received in a corrupt form. To minimize the number of

retransmissions, a request for a retransmission is made only when a MSU has

been lost.

The method requires that transmitted but not yet positively acknowledged

MSUs remain available for retransmission. To maintain the correct MSU sequence

when a retransmission is made, the MSU of which the retransmission has been

requested, and any subsequently transmitted MSUs are retransmitted in the order

in which they were originally transmitted.

As part of the error correction method, each signal unit carries a forward

sequence number ( FSN ), a forward indicator bit ( FIB ), a backward sequence

number ( BSN ) and a backward indicator bit ( BIB ). The error correction procedu­

re operates independently in the two transmission directions. The FSN and the FIB

in one direction together with the BSN and the BIB in the other direction are

associated with the MSU flow in the first direction.

The receiving link terminal acknowledges the acceptance of one or more

MSUs by assigning the FSN value of the latest accepted MSU to the BSN of the

.next signal unit sent in the opposite direction. The BSN of subsequent signal units

retain this value until a further MSU is acknowledged, which will cause a change of

the BSN sent. The acknowledgement to an accepted MSU also represents an

acknowledge to all previously accepted, though not yet acknowledged MSUs.

If a negative acknowledgement is to be sent, then the BIB value of the signal

units transmitted is inverted. The new BIB value is maintained in subsequently sent

signal units until a new negative acknowledgement is to be sent. The BSN assumes

the value of the FSN of the last accepted MSU.

16

Page 18: REQUIREMENTS MODEL FOR LEVEL 2 OF THE MESSAGE TRANSFER PART OF

The FIB value is inverted by the transmitting signalling link terminal when a

retransmission is started. Its value therefore becomes equal to that of the BIB value

which indicated that retransmission was required.

3.3.3. Alignment

Before a link can enter service, an alignment procedure is 'used to ensure

that the link is capable of operating above a certain performance. This procedure is

used when a link is brought into service and when service is being restored after a

break. It includes a proving period which, by instruction of level 3, can be either a

'normal' proving period or an 'emergency' proving period. The 'normal' period lasts

as long as it takes to transmit 216 octets while the 'emergency' period lasts as long

as it takes to transmit 212 octets. During the proving period, the error rate of the link

is monitored.

3.3.4. Delimitation

The beginning and end of a signal unit are indicated by a unique 8-bit

pattern, called the flag. Further measurements are taken to ensure that this pattern

cannot be imitated elsewhere in the signal unit (this is called zero bit insertion ).

The specific flag pattern is 01111110. The zero bit insertion function inserts a 0 after

every sequence of five consecutive 1s before the flags are attached and the signal

unit is transmitted. At the receiving signalling link terminal, after flag detection and

removal, each 0 that follows a sequence of five consecutive 1s is deleted ( zero bit

deletion ). Figure 3.3. shows an example of this delimitation function.

3.3.5. Processor outage

The processor outage procedure operates when use of a link is precluded

owing to problems at a functional level higher than level 2 ( e.g. a centralised

processor failure ). When level 2 recognises, or is informed of this state, it transmits

SIPO on the link and discards received MSUs. The receiving level 2 at the distant

17

Page 19: REQUIREMENTS MODEL FOR LEVEL 2 OF THE MESSAGE TRANSFER PART OF

...•......0110011111111001001100011111111110 .

t t tInsert: o

becomes:

o 0

..........01100111110111001001100011111011111100 .

Figure 3.3. Zero bit insertion

end, if it is in its 'normal' mode sending MSUs or FISUs, notifies its level 3 and

sends FISUs continuously. When the processor outage condition changes to

normal, SIPO is withdrawn and the transmitting end transmits MSUs or FISUs. The

receiving end also returns to normal operation after informing level 3.

3.3.6. Signalling link error monitoring

Level 2 contains two link error rate monitor functions. One, the signal unit

error rate monitor, which is used when a signalling link is in service to determine

whether or not the link is fit for service. The other, the alignment error rate monitor,

is used during the proving period of the initial alignment procedure. The latter was

already mentioned in section 3.3.3.

3.3.7. Flow control

When congestion at level 2 is detected at the receiving end of the link, both

positive and negative acknowledgements are withheld and SIB is returned to the

transmitting end, so that the latter can distinguish between failure and congestion

18

Page 20: REQUIREMENTS MODEL FOR LEVEL 2 OF THE MESSAGE TRANSFER PART OF

conditions. A supervision timer is started on receipt of SIB and, should it expire

before normal operation of the link is restored, link failure indication is generated.

3.4. Level 3, the signalling network functions

Level 3 of the MTP provides functions and procedures to allow for the

transfer of signalling messages between signalling points which are part of the

signalling network. The level 3 functions, called the signalling network functions,

can be divided into two groups. These two groups will be discussed briefly:

Signalling message handling functions:

The purpose of these functions is to ensure that the signalling messa­

ges originated by a particular user part at a signalling point ( Le. the

originating point ) are delivered to the same user part at the destinati­

on point indicated by the sending user part. This delivery may be

made through a single signalling link that directly interconnects the

originating and destination point, or through two or more links via one

or more signalling (transfer) points.

These functions are based on the label contained in the messages.

This label is called the routing label ( figure 3.4. ).

16 2 1 7

flag

178

Routing label •Level 3 Signalling Unk Selection

!in~~_+

SLS SI OrIginating Point Code

8n 4 14 14 8 +

n>-o Destination Point Code

+8ervIce Indicator

Figure 3.4. Routing label

19

Page 21: REQUIREMENTS MODEL FOR LEVEL 2 OF THE MESSAGE TRANSFER PART OF

Signalling network management functions:

The purpose of these functions is to provide reconfiguration of the

signalling network in case of failure and to control traffic in case of

congestion. Such a reconfiguration is effected by use of appropriate

procedures to change the routing of signalling traffic in order to

bypass the faulty links or signalling points. When the faulty link or

signalling point is restored, the opposite actions and procedures take

place, in order to re-establish the normal configuration of the signal­

ling network.

20

Page 22: REQUIREMENTS MODEL FOR LEVEL 2 OF THE MESSAGE TRANSFER PART OF

4. STRUCTURED SYSTEM DEVELOPMENT

4.1. Overview

Implementing the CCITIs Signalling System No. 7 is a complicated job. The

description of the CCITI-Recommendations on SS7 include as much as almost

1500 pages [CCITI, 1989]. It will be clear that SS7 is a very complex system.

Therefore it is necessary to make use of structured methods in the system develop­

ment phase. These methods must both be standardized as well as formal. Stand­

ardized, because other people have to be able to understand, and perhaps

continue or change, the work. On the other hand the method has to be formal

because that is the only way to cope with vagueness. This is also of importance for

other people.

Today a number of methods and tools have been created to aid in every

phase of system development. An integrated set of such methods and tools is

called Computer-Aided Software Engineering tool, a CASE-tool.

The method that will be used to analyse, and later on design and implement

SS7 is described by D.J. Hatley and I.A. Pirbhai [Hatley, 1987]. Section 4.2.

explains this structured method in detail. Section 4.3. contains the description of a

CASE-tool that supports the Hatley & Pirbhai-method. This tool, which is used to

analyse SS7, is called ProMod [ProMod, 1989].

4.2. Hatley & Pirbhai

4.2.1. The overall strategy

The formal method by Hatley & Pirbhai is an adaptation of earlier methods

for structured analysis and structured design, which can be found in the so-called

Yourdon-literature [yourdon, 1978] [Ward, 1985]. E. Yourdon is the writer of one of

the first books on this subject.

21

Page 23: REQUIREMENTS MODEL FOR LEVEL 2 OF THE MESSAGE TRANSFER PART OF

According to the method two models have to be developed before the

system may be implemented. The first model is called the requirements model

( section 4.2.2. ) and must describe what the system must do. The second model

is called the architecture model ( section 4.2.3. ) and must describe how the

system design will be structured. The next sections will describe both models.

4.2.2. The requirements model

The requirements model is not a physical model of the design. It represents

what has to be designed, not how to design it. It must leave as much space as

possible to the designers choice how to implement the system.

The principal tools of the requirements model are flow diagrams ( FDs ):

graphical models of signal flows and processes acting on those flows. FDs consist

of data flow diagrams, DFDs, and control flow diagrams, CFDs.

The other components of the requirements model are:

Process specifications ( PSPECs ): they specify in concise terms

each detail of the system's functional requirements.

Control specifications ( CSPECs ): they specify the processing of

control flow.

Requirements dictionary: this part contains a listing of all the data­

and control-flows on the DFDs and CFDs together with their definiti­

ons.

Response timing specifications: this part defines the limits on

response time allowed between events at the system's input and the

resulting events at the system's output.

In figure 4.1. the relations of the components of the requirements model are shown.

The flow diagrams ( Le. DFDs and CFDs ) are graphical models of signal

flows ( Le. data- and control-flows) and processes acting on those flows. The

analyst decomposes the system and its functions into a hierarchical structure of

processes, and describes the requirements of the system.

22

Page 24: REQUIREMENTS MODEL FOR LEVEL 2 OF THE MESSAGE TRANSFER PART OF

Data Context Control Context

DiagramTIming

Diagram

~ -{) SpecIfIcatIon /1 4"~

"l~

Data Flow

h- ~Control Flow

Diagrams Diagrams

.& ~Prooes Control

Specifications SpecIfIcatIons

~ ~

I Requirements Dictionary IFigure 4.1. Components of requirements model

On the top-level, only one process exists. This process represents the

system that has to be designed. The flow diagram ( FD ) that contains this process

is called the context diagram. This diagram, which contains the Data Context

Diagram as well as the Control Context Diagram, describes the communication of

the system with the outer world. Objects belonging to this outer world may be

placed in the context diagram. These objects are called terminators.

The top-level process is functionally decomposed into smaller ( sub )

processes. This decomposition of ( sub) processes continues until, at the lowest

level, a number of primitive processes exist. A process is called a primitive process

when it can be described by a PSPEC in an unambiguous way ( e.g. using

structured English ). Each process that is not a primitive process is described by a

FD.

As been told before, a FD actually consists of two FDs, a DFD and a CFD,

but they may be drawn as one diagram. Figure 4.2. shows an example of a context

diagram, figure 4.3. shows an example of a FD at a level below the top-level.

23

Page 25: REQUIREMENTS MODEL FOR LEVEL 2 OF THE MESSAGE TRANSFER PART OF

Figure 4.2. Context diagram

~-------}------------;

......_------I

~ ,,/'-----_/

*bOw;*bOw

Figure 4.3. Flow diagram

The elements that may be used in the FDs are:

Processes ( circles ) are part of the hierarchical structure as descri­

bed above. A process indicates the transformation of incoming flows

24

Page 26: REQUIREMENTS MODEL FOR LEVEL 2 OF THE MESSAGE TRANSFER PART OF

into outgoing flows. Non-primitive processes are described by a FD

one level lower in the hierarchy, primitive processes by a PSPEC.

A Data flow ( directed arc) is a pipeline through which data of known

composition flows. It may consist of a single element or a group of

elements ( e.g. a data flow may represent a single bit, a bit stream,

but also the traffic-flow on a road ). Data flows may be split or mer­

ged.

What is stated for data flows is valid for control flows ( dashed

arcs ) too, except that they carry control information. The difference

between data and control is difficult to describe and depends on the

interpretation of the model developer.

A Store ( two horizontal lines ) is simply a flow frozen in time. The

information it contains may be used any time after that information is

stored and in any order.

A CSPEC bar ( bar, only used in a CFD ) is used on a CFD to

indicate the interface between the CFD and its CSPEC. Different bars

in the same CFD are all associated with the same CSPEC.

A Terminator ( square ) represents an entity outside the context of

the system. It shows the communication of the system with the outer

world.

A set of DFDs and CFDs is a model of the requirements of a system, not a

representation of the system's implementation. The model is highly idealized; it is

assumed to be data triggered and infinitely fast. Whenever data sufficient for a

given process to perform its task appears at its inputs, it will perform that particular

task and do so instantaneously.

Some processes are not triggered by data, but by control. This means that

the activation of the process is described in the CSPEC or PSPEC.

25

Page 27: REQUIREMENTS MODEL FOR LEVEL 2 OF THE MESSAGE TRANSFER PART OF

4.2.3. The architecture model

Not too much will be told about this model, because it is beyond the subject

that is discussed in this report ( Le. the requirements model of SS7 ).

The architecture model is created to model the system's design, to show the

configuration of physical modules that perform all the required data and control

processing. The requirements are mapped into an architecture model taking all the

design constraints into account. The purposes of the architecture model are listed

below:

show physical components that make up the system,

define the information flow between these physical components, and

specify the channels on which this information flows.

To fulfil these purposes, the architecture model uses a number of compo­

nents ( diagrams, textual specifications ) which are shown in figure 4.4. and

described below.

Archlteclure Context

DiagramL.;::,.

~ 'V'Architecture Row (}- rt Architecture Intercon.

Diagrams Diagrams

~ ~Architecture Module Architecture Intercon.

Specification SpecIfIC8IIon

",7 "'7

IArchitecture DIctIonary

I

Figure 4.4. The architecture model

26

Page 28: REQUIREMENTS MODEL FOR LEVEL 2 OF THE MESSAGE TRANSFER PART OF

Architecture model components:

An architecture flow diagram ( AFD ) is a network representation of

a system's physical configuration; it documents the information flow

between all the architecture modules, of which there can be any

number in the system. The AFD also represents the allocation of flows

and processes from the DFDs and CFDs into architecture modules.

An architecture module specification ( AMS ) is written for every

module in the architecture model to state the allocation off data flow,

control flow, and processing to be performed by that module.

The architecture dictionary consists of a listing off all the data and

control elements that flow between the architecture modules as well

as between architecture modules and external entities.

The architecture context diagram establishes the information

boundary between the system being implemented and the environ­

ment in which the system has to operate. It is the highest level dia­

gram for any system.

An architecture Interconnect diagram ( AID) is a representation of

the communication channels that exist between the architecture

modules; it shows the physical means by which the modules commu­

nicate.

The architecture interconnect specification ( AIS ) establishes the

characteristics of the communication channels on which information

travels between architectural modules. It describes the transmission

medium and the information formats.

Like in the requirements model the architecture model consists of a layered

set of AFDs and AIDs and their associated AMSs and AISs, as can be seen in

figure 4.4.

27

Page 29: REQUIREMENTS MODEL FOR LEVEL 2 OF THE MESSAGE TRANSFER PART OF

4.3. The CASE-tool ProMod

Promod ( version 1.17a ) is a CASE-tool which supports the Hatley & Pirbhai

method for the most part. It is a highly automated system engineering environment

enabling the analyst to generate a detailed specification for system development.

Using ProMod the analyst forms that specification in three logical steps,which are

shown in figure 4.5.

Problem Requirements System Program

Statement -----t Analysls & f------t DesIgn ~ Design --l>

DefInition

User's

Wishes

System

Model

System Program

SpecIfIcation SpecIfIcation

Figure 4.5. The ProMod project model

Those steps are listed below.

1 Using an elementary system of structured analysis, the analyst crea­

tes a basic graphic model of the required system.

2 With ProMod, utilizing information contained in the graphic model, the

analyst or designer develops a system architecture made up of

modules arranged hierarchically and with strictly defined interfaces.

3 Using a simple pseudo code, the designer refines algorithms and data

as ProMod prepares cross references for data, functions, user-selec­

ted attributes, etc, and prepares logically structured documents.

28

Page 30: REQUIREMENTS MODEL FOR LEVEL 2 OF THE MESSAGE TRANSFER PART OF

This results in a detailed system specification and a wide variety of valuable reports.

At each step in the development process ProMod automatically analyzes the

accumulated information to ensure consistency and completeness. This feature

prevents propagation of an error from step to step and ensure matching module

interfaces.

The three principal phases in the system development that are supported by

ProMod are:

Requirements analysis and definition.

System design.

Program design.

The first phase, requirements analysis and definition, is the only one to be discus­

sed in this report. The other two phases were no part of the analysis of SS?

4.3.1. ReqUirements analysis and definition

This first part of ProMod largely corresponds to developing a requirements

model according to Hatley & Pirbhai. A drawing editor allows the user to draw the

flow diagrams ( DFDs and CFDs ). A text editor makes it possible to enter the

control and process specifications as well as the data dictionary. Nevertheless,

ProMod has some minor disadvantages:

The program is very slow, even when it runs on an Intel 80386 MS­

dos machine. The error check procedure lasts approximately 30

minutes ( regarding my project file with a size of 3.? Mb ), even when

only a single item has been added or changed.

ProMod is extremely copy protected. I couldn't use ProMod for a

couple of weeks just because of this protection.

The internal text editor is very limited. Use of an external editor ( e.g.

WordPerfect) is possible and, when the user needs to type in a lot of

text, this is strongly recommended.

29

Page 31: REQUIREMENTS MODEL FOR LEVEL 2 OF THE MESSAGE TRANSFER PART OF

ProMod is not entirely compatible to the method of Hatley & Pirbhai. It

demands a specification of all processes instead of only for primitive

ones. These specifications are called mini specifications ( MSPs ).

30

Page 32: REQUIREMENTS MODEL FOR LEVEL 2 OF THE MESSAGE TRANSFER PART OF

5. THE REQUIREMENTS MODEL OF MTPs LEVEL 2

5.1 Introduction

This chapter discusses the design of the requirements model of level 2 of

the Message Transfer Part ( MTP ), the main subject of this report. The basis of the

design of this model are the CCITIs Recommendations and Specifications of

Signalling System No. 7 [CCITI, 1989], the so called Blue Books, especially

recommendations 0.700-0.703. This part of the Blue Books contains a specifica­

tion of the MTP in SOL ( Specification and Description Language ), described in

section 5.2.1. It is this specification that has to be transformed to the requirements

model.

At this point a major difference with regards to to the normal process of

designing the requirements model, appears. In most cases the starting point from

which such a model is developed is an idea, a thought. In this case however the

starting point is formed by recommendations 0.700-0.703, the complete SDL

specifications. At first sight it may not look very useful to transform one specificati­

on ( in SOL ) into another one ( the requirements model ) but in a further phase of

system development, the system design phase done by the system designer, the

requirements model offers more advantages than the SDL specifications does ( e.g.

support by the CASE-tool ProMod which is used at the Digital Systems Group ).

Section 5.2. contains a brief comment on the recommendations on SS7,

while sections 5.3. and 5.4. describe the phases of the design of the requirements

model using ProMod.

5.2. The recommendations on SS7

The Blue Books recommendations 0.700-0.795 contain the specifications of

Signalling System No.7, as mentioned before. This recommendations provide an

overview of the signalling system by describing the various functional elements of

SS7 and the relations between these functional elements. Some of these elements

31

Page 33: REQUIREMENTS MODEL FOR LEVEL 2 OF THE MESSAGE TRANSFER PART OF

are the MTP ( Message Transfer Part ), the SCCP ( Signalling Connection Control

Part ) and the UPs ( User Parts ). The part that is of importance for the require­

ments model is described in recommendation 0.703; specifications and descripti­

ons about level 2 of the MTP. Recommendation 0.703 describes the functions and

procedures for and relating to the transfer of signalling messages over one

signalling data link. These signalling link functions, together with a signalling data

link as bearer, provide a signalling link for reliable transfer of signalling messages

between two directly connected signalling points.

0.703 exists of description in text as well as descriptions in SOL-diagrams.

This diagrams show the flow of internal and external signals, they describe the

functional working of level 2. The problem is to translate this descriptions to a clear

and useful requirements model. Now a short description about SOL will follow to

make the reader familiar with this subject.

5.2.1. SOL. Specification and Description Language

The specifications of the MTP are described as state transition diagrams

according to the Specification and Description Language ( SOL) of the CCITT.

le~9m~)output

1.

) '~9mallInput I

2.D="u&

3.

)Imem~Input

4.

EJE)5. 6. 7.

Figure 5.1. SOL symbols

32

Page 34: REQUIREMENTS MODEL FOR LEVEL 2 OF THE MESSAGE TRANSFER PART OF

Some of the elements used in SDL are shown in figure 5.1. and listed below.

1. External outputs are used for interactions with different functional

blocks ( Le. other state transition diagrams ). The output signal can

be a control flow as well as a data flow. SDL does not distinguish

between control flows and data flows as Hatley & Pirbhai do. Hatley &

Pirbhai allow also state transition diagrams, but only with ingoing and

outgoing control flows.

2. Like external outputs, external Inputs are also used for interactions

with other functional blocks.

3. Internal outputs are used for interactions within a functional block,

e.g. an internal timer.

4. Internal Inputs have the same functions as the internal outputs.

5. Test-symbols choose one out of two possibilities ( Le. true or false ),

depending on the result of a test.

6. Action-blocks contain some kind of action that has to be taken, e.g.

a variable assignment.

7. The state-symbol represents a state. When in this state a particular

input ( external or internal ) arrives a transition to another state takes

place. Between two states it is possible to pertorm some actions

and/or tests.

Figure 5.2. shows an arbitrary example of a part of a SDL-diagram. The explanation

is listed below.

State 51 is the initial state. On Input the test will be pertormed. If the test

result is false a transition to state 51 follows. If the test result is true, the Action will

be pertormed and Output will be sent. The transition to state 52 will compete this

step.

Knowing that this brief description of CCITIs Specification and Description

Language does not cover all its functions and purposes, nothing more will be said

about it.

33

Page 35: REQUIREMENTS MODEL FOR LEVEL 2 OF THE MESSAGE TRANSFER PART OF

Figure 5.2. Example of SDL-diagram

5.3. Structural description of MTPs level 2

5.3.1. Division of the MTP Into functional blocks

Because of the complexity of the signalling system and its levels, the CCITT

described a division of the MTP level 2 into functional blocks. Together these

blocks take care of the signalling link functions which are stated below:

signal unit delimitation.

signal unit alignment.

error detection.

error correction.

initial alignment.

signalling link error monitoring.

flow control.

The interaction between the functional blocks is shown in figure 5.3.

All these functions, described earlier in this report, are coordinated by the Link

State Control part ( LSC ). This function provides instructions to the other signalling

link functions.

34

Page 36: REQUIREMENTS MODEL FOR LEVEL 2 OF THE MESSAGE TRANSFER PART OF

The partition into functional blocks as shown in figure 5.3. is very simple. It is

not clear which specific signals flow between the functional blocks. Therefore a

more detailed partition, shown in figure 5.4., has been made.

SignallinQ link control,

11.....121

MSUII

+----lSSU" R.ceptton

"'''----. ~+----

-- .. I I +Signall.1"Ig:

I I Error

network link 1tate I ICong"tlon I' detection Tranlminea SignallingI control I delimlnatlon ,nd r'cei~ data link

funC1iOM control DIrt I DIrt I ,nd bin II.....' 1111.....131 1--- I I alignment~ ~

I

----0 SU"

1+---- ~

TransmiSSion

RetrIeved MSU al "'''MSU aJ 1+----

con KDeI

MSU Mlneql Ilgnat unIt

SU Stgnal unitLSSU Link uatul ~lgn.1 units

- SignaUinv melllg, flow._ _ _ _ _ COnlr011J and indlCltlon,

Figure 5.3. Interactions of functional blocks

This partition will be used as a basis for the design of the requirements

model using ProMod. It shows ten functional blocks and the specific flows between

those blocks. As can be seen, no difference is made between data flows and

control flows. However, ProMod requires a distinction between those kind of

signals. The choice which flows are control flows or data flows will be explained in

the next sections. A brief description of the functional blocks is listed below.

The Link State Control ( LSC ) provides instructions to the other

functional blocks.

The Initial Alignment Control ( lAC) is appropriate to both first time

initialization and alignment in association with restoration after a link

failure.

35

Page 37: REQUIREMENTS MODEL FOR LEVEL 2 OF THE MESSAGE TRANSFER PART OF

,-__-==t:==-__....., F,ql.l'~ 11"0 70J~ lqur" 11 a.703

ux...

R"" ... ~BSNT

~~~~ISU ~Aceo,"MSU/F1SU l;l ]511ft ~

StOP

O"II"II(llIIon. ,I'gnment.nd tHO' drtee::lronIrec.lll'lnql

Se, T j to TieStlrtS'OP

SU } II:0

,n .nor ...<

Abott prOYlnG 0

...Z

'"..~ ...-g l-~ f

I

".-nOtf procltUOf Irecovered II:

Remot. proc,"orOU'OOOStepLOCiI orOCfUOrrfCo....r!ld

PrOClilOf'Loc.l orOCfPOl'ou'OI/Oou_ control

NoorOC.SlOrOU'OI/O F9'ro 10/0.703

Corrf'Cl SUSU In trror

n.2' 2'«

FSNT ....Iue

NACI( to Df sentFSNX .... IueBSNR ond BIBRSIB ffCt.yed

LSC r SI'"l Stop

Recommend.ll0n Q.7G4

lInk It.t, conUol

T"nsmtUlon control

F1VU" 13/0.703Fil)l.Ht 15/0.703

Orhmllatu:lM.•1IgntTlrnt"nd rrrOf detectIonltr.nll"ltllng)

ccm -It

Abbr~viated message names have been used in this diagram (i.e. origin - destination codes are omilled).

See the abbreviallons and timers used in this figure in § 12.

NOI~ 1

No/~ :;

Figure 5.4. Functional block diagram of level 2

36

Page 38: REQUIREMENTS MODEL FOR LEVEL 2 OF THE MESSAGE TRANSFER PART OF

The Congestion Control part ( CC ) takes care of the flow control

during congestion conditions.

Transmission and retransmission of level 3 messages is handled by

the Transmission Control (TXC ).

The reception of messages is handled by the Reception Control part

(RC ).

Delimitation, Alignment and Error Detection ( transm. ) ( DAEDT )

generates the check bits that are needed by the error detection

function. It also inserts zeros when needed ( this process is called

zero-bit insertion ) and it adds the flag-patterns to the messages that

have to be transmitted.

Delimitation, Alignment and Error Detection ( recelv. ) ( DAEDR )

removes the flags and the inserted zeros. It also checks the incoming

message on errors.

The Signal Unit Error Rate Monitor ( SUERM ) monitors the error

rate of the signalling link when it's in service.

The Alignment Error Rate Monitor ( AERM ) monitors the error rate

during alignment of the link.

The Processor Outage Control deals with local and/or remote

processor outage ( a processor outage situation occurs when, due to

factors at a functional level higher than level 2, use of the link is

precluded ).

All these functional blocks are specified as state transition diagrams in the Blue

Books, recommendation Q.703.

The next sections describe the partition of level 2 of the MTP using the

CASE-tool ProMod.

5.3.2. First level partitioning

In the previous section a division of the MTP level 2 was shown. This

partition will be used during the design of the requirements model because it is a

functional partition that is clear and easy to understand.

37

Page 39: REQUIREMENTS MODEL FOR LEVEL 2 OF THE MESSAGE TRANSFER PART OF

During the design of the requirements model the first step to be made was

defining the context diagram. This diagram contains a single process, which

represents level 2 of the Message Transfer Part, and a number of terminators. The

terminators represent the connections of level 2 with the outer world. The context

diagram ( Le. the Context Data Flow Diagram ( DFD ) as well as the Context

Control Flow Diagram ( CFD ) ) is shown in annex A.

According to the method of Hatley & Pirbhai this process must be split up

into smaller ( sub) processes. During this process of splitting, a number of factors

were taken into account, such as:

the splitting has to be logical as well as functional,

the resulting pictures need to be clear, and

only the important things have to be shown.

Splitting the context diagram process results in DFD1 and CFD1, shown in

annex B. These FDs contain three processes. The first one takes care of the

control of the link and its alignment. Process no. 2 handles the transmission and

retransmission of signal units that have to be transmitted. Process no. 3 deals with

reception of signal units. For a more detailed description of all the processes, see

[Dreumel, 1991].

5.3.3. Lower level partitioning

The partitioning of processes is continued until the processes are equal to

the functional blocks which were described in section 5.3.1. The next thing to do is

split these processes into smaller ( sub ) processes until a number of processes

exist that are easy to describe in an unambiguous way, so called primitive proces­

ses. This further splitting is done on a functional base, resulting in the requirements

model shown in [Dreumel, 1991]. This model represents the MTP level 2.

The next sections discuss the choices that were made during the design

process using ProMod.

38

Page 40: REQUIREMENTS MODEL FOR LEVEL 2 OF THE MESSAGE TRANSFER PART OF

5.4. Functional description of MTPs level 2

This section discusses the choices that were made during the design of the

requirements model. It describes the way in which the elements according to the

method of Hatley & Pirbhai should be interpreted.

5.4.1. Flows

Figure 5.4. makes no difference between data flows and control flows.

Because of the fact that ProMod, as well as Hatley & Pirbhai, do distinguish

between these flows, a choice had to be made: which flows should be marked as

data flows and which as control flows? The solution is as follows. All the flows that

represent real data ( Le. bits, signal units, messages, numbers: flows with values

that are different all the time ) are marked as data flows. The remaining flows (

values that are one of a few, e.g. start or stop) that are used to control functional

blocks are marked as control flows.

As can be seen in [Dreumel, 1991] the majority of the flows are control

flows. This is not very surprising because Signalling System No. 7 is a system that

'controls' the transfer of messages.

The choice to mark the flows in the way described in [Dreumel, 1991] is the

choice of the system analyst. It is not the one and only solution, but I find it clear

and functional.

5.4.2. Processes

Most of the processes described in [Dreumel, 1991] are not primitive

processes. The descriptions of their functions, the Mini Specifications ( MSP ), are

written in English and easy to understand. The primitive processes however are

described in so-called Structured English ( e.g. IF-THEN statements ). This results

in a number of descriptions that are clear and unambiguous. Figure 5.5. shows an

example of a description of a primitive process.

39

Page 41: REQUIREMENTS MODEL FOR LEVEL 2 OF THE MESSAGE TRANSFER PART OF

The last thing to be said about the processes is that some of them are

triggered by a CSP-bar ( see section 5.4.3. ) and some of them are triggered by

incoming data ( e.g. an incoming bit stream ).

REPEAT

IF >Proces_control - Start THEN ·Start proces·

ELSE IF >Proce8_control - Stop THEN ·Stop proces" AND

·Reset all the stores·

ELSE IF >StarLtimer THEN ·Start the timer" AND

<1lmecstatus - Started

FOREVER

Figure 5.5. Example of Mini Specification

5.4.3. eSP-bars

At first sight it looks easy to translate the SOL-specifications, in the form of

state transition diagrams, into CSPEC-bars, which can be defined as state transition

diagrams too. However there is one difference between the two methods mentio­

ned. The SOL-specifications do not distinguish between data flows and control

flows as the CSP-bar does. So the SOL-diagrams had to be split into a data flow

part and a control flow part. The first part should be defined using processes ( Le.

primitive as well as non-primitive processes ) as discussed in the previous section.

The second part should be defined as state transition diagrams ( CSP-bars ). Now

the layout of these CSP-bars is discussed.

When in a certain state, a transition to another state takes place as some

particular input ( or inputs ) arrives. This input can be a control flow as well as

40

Page 42: REQUIREMENTS MODEL FOR LEVEL 2 OF THE MESSAGE TRANSFER PART OF

some test result. During a transition it is possible to perform some actions. The

notation that is used in the control specifications in [Dreumel, 1991] is as follows.

STATE name of state:IF input1 LOG OP

input2 LOG=OP

THEN output1/action1,output2/action2,

GOTO name of state;IF

THEN

GOTO name of state.

This notation should be interpreted as follows:

name of state is the name that represents a particular state. In the

notation above it is possible that the three name of state fields repre­

sent three different states.

input can be an incoming control flow or a test result. In case of an

incoming flow it is preceded by a '>' mark. When it is a test result it is

placed between quote marks ( ''test result" ).

LOG_OP is the logical operator AND or OR. When there is only one

input then this LOG_OP is not needed.

output/action means that an outgoing control flow may be sent as

well as an action may be performed. In case of an output flow it is

preceded by a •<' mark. An action is placed between quote marks.

the IF-THEN-GOTO statements are obvious. When the IF condition is

true then some outputs are sent and some actions performed. Next

step is the GOTO jump to another or the same state.

For clearity an example is placed in figure 5.6.

41

Page 43: REQUIREMENTS MODEL FOR LEVEL 2 OF THE MESSAGE TRANSFER PART OF

STATE Idle:

IF >control - Start AND

"atatu.-.tore - lnacdve"THEN <proceturtarted,

"status-store :- active".

GOTO In_service:

IF >control - Stop AND

"atatus-store - adlve"THEN <prooe8_halted.

"status-store :- Inactive",

GOTO Idle.

STATE In_service:

IF etc.

Figure 5.6. Example of Control Specification

5.4.4. Stores

It is decided that every store that is used in the requirements model is

controlled by one process, a store-control process. This process and the store it

controls appear in the highest level flow diagram where the store is used for the

first time. Whenever the store is used at a lower level, it is not shown in the

accessory flow diagrams. Every time a process or a CSP-bar wants to use the

store to perform a read or write action, the store-control process takes care.

5.4.5. Terminators

There is not much to be said about the terminators. They are defined in the

context diagram ( top level ) and represent the connections between level 2 of the

Message Transfer Part ( MTP ) and the outer world. In this case the outer world

exists of the levels of the MTP that surround level 2, Le. levels 1 and 3. These levels

were briefly described earlier in this report. A third terminator represents the

management of the signalling system. This part does not only manage level two but

also the other levels although this can not be concluded from the context diagram.

42

Page 44: REQUIREMENTS MODEL FOR LEVEL 2 OF THE MESSAGE TRANSFER PART OF

6. CONCLUSIONS AND RECOMMENDATIONS

With the CASE-tool ProMod [PreMod, 1989] a requirements model of level 2

of the Message Transfer Part ( MTP ) has been developed [Dreumel, 1991] using

the formal method of Hatley & Pirbhai [Hatley, 1987]. Starting point was the

specification of the MTPs level 2 as is described in recommendations Q.703

[CCITT, 1989] ( Blue Books ). The requirements model satisfies this specification

completely. ProMod does not detect any errors, so the model is assumed to be

correct.

ProMod appeared to be very helpful in the development of the requirements

model. Disadvantageous was the fact that the tool runs very slow when the system

that has to be developed is very large. There SS7 is a very complicated and

extensive system, the limits of ProMod could be reached and some problems may

arise in the future.

Before level 2 of the MTP may be implemented, the requirements model

must be transformed into an architecture model and a suitable programming

environment must be chosen. After implementation of level 2, a structured analysis

and implementation of MTPs level 3 are still to be done. After that, the transport

mechanism of SS7 ( Le. the MTP ) is finished. The remaining parts of SS7, such as

the Signalling Connection Control Part and the User Parts, should be analyzed and

implemented in the way that is described in this report.

43

Page 45: REQUIREMENTS MODEL FOR LEVEL 2 OF THE MESSAGE TRANSFER PART OF

REFERENCES

CCITT.

SPECIFICATIONS OF SIGNALLING SYSTEM NO.7.

vol. 6.7. recommendations 0.700-0.716,

vol. 6.8. recommendations 0.721-0.766,

vol. 6.9. recommendations Q.771-0.795,

Geneva, 1989 ( Blue Books ).

Dreumel, I.W.J. van

REOUIREMENTS MODEL FOR LEVEL 2 OF THE MESSAGE TRANSFER PART

PART 2: PROMOD SA-REPORT.

Eindhoven University of Technology, Department of Electrical Engineering,

Digital Systems Group, May 1991.

Hatley, D.J. and Pirbhai I.A.

STRATEGIES FOR REAL-TIME SYSTEM SPECIFICATION.

New York, Dorset House, 1987.

Ligtenberg, M.F.J.

SOFTWARE DESIGN FOR THE CONTROL SYSTEM OF A DIGITAL TELEPHONE

EXCHANGE.

Eindhoven University of Technology, Department of Electrical Engineering,

Digital Systems Group, August 1990.

Master thesis report, TUE-EB271.

ProMod

COMPUTER AIDED SOFTWARE ENGINEERING USERS MANUAL.

Aachen GEl, July 1989.

44

Page 46: REQUIREMENTS MODEL FOR LEVEL 2 OF THE MESSAGE TRANSFER PART OF

Ronayne, J.P.

INTRODUCTION TO DIGITAL COMMUNICATIONS SWITCHING.

London, Pitman Publishing Ltd., 1986.

Verhoof, P.H.W.

REQUIREMENTS MODEL FOR THE CONTROL SYSTEM OF A DIGITAL TELE­

PHONE EXCHANGE.

Eindhoven University of Technology, Department of Electrical Engineering,

Digital Systems Group, February 1990.

Master thesis report, TUE-EB232.

Ward, P.T. and Mellor, S.J.

STRUCTURED DEVELOPMENT FOR REAL-TIME SYSTEMS.

Vol. 1-3.

New York, Yourdon Press, 1985.

Yourdon, E and Constantine, L

STRUCTURED DESIGN: FUNDAMENTALS OF A DISCIPLINE OF COMPUTER

PROGRAM AND SYSTEMS DESIGN.

New York, Yourdon, 1978 ( 1st edition: 1975 ).

45

Page 47: REQUIREMENTS MODEL FOR LEVEL 2 OF THE MESSAGE TRANSFER PART OF

BIB

BSN

CAS

CASE

CCS

CCITT

FIB

FISU

FSN

LSSU

MSU

MTP

SCCP

SIB

SIE

SIN

SIO

SIOS

SIPO

SP

SS7

STP

UP

ABBREVIATIONS

= Backward Indicator Bit.

= Backward Sequence Number.

= Channel Associated Signalling.

= Computer Aided Software Engineering.

= Common Channel Signalling.

= International Telegraph and Telephone Consultative Committee.

= Forward Indicator Bit.

= Fill-In Signal Unit.

= Forward Sequence Number.

= Link Status Signal Unit.

= Message Signal Unit.

= Message Transfer Part.

= Signalling Connection Control Part.

= Status Indication 'busy'.

= Status Indication 'emergency'.

= Status Indication 'normal'.

= Status Indication 'out of alignment'.

= Status Indication 'out of service'.

= Status Indication 'processor outage'.

= Signalling Point.

= Signalling System NO.7.

= Signal Transfer Point.

= User Part.

46

Page 48: REQUIREMENTS MODEL FOR LEVEL 2 OF THE MESSAGE TRANSFER PART OF

ANNEX A:

CONTEXT DIAGRAMS LEVEL 0

47

Page 49: REQUIREMENTS MODEL FOR LEVEL 2 OF THE MESSAGE TRANSFER PART OF

Messa e f

re uest

BSNT

Rece! vedJllessage

Retr ieyedJllessages

Manage~ent

Bits_for transmission

Receiyed....bits

LEVEL.

PROJECT:

oMTP~2

S S 7 Me s sag e _ T ran s fer

LAST UPDATE:

LAST ANALYSIS:

Par t

04-APR-!991 10: 52

02-MAY-1991 OB: 49

Management

Llnksongest lon_status".".,------..., Power 1

/ "- _on IRemote...processor~tatus \ I Level_3

/ - - -- - -.... / _fallure/'Retr I eyal_colp Jete ,'8/ I

/ / - -- --- -~ II __Servi~e~at~ '-: -- -

-.... -:::; MTPMTP ~er~cy _con tro J MTPLeve 1_3 - - - - >( Level..) Leyel_1-.... ;p\ .!

"- -.... LSC_controJ --- - - -- -'- I /-.... Retr ieve_BSN r - -" - - -- I"- Local...processor_status ./-.... - ---- -

S S 7 - M e s sag e _Trans f e r _ Par t

LEVEL: 0 ILAST UPDATE: 04-APR-!991 10: 52

PROJECT: MTP~2 ILAST ANAL YSIS: 02-MAY-!99! OB: 49

48

Page 50: REQUIREMENTS MODEL FOR LEVEL 2 OF THE MESSAGE TRANSFER PART OF

PROBLEM_DESCRIPTION SS?_Message_Transfer_Part

The context is the Message Transfer Part ( MTP ), used within Signalling

System No. ? ( SS? ). The MTP provides the functions that enables information,

that is important for user parts, passed to the MTP to be transferred across the

SS? signalling network in signal units ( SUs ) to the required destination. Mechan­

isms are provided in the MTP to ensure SUs are received in the correct sequence,

any errors detected, and, if required, messages retransmitted. In addition, further

procedures ensure that the impact of network or system failures have minimal

effect on the ability of the MTP to transfer SUs.

The MTP consists of three levels ( Level 1-3 ). The functions performed by

the MTP are specified in terms of the level in which they are located.

49

Page 51: REQUIREMENTS MODEL FOR LEVEL 2 OF THE MESSAGE TRANSFER PART OF

ANNEX B:

FLOW DIAGRAMS LEVEL 1

50

Page 52: REQUIREMENTS MODEL FOR LEVEL 2 OF THE MESSAGE TRANSFER PART OF

Retr leva l.reQuestand FSNC

Mr.ssage for t raoCjmi 55 i on

~ved essa es

Retr leva l...request ~ndJSNC.recel ved

FSNT_value

~cel vedJllessage

BSNT--------MT P Level _ 2

Recelvedj>its

LEVEl. LAST UPDATE: 29-APR-1991 OB: 59

PROJECT: MTP .../.2 LAST ANALYSIS: 02-MAY-1991 OB: 49

TXCJ:ontrol--....

Aetr Ievaliomp lete

,L.ini_congest ion_status

, , ,"- NACK \"- _to send SIB, "- j>e _SIB I .recel ved )

"- \. _sent I"- \. \ / /

"- /, "- \ I" /

--- , \I"- ,,-"- \ /

--- "- ,,\ /--- ,"

'-..

MT P Lev e

LInk failure RC_---:---

_Signal_u!0. t.r~cei!:d

---

Status_ind icatlon_IAC- -- - - - -

S~tus.-l!2>l i c.!!.iO~LSC./

Send"'processor _status_ind Ic atlon---------Send_a I ign~t~at!:!!._in_chcat~n

I I ,/' -- Send_slgnalJjnit

I -------~

I I /

\ \ 1/\ \ \ ,

/

~ergency :::.ontro J

Local...processo r~ta~ _

~tri~e_~NT

LSC_control

Leve 1_3_fai lure

~wer"'pn

/

Remote "'processor_status~-

Service status.. --- -

LEVEL: LAST UPDATE: 29-APR-1991 OB: 59

PROJECT" MTP .../.2 LAST ANALYSIS: 02-MAY-1991 OB: 49

51

Page 53: REQUIREMENTS MODEL FOR LEVEL 2 OF THE MESSAGE TRANSFER PART OF

MSP 1 MTP Level 2

The MTP level 2 comprises functions which facilitate the reliable transfer of

messages over a single signalling link. These functions, called the 'signalling link

functions', are:

- signal unit delimitation,

- signal unit alignment,

- error detection,

- error correction,

- initial alignment,

- signalling link error monitoring,

- flow control.

These functions ensure that messages are delivered in the correct order, and

without loss or duplication, on a link having line error rates up to a specified limit.

Error rates higher than this specified limit cause the link to fail.

The MTP_Level_2 is split into three main processes:

1. ControUink_and_alignment: controls all actions to be taken.

2. Transmit_messages: takes care of transmission and retransmission of

messages.

3. Receive messages: takes care of reception of messages.

52

Page 54: REQUIREMENTS MODEL FOR LEVEL 2 OF THE MESSAGE TRANSFER PART OF

ANNEX C:

HOW TO PRINT FDs USING THE LASER PRINTER

53

Page 55: REQUIREMENTS MODEL FOR LEVEL 2 OF THE MESSAGE TRANSFER PART OF

The pictures shown in the previous annex A and B were generated using the

HP Laserjet Plus. In this annex this possibility will be discussed.

ProMod supports two devices to show graphical representations on a piece

of paper. The first one is an IBM graphics printer, the second one is a plotter that is

able to plot so-called HPGL-files. With use of the program LP.exe ( Laser Plotter 1.2

for the HP Laserjet by Insight Development Corp. ) it is possible to print ProMods

plotter-files ( HPGL-format ) using a laser printer. This results in pictures like those

that were showed in annex A and B.

It is easy to create such HPGL-files with PreMod. Just select the Output-field

when the flow diagram you want to print is retrieved. Next field to select is the Plot­

field. A HPGL-file of the flow diagram will be created. This file is ready to be printed.

All you have to do is run LP.exe. This program is easy to understand, so nothing

more will be said about it.

54