SSCOP Protocol Throughput Evaluation – Simulation Based on

advertisement
SSCOP Protocol Throughput Evaluation
– Simulation Based on Estelle Specification
Cristian Negulescu, Eugen Borcoci
POLITEHNICA University of Bucharest,
Electronics and Telecomm. Faculty, Telecomm. Dept., 1-3 Bvd.Iuliu Maniu,
Bucharest -6, 77202, Romania
E-mail: ncristi@first.elcom.pub.ro
eugenbo@first.elcom.pub.ro
ABSTRACT
The contribution applies the performance evaluation (PE) methodology, based on
annotated Estelle specification simulation, to a real protocol - the Service Specific
Connection Oriented Protocol (SSCOP) - approved as B-ISDN ATM Adaptation
Layer (AAL) protocol standard by ITU- T. The complete Estelle SSCOP specification
was written, conforming the ITU-T Reccomendation Q.2110/1994 and validated for the
main connection management and data transfer related functions.The PE are performed
on the Estelle Development Tool (EDT/XEDT) developed at Institut National des
Télécommunications - Evry, France. We mainly studied - the SSCOP throughput,for
different parameters of the user and underlying layer and for different protocol
configurations. We obtained similar results to those reported in other studies ( but they
used simplified analytical models and/or simulation done on separate models). Our PE
run on the real protocol and for extended range of environment conditions, using the rich
set of predefined functions of XEDT and appropriated observers. Extensive simulation in
severe error conditions have revealed some specification errors and even flow control
inefficiencies of the SDL protocol definition Q.2110. Therefore the PE simulations can
additionally be used as a complement to the validation process by verification automata
and can lead to improvement of the protocol definition. Some simple adaptive flow
control policies are proposed and experimented by the authors and show an improved
throughput and less control packets overhead. The general conclusion is that the
methodology accompanied by a poweful tool is valuable for real life systems design since
it gives a user a possibility to evaluate performance in the early stage of protocol
development.
I INTRODUCTION
The performance related features of the communication protocols are currently of increasing
interest, especially in the context of high speed networks and new application, like real-time and
multimedia traffic carried by such networks.
This paper continues some previous work devoted to performance evaluation (PE) and parameter
tailoring of complex communication protocols by simulation of their Estelle formal specifications. The
general objective is to apply and further develop the Estelle - based methodology for complex protocol
1
design with early performance evaluation. While using the same formal specification as written for
validation and implementation of the protocol, predictions on the performance figures can be obtained by
simulation, in the early stage of the protocol development. We already applied this methodology to XTP
4.0 protocol, [BMB97] [BCM96] [BMC97]
A new case study is considered in this paper i.e., the Service Specific Connection Oriented
Protocol (SSCOP) - approved as B-ISDN ATM Adaptation Layer (AAL) protocol standard by ITU-T
(Q.2110) in 1994. The Estelle specification of the complete SSCOP protocol was written by the
authors and validated for the main connection management and data transfer related functions. Then
the specification was annotated in order to do PE, based on the Estelle Development Tool
(EDT/XEDT) developed at Institut National des Télécommunications - Evry, France, [SB92], [SB98].
The specific aim of this work is evaluating the SSCOP throughput capabilities in different link
conditions: loss probability of frames, round trip time, medium rate, etc., while varying the protocol
parameters ( poll interval and policies, flow control window, data unit size, etc.). Variations of user
layer parameters (sevice data unit size, rate) have also been taken into account, w.r.t different
choices of the protocol parameters. A comparison is done to other analytical and simulation ( using
different approach i.e. specially defined simulating environment ) results reported by different
authors. Some inefficiencies of the Q.2110-defined protocol have been found.
The main contributions and results reported by this study consist in:
- enriching the methodology and experience of real network complex protocols design - specifically
SSCOP performance evaluation based on formal description techniques (FDT) specifications and the
appropriate tools (EDT/XEDT),
- showing that applying the above methodology, the main results are similar to those of other
authors, e.g. [TH95 ], obtained analytically ( for simplified assumptions) or by simulations based on
separate PE -oriented models. The difference is that our PE are performed in extended working condition
range, in contrast to the simplified ones supposed in analytical studies, e.g. high error conditions - are not
manageable analytically in simple way,
- prediction on the protocol implementation performance characteristics ( because of work on the
same specification as used for implementation ) by introducing finite speed processing parameters in the
simulation sessions (nonzero - transition execution times, system management times),
- adding the PE oriented simulation as a complement to the protocol validation activity. Some
hidden errors in the formal specification can exist e.g. when manipulating some complex data structures as
retransmission lists or building complex status report packets, in the buffer management, etc.
- using the PE oriented simulations the inefficiency of some mechanisms or even some errors in the
initial non-formal or other FDT specifications presented in Standards/ Reccomendations drafts can be
emphasized. Therefore the PE simulation can help to correct/improve the initial system specifications.
The organization of the paper is the following: Section I is an introduction. Section II shortly
recalls some topics on protocol PE while using their formal specifications and appropriate tools to perform
PE. Section III presents a brief description of the SSCOP main characteristics. Section IV defines the
problems to be studied and the simulation environment. Section V presents the Estelle architecture of the
SSCOP developed by the authors and then completed to do PE. The main characteristics of the experiments
and some samples of results are given in the Section VI. In Section VII the general conclusions are given
and further work outlines.
II PERFORMANCE EVALUATION ON ESTELLE
SPECIFICATIONS
Communication protocol PE, performed early in the design process, is already an applied idea
([BMS96], [HB96], [DHM96], [BMB97]), based on analytical models or by simulation. We focus on
FDT-based simulations, because of the complexity of the studied protocol. The dynamic annotation
approach developed by S.Budkowski and M.Hendaz, [HB96], and the EDT tool have been selected to be
2
used.The Estelle Debugger (Edb) of EDT(see [HB95], [HB96], [SB98]) has PE facilities which mainly
consist in offering the user a possibility to:
• dynamically add to the simulated model the following information needed for performance evaluation:
•Transition execution time intervals
•System management time intervals
•Different distribution laws for the above intervals (Uniform, Exponential, Geometric, Poisson)
•Relative execution probabilities for non-deterministic transitions
• collect and display the measured results using dedicated Edb commands; some measurements are
independent with respect to the studied specification ( statistics on fired transitions, queue contents, etc.),
while other are specification related (throughput, response times, etc.).
The specification should be first functionally validated and then annotated and completed for PE.
The main steps to follow in order to prepare PE have been discussed in [BMB97], [BCM96], [BMC97].
Specifically to do PE for a protocol machine, the environment must be built (upper layer, lower layer,
management layer, all formally specified. The environment layers can be the same as used for the protocol
validation. Additionally to permit PE these layers should additionally accomplish:
- upper (user) layer: generating and receiving data units primitives at given rates and lengths (
fixed/random), conforming to an interface flow control policy if this is defined, performing some custom
ststistics which are not offered directly by the tool facilities.
- lower (medium) layer: possibility to vary the propagation delay, to loose/duplicate or reorder the
transferred packets with probabilities at choice.
At the protocol layer itself, one should process the real data length and introduce some transfer
delays and vary different policies or configuration parameters to obtain different conditions for the
simulation scenarios.
The XEDT permits PE oriented simulation, giving the possibility to collect information on
performance features. In the case of complex protocol evaluation there is necessary to add some "custom"
features the simulation in order to get information on some protocol mechanisms, using some special
defined variables or procedures/functions.
One must care that the additions to the already validated specification must not change its
behavior in order to keep on the previous validation. The minor modification to be done are only
"passive" ones: they consist in defining some special variables to collect specific results during the
simulation execution and compute (in atomic actions) some statistics. Neither new states nor new
transition are introduced.
Here are the steps we followed in order to do PE oriented simulations:
- normalized all time related parameters/values to an Estelle time unit, representing a real time value,
- completed (if necessary) the specification with additional
variables/functions/procedures to
set/generate/measure PE related values:
at user layer - to generate appropriate data units, at given rates, and to receive/count them,
at protocol layer , e.g.: processing the real data length and introduce some transfer delays,
at medium layer, e.g.: possibility to vary the propagation delay, to loose/reorder/duplicate the
packets with some given probabilities.
- defined which parameters have to be initialized:
- at compilation time
- before each new simulation (sub)session using Edb facilities (macros)
- wrote the macro/observers in order to do :
- (re)initialization of system parameters;
- activate /inactivate protocol features;
- observe events and stop/continue the simulations;
- assigning transition execution and system management times;
- tracing values for tmcurve/fscurve diagrams;
- run repeated simulation.
3
III SSCOP PROTOCOL MAIN CHARACTERISTICS
The SSCOP - is part of ATM Adaptation Layer ( combined with AAL5 the SSCOP forms the
signaling AAL, i.e. SAAL, but SSCOP can be useful also for other purposes than signaling). SSCOP is
an example of a lightweight high speed oriented protocol. It provides basically the same services as LAPDISDN or MTP2 (Message Transfer Part - layer 2) in Signaling System No.7., plus new features not
encountered in these protocols.
3.1 General features
The SSCOP protocol incorporates many features of a high speed connection oriented protocol
with reduced ( lightweight) processing. Initially it was devoted to accomplish the functions of a data link
layer protocol in the ATM Adaptation Layer stack, [ITU4], see Fig.3.1. The first two SSCF have been
defined to support UNI and NNI signaling in ATM networks. Due to its features, other more general usage
are currently in study ( Frame Relay, wireless networks, etc.), [TH95].
SAAL primitives
Service Specific
Convergence Sublayer
(SSCS) (3)
SAAL -SAP
Peer-to-peer PDUs
SSCF
AA-signals
SSCOP
Peer-to-peer PDUs
AAL5
Common Part AAL
Functions
(CPAAL)
CPCS
SAR
ATM primitives
Peer-to-peer PDUs
ATM -SAP
Fig. 3.1 The AAL Protocol stack
SSCF = Service Specific Coordination Function; SSCOP = Service Specific Connection Oriented
Protocol; CPCS = Common Part Convergence Sub-layer; SAR = Segmentation and Re-assembly;
ATM-SAP = ATM Service Access Point
The main functions of the SSCOP are:
a. Connection control and user-to-user information transfer (non-guaranteed delivery mode).
b. Transfer of user data in two modes :
- assured mode : point-to-point, connection oriented transfer with sequence integrity (SD data
units); error correction by selective retransmission, window based flow control, local data
retrieval - by the local SSCOP user,
- non-assured mode :possible in any state of the protocol, for point to point or broadcast
connectionless transfer.
c. Transfer of management data: in non-assured mode.
4
d. Protocol supervision :
- protocol error detection and recovery; - error reporting to Layer Management
- keep alive - this function verifies that the two peer SSCOP entities previously interconnected
in a link, are still in connection; - status reporting - transmitter and receiver entities exchange
status information.
3.2 SSCOP interfaces
3.2.1 The SSCOP/SSCF interface
The service offered by SSCOP is defined mainly in [ITU-T4]. Some other related documents
offer additional information [ITU-T 1,2,3,5]. The service primitives are defined for:
- connection setup and release
- sequenced and not-sequenced data transfer
- others: resynchronization requested the application level ( here we denote by "application" or
"user", the next upper sub-layer SSCF ), data retrieve by the user, recovery primitives ( at the initiative of
the protocol in case of serious errors ).
3.2.2 The management interface
SSCOP is design to interact with a management module of the SSCS via a set of special
primitives. It also offer unassured mode transfer for data exchange between management entities. The
primitives have the following functions:
- error reports by the protocol (MAA-ERROR.ind)
- data exchange between management entities ( MAA-UNITDATAreq/ind)
3.2.3 The lower interface
The service required by SSCOP from the lower layer is the most simple connectionless service,
based on two primitives CPCS-UNITDATA.invoke and CPCS-UNITDATA.signal.
3.3 The SSCOP functionality
Because of our objectives, we will basically present only the SSCOP data transfer characteristics especially for SD data units, and the related mechanisms (for details -see the above mentioned documents).
SSCOP itself belongs to the class of synchronous bit-oriented protocols. In assured mode
SSCOP orderly transfers data units PDUs - carried in SD frames, each having a sequence number, after
the connection establishment. Transfer of unnumbered individual data units (non-assured mode ) is possible
in any state of the protocol machine. No address fields nor connection identifiers are present in the SSCOP.
SSCOP opens ( full service, having four primitives), maintains and ends( non-graceful close,
bidirectional) point to point connections. The sequenced data (SD) transfer is performed after connection
setup and is mandatory terminated by connection release request primitives. The link between the two
entities is balanced, any one can initiate or terminate a connection.
An important point in the SSCOP design philosophy is the transmitter control principle in the
sense that usually the receiver responds with status reports only it is asked for, by interrogating (POLL)
frames sent by the sender. There is however an additional working mode, for faster recovery, in which the
receiver generates unsollicited status reports requesting retransmission, when it discover new
discontinuities in the received sequence of packets.
Resynchronization of the two pair entities could be performed if required by the user. While in
data transfer state some unrecoverable errors are discovered by the protocol, then SSCOP itself, enters a
recvery state informing the user on it. After user and peer responses, the data transfer can be resumed.
The SSCOP state machines at SSCF interfaces and of the protocol itself are presented in
[ITU-T4] Q.2110 Reccomendations, Fig 2/Q.2110 and Fig 17/Q.2110.
3.3.1 Protocol data unit (PDUs) frames
SSCOP uses the following type of frames:
5
a. Establishment (setup): BGN, BGAK - connection confirmed establishment . BGN requests the
clearing of peer Tx and Rx buffers and variables initialization. The peer SSCOP may reject the connection
by using BGREJ.
b. Release: END, ENDAK is a peer of PDU used for connection confirmed release.
c. Assured data transfer
SD - transfers across a SSCOP connection, sequentially numbered PDUs of variable length,
containing information fields provided by the SSCOP user.
POLL, STAT is a peer of PDUs, used for explicit periodical status reuest (POLL) by the Tx and
status-response (STAT) sent bacwards by Rx. POLL PDUs are numbered independently of the SD PDU,
permitting powerful error recovery procedures. The STATs and their responses can be paired by using
special sequence numbers N(PS).
STAT PDU contains information regarding: reception status (acknowledges for received sequence)
of SD PDUs, credit info for the peer Tx, the sequence number N(PS) of the POLL PDU to which it is in
response.
USTAT is used to send backwards unsolicited status -info, when the receiver detects one or more
new missing SD PDUs (verifying-the sequence numbers N(S)). It contains simmilar type of info as STAT .
d. Resynchronization: RS is used to resynchronize the buffers and data transfer state variables
and RSAK is acknowledge the acceptance of a resynchronization requested by the peer SSCOP entity.
e. Recovery: ER is used by the SSCOP entity that has detected a sequence number probem, to
inform its peer to recover. ERAK is a response to acknowledge the recovery from protocol errors.
f. Unacknowledged data transfer: UD - for unassured data transfer between SSCOP users (*).
g. Management data transfer: - MD - for unassured data transfer between two management
entities (*).
(*) Transmitting of an UD / MD does not affect the SSCOP state variable. UDs / MDs are not
numbered, therefore they may be lost without any notification.
3.3.2 The error control
The transmission errors are corrected by selective retransmission requested by the receiver (list
of the existing gaps the flow received) reports by STAT/USTAT frames. The basic error correcting
mechanism is:
- the transmitter periodically (POLL_Timer) sends POLLs to the receiver, or after sending a given
amuont of data (preventive policy to buffer overflow),
- the receiver has a reordering buffer in which it keeps the uncomplete sequence of frames until
they are completed and can be delivered to the user. The receiver observes the existing gaps in the received
sequence and if rquested by POLL it returns the list of the gaps to the sender in the STAT frame paired to
the previous POLL. Also the POLL contains the main receiver variable value Vrr to acknowledge all the
seq. numbers up to Vrr - 1.
-optionally the receiver may be reactive to the new discontinuities observed in the data flow by
returning USTAT - retransmission request. USTAT has almost the same structure of fields as STAT but it
is not associated to a previous POLL and does not contain the complete list of gaps, but only the most
recent one discovered by the receiver. A retransmission can only once invoked by USTAT; if the frame is
lost again anew USTAT will not be generated. This frame will be recovered via POLL-STAT dialogue.
- SSCOP has a mechanism to avoid redundant retransmissions. Each SD frame transmitted or
retransmitted is kept in the transmitter buffer ( until acked), associated with a "time-stamp" wich indicate
6
the last moment of its transmission or retransmission. The POLL/STAT pairs have also fields "time-stamp"
filled with the values taken from the same "clock". If a STAT is received, its time_stamp ( which is the
same as its previous corresponding POLL) is compared to the SD. If the STAT "time_stamp" is greater than
those of the buffered SD, then this is indicating a more recent retransmission request than the moment of
last transmission of the SD. It is only in this case that the retransmission is performed. Examples for this
mechanism are given in Q.2110- Appendix II and in [TH95]. The "clock" itself is not a continuous one; it
is the value of a nondecreasing function given by the POLL sequence numbers. (each new POLL receives
an incremented value of a counter N(PS).
We recall that if not asked, and if no data are transmitted, the receiver does not send back to the
sender any control packet. Therefore, the transmitter policy to interrogate the receiver is essential
w.r.t. the data transfer progress. The intervals between the interrogations are determined by the
POLL_timer (TP) , if the link is active. In Q.2110 this is a fix value, which we will show that is a rather
rigid solution, especially when the round trip time (RTT) is fluctuating or loss error percentage is high.
If no retransmissions have to be performed and no new data have to be sent and no frames are
waiting acknowledge , then the protocol enters in a keep_alive state and the intervals between POLLs are
increased, determined by other timers (Timer_Keep_Alive (TKA), Timer_Idle (TI) ), [ITU-T4] Q.2110.
3.3.3 SSCOP credit and flow control
Peer-to-peer flow control
Flow control is performed on the basis of adjustable sliding window. The receiver grants a credit
window to the transmitter by indicated the maximum value of the sequence number [VR(MR) -1 ] that it
can accept. The value of credit can be dynamically modified (increased or decreased ) by the receiver. The
main characteristics of the flow control policy are:
-credit is granted by the SSCOP receiver (transmitted backwards by VR(MR). Due to the fact that
knowing the credit is very important, many frames have been choosed to carry it, in one field dedicated to
the VR(MR) value: BGN, BGAK, RS, RSAK, ER, ERAK, STAT, USTAT,
- previously granted credit could be reduced, but not under the value VR(H)- the next maximum
sequence number expected,
- possible to grant credit value greater than the RecBuf available capacity (risks exists of
discarding data sent in excess),
- determination of the credit values and its dynamic adjustments are implementation dependent.
Local flow control
The congestion detection in the lower layers and subsequent actions of the SSCOP- are non
standardized.They are (implementation dependent). The SSCOP local flow control at SSCOP / SSCF
user interface -is also implementation dependent.
IV THE SIMULATION ENVIRONMENT
We considered point to point simplex or full duplex assured modes of communication between two
SSCOP entities linked by an underlying medium having losses. The main synthetical performance feature
studied has been the SSCOP throughput (Thp), evaluated by Estelle specification simulation in various
working conditions. Thp was defined in our study as the ratio of the mean receiving rate observed by the
receiving user, to the mean sending rate observed by the sending user.
The main parameters/policies have been varied during these simulation:
- at user (SSCF) layer: the data unit length (l) e.g. 1024, 2048, 4096 bytes, - fixed or random size
data units and the sending rate (Rs) - e.g. 10, 20, Mbit/s,
- at the protocol layer:
- general protocol parameters like : window size (W), timer-poll (Tp) interval for status
requests (POLL frames) sent by the transmitter to the receiver, etc.
- tradeoffs of status reports STAT/USTAT style of usage have been investigated,
- the influence of the nonzero transition execution times and system management times
have been evaluated in order to make some prediction on the future implementation
performance.
7
- at medium (CPAAL) layer: the bandwidth-round trip time product (BRtt), the loss and
duplicating probabilities (e).
In order to compare our results to some other authors' results we investigated the influence of the
channel environment ( BRtt, e ) and the protocol parameters ( W, Tp, l, etc.) on the throughput values.
We mainly present in the section VI the influence of the flow control policy in severe error
conditions and limited buffer capacities on the overall throughput of the protocol. Some critical remarks on
the SDL reference specification Q.2110 are given and some solution proposed to enhance the flow control.
We will also give examples of how the PE oriented simulation can be used as a complement to the
validation of the protocol. Diagrams collected by observing the evolution of some key protocol variables
can reveal in some scenarios the existence of errors in the specification and indicates the functional
"regions" where the errors are plausible to exist. These information are valuable because they can reduce
drastically the area of error search; the found area can be further investigated by using verification
automata based on macros/observers.
V THE ESTELLE SPECIFICATION ARCHITECTURE
5.1 The general architecture
module USER2:
USER SSCF
module USER1: USER_SSCF
module MNG1:
ip SSCF_SSCOPip
SSCS_MNG
ip SSCOP_SSCFip
ESTind/conf
RELind/conf
RESYNCind/conf
RECOVERind
DATAind
UNITDATAind
RETRIEVEind
ESTreq/resp
RELreq
RESYNCreq/resp
RECOVERresp
DATAreq
UNITDATAreq
RETRIEVEreq
RETRIEVE_COMPLind
BUSY (x)
TRS_AVAILABLE (x)
SSCF_SSCOPchn
M_ERRind
M_UNITDATAind
ip SSCF_SSCOPip
SSCOP_SSCFchn
ip SSCOP_SSCFip
channel
module SSCOP: SSCOPm
MNGchn
ip SSCOP_MNGip
M_UNITDATAreq
SSCOP
PDUs
module
SSCOP:
SSCOPm
ip SSCOP_CPAALip
channel CPAALchn
[CPCS_UNITDATAind
[CPCS_UNITDATAreq
ip MNG_SSCOPip
ip CPAAL_SSCOPip[1]
module CPAAL
ip CPAAL_SSCOPip[2]
Fig. 1 The ESTELLE SSCOP protocol specification architecture
(x) - not defined in Q.2110
(* Fig.1 in [EB94])
The complete SSCOP Estelle specification, has been written by the authors. The protocol module
works on top of a medium module ( Common Part Adaptation Layer - CPAAL ). On top of SSCOP, the
upper layer module simulating has been built (Service Specific Coordination Function - SSCF ) -as user
layer.
The ESTELLE architecture of the SSCOP protocol and the surrounding modules SSCF, CPAAL
defined for our simulation are presented in Fig.5.1 (* Fig.1 in [EB94]). Taking into account the experience
gained from [EB94], [BMC97], [CB96], [CLB97], we have chosen the build a single Estelle module for
8
the main protocol engine (transmitter and receiver) in order to avoid module multiplication and the inherent
excessive message transfer between two separate modules. The price paid is considerable complexity of the
SSCOP itself, but better performances have been achieved. The modules are linked by Estelle channels bidirectional or unidirectional. The structure of the specification is static, i.e. no module is dynamically
created or destroyed. SSCOP is further divided into upper main protocol submodule and a lower coderdecoder submodule, to build the real packets.
Two supplementary signals, are defined between SSCOP/SSCF to perform a flow control at
SSCF/ SSCOP user interface. They are generated by SSCOP module and shows the availability of space in
the transmission queue of the sender.
The modules are :
- USER1, USER2 :
- SSCOP1, SSCOP2 :
- MNG1, MNG2 :
- CPAAL0 :
USER_SSCF
SSCOP
MNG
CPAAL
- systemprocess
- systemprocess
- systemprocess
- systemprocess
The channels connecting the modules are :
-two unidirectional channels between SSCOP and USER_SSCF:
-one bidirectional channel between SSCOP and MNG:
-one bidirectional channel between SSCOP and CPAAL:
Another difference to Q.2110 specifications is that data units sent down by SSCF to SSCOP,
are each associated with a reference number (different from N(S) ). This reference number serve to identify
the SSCOP SDU. Additionally, the retrieve number is in this reference numbers range. SSCOP executes a
mapping of reference number of an SDU to its current sequence number .
5.2 The SSCOP module
This specification version has chosen the solution of a single transmitter-receiver module , because
the tightly coupling of the Tx and Rx and to remove the overhead of a communication channel between
them. The penalty is the complexity of TR-module. It contains (Fig.5.2):
Modules:
TRi: TR - activity
{transmitter - receiver}
CODECi : CODEC - activity
{coder - decoder}
Channels:
- one bidirectional channel between TR and CODEC
TR_CODECchn (trec, codc)
Fig.5.3 (* Fig. 3.3 in [EB94) shows the transmitter queues organizations. Conceptually the Q.2110
presumes five queues ( data buffers):
- Transmitter queue (TrsQ) for not yet transmitted frames
- Transmitter buffer (TrsBuf) for transmitted and not yet acknowledged frames
- Retransmission queue (RtrsQ) for frames to be retransmitted
- Management Data unit queue
- Unnumbered Data unit queue.
9
USER_SSCF module
channel
SSCF_SSCOPchn
channel
SSCOP_SSCFchn
ip SSCF_SSCOPip
ip SSCOP_SSCFip
channel
SSCF_SSCOPchn
channel
SSCOP_SSCFchn
*
*
signals
signals
ipTRSip
ip RECip
module
SSCOP
SSCS_MNG
module TR
ip SSCOP8MNGip
protocol PDUs
ip TR_MNGip
module
MNGchn
MNGchn
SSCOP PDUs
BGN, BGAK, BGREJ
ip TR_CODECip
END, ENDAK
SD, POLL, STAT, USTAT
channel TR_CODECchn
RS, RSAK
ip CODEC_TRip
module CODEC
ip CODEC_CPAALip
ER, ERAK
UD
MD
channel
CPAALchn
ip SSCOP_CPAALip
*
see the signals defined in general configuration
channel
CPAALchn
CPAAL module
Fig. 5.2 SSCOP Estelle module structure
For efficiency, most of the buffers have circular organization. This choice makes easier modeling
of protocol windows. To avoid the excessive data transfer, in the current version of the specification the
retransmission queue is included as a part of the transmission buffer; this solution reduces the amount of
frame transfer between the queues. After PE simulation we decided to build also the TrsQ and TrsBuf in
the same buffer structure to completely avoid data frames moving inside the SSCOP module.
10
SSCF
AA_UNITDATA.req
AA_DATA.req
wait
transmission
-transmitted
-wait ack
TrsBuf
transmitter
window
STAT received
N(S)
DATA
wait
transmission
information
VT(A)
*
n
n +1
n +2
oldest SD PDU
seq. no.
.
.
m
VT(S) = m
VT(PS)
seq. no. not allowed
VT(MS)
current POLL PDU
seq.no.
N(S)=l
*
first not allowed SD PDU seq.no.
Data
N(S)=l
...
RtrsQ
SSCOP
SD PDU
SD PDU
SD PDU
N(PS)
UDTrsQ
wait
retransmission
next SD PDU seq.no.
...
N(S)=m
POLL PDU
POLL PDU
Maximum number of SD PDU = MaxPD
MANAGEMENT
(3)
(2)
(1)
(4)
wait
MUX
transmission
MNGTrsQ
CPAAL
*
updated using received information on the reverse channel
Fig.3-3 SSCOP transmitter structure
11
5.3 The state machine. Estelle specification style
The SSCOP Estelle state machine was obtained by translating the textual specification Q.2110, [ITUT4], and the associated SDL (GR) specification, into Estelle code. Due to differences between the construction
of the two languages this has been a non trivial activity. The main states of the SSCOP extended finite state
machine (EFSM) are, Fig.17/Q.2110:
Idle,
Outgoing_Connection_Pending, Incoming_Connection_Pending,
Outgoing_Disconnection_Pending,
Outgoing_Resynchronization_Pending, Incoming_Resynchronization_Pending
Outgoing_Recovery_Pending, Recovery_Response_Pending, Incoming_Recovery_Pending,
Data_Transfer_Ready.
Our simulations are mainly focused on the Data_Transfer_Ready related activities but the full
management of connection setup and release have been activated.
One of the problem of translation the SDL specification is related to :
- complicated unstructured ( go to excessively used) arithmetical/logical processing, combined with
decisions inside the transition bodies of some SDL transitions and terminated in different target next states.
Examples are the list processing of POLL, USTAT, STAT frames.
- the missing of the NextState clause in Estelle to permit ending branches to a next state after
performing some part of the transition body.
The solution found for solving this have been:
1. - including as much as possible of the logical conditions in the PROVIDED clause- this is not
always possible. In fact in the example above, there are many situations when this cannot be applied. The
disadvantage of this can be the complexity of PROVIDED clause having implications on the time of transition
selection of the real system.
2. - introducing intermediate new states in some of the decision points (if ..then..else..) of those
bodies which not permit the first solution. In this way new PROVIDED branches can be introduced allowing
going to different next states after execution of one part of the initial body. The first version of the SSCOP
Estelle specification [EB94] used this solution.
This splitting of a body (which is by itself just an atomic processing) increases, in some way
artificially, the count of the system main states. This can lead in principle to the increase of the system
management times. Also this solution is potentially dangerous because it can introduce significant
(sometimes non correct !!) changes of the EFSM behavior. Particularly, care must be taken to :
- assign high priorities to the intermediate transitions to fasten the overall execution equivalent of
the initial atomic action,
- to declare some STATESETs equivalent to the former only one initial state, in order to permit the
timer driven (delay) transitions to be executed while the system is in an intermediate state,
- to avoid treating some input messages while in an intermediate state, if they use some data
structures involved in the processing , because of possible data inconsistencies.
3. - a better solution seems to be to find an equivalent of a NEXT_STATE clause for Estelle
specification without having neither to excessively complicate the logical conditions in the PROVIDED clause,
nor introduce many intermediate, (potentially dangerous ) main states. We present the solution in Fig.5.4 in
graphical form to be more suggestive at one glance.
12
b
0
y
c
d
x
a
b
i=2
z
1
y
c
d
f
e
i=4
i=3
z
f
e
4
3
0'
i
2
4
3
2
Fig. 5.4 The realization of an equivalent of a NEXTSTATE clause
A switch integer variable i is defined, which permits to obtain branches to the next states 2,3,4 by
introducing only one intermediate next state 0' and preserving the atomicity of the processing that include the
tasks b,c,d,e,f. The swiching on value of i is performed by PROVIDED clauses in the state 0'.
If timers expirations are possible in the state 0 then one have to declare a STATSET, containing the
states 0 and 0' in which the timer is validated.
VI THE PERFORMANCE EVALUATION EXPERIMENTS
The objectives of PE simulation have been presented in the Section I and IV. Because of limited space
we shall only present the results of three kind of experiments (samples of our simulations) to illustrate their
use during the protocol design development process.
6.1 Using the PE simulation as a complement to the protocol validation
Usually the functional behavior of the protocol machines are verified and validated before doing
PE with a sufficient coverage factor. In the case of compex protocols, the number of protocol variables is very
large. Including all these in verification automata is difficult because the latter should be kept enough simple to
have itself a correct behavior w.r.t the desired properties. In such cases after a first validation of the principal
functions of the protocol, some PE simulations performed in severe and random conditions of the environment
( to determine the machine to follow complicated trajectories of its evolution) can be useful to discover some
residual errors especially related to wrong data structures menipulations.
The efect of these errors may be reflected in the system performance and can be observed during PEs.
The PE oriented random simulations, if focused on given mechanisms of the protocol can offer, due to their
13
integrating character, information on "regions" of functionality in which some errors can exist. A further
detailed verification method in those regions can show precisely the errors.
Fig.6.1 Trs.-3: available credit
Fig. 6.2 Trs.-3 : frame count in the TrsBuf
Fig 6.3 SD trs./retrs/ POLL transition use
Fig 6.4 Sending POLL transition use
Fig 6.5
Fig 6.6
SD receive transition use
POLL receive transition use
14
Fig 6.7 USTAT receive transition use
Fig 6.8 STAT receive transition use
Fig 6.1 - 6.8 Discovering protocol errors using the PE simulations
We give as an example how a PE simulation can put into evidence some hidden errors in the formal
specification that still exist e.g. when manipulating some complex data structures as retransmission lists or
building complex status report packets, in the buffer management, etc.
The SSCOP full duplex data transfer is simulated. The protocol instances are Transmitter -3 and
Receiver-6. We observe, using tmcurve ( ) commands of XEDT simulator the behavior w.r.t data transfer of
the two communicating instances after the connection setup. To do this we collect the values of key variables
in the Transmitter and receiver. The time evolution of the following variables are observed:
Fig 6.1
Fig 6.2
3->credit_avail - transmitter available credit granted by the receiver ( frame count)
3->TsBuf.count - the transmitter buffer fill ( frames sent and not yet acknowledged)
The following curves observe the number of use for main transitions involved in the data transfer:
Fig 6.3
Fig 6.4
Fig 6.5
Fig 6.6
Fig 6.7
Fig 6.8
$trnbuse(3->435) - SD transmission/retransmission, or POLL transmission if a given
amount of data has been sent and not acknowledged
$trnbuse(3->368) - periodical sending of POLLs frames to request ACKs and credit
$trnbuse(6->438) - receiver transition for SD reception
$trnbuse(6->448) - receiver transition for receeption of POLL
$trnbuse(3->440) - transmitter reception of USTAT responses returned by the receiver
$trnbuse(3->456) - transmitter reception of STAT responses returned by the receiver
All diagrams are represented versus $tsimt- simulation time of the tool.
The simulation has been done in severe error condition in the medium that is loss frame probability =
0.3 ( for 1024 byte/frame that corresponds roughly to to 3*10-3 bit error probability)- chosen especially to put
the protocol in the situation to build and interpret complex retransmission lists of gaps. The count of user
SDU is finite and limted at 50. Normally, even in this very lossy environment, the protocol, after many
retransmissions should terminate the acknowledged transfer for the 50 packets. It is not so.
A parallel examination of the above diagrams shows some bugs in the specification sscopx4.stl. One
can see that after for $tsimt > 1500 the transmitter 3 enters in a kind of livelock condition:
The transmission does not progress any more if $tsimt > 1500 despite that :
15
- credit exists (Fig 6.1)
- the TrsBuf is non-empty , which means that retransmissions should still exists (Fig.6.2)
- the transmitter no more sends other frames (Fig.6.3) or POLLs forced by data sent amount
- the transmitter still transmit periodically POLLs frames (Fig.6.4)
- the receiver no more receives any SD (Fig.6.5)
- the receiver still receive some of the POLLs (Fig.6.6), less than those sent because of high loss
- the transmitter receives no mre USTAT frames (Fig.6.6); this is normal because it has not sent any
more data after $tsimt > 1500
- the transmitter still receives some status responses in STAT frames (Fig.6.8).
Combining all this information one comes to the conclusion that after an interval of good behavior, the
transmitter does no more perform retransmissions ( it did it before, but the diagram showing that is not
represented here) despite they are necessary, and despite it receives STATUS frames. The conclusion is
that the content of STATUS frames becomes wrong ( they have been good before $tsimt = 1500 !) and some
errors can exist in the list building process at the receiver. Indeed it was the case. After put a "zoom"
verification on that part of the specification, one found out that the receiver had problems when building some
complex retransmission lists (this situation would not have been appeared if were not severe loss in the
medium) - because some errors in the repeated loop of list construction. The example above showed how one
can find detail errors in the specification using PE simulation.
One important question has be answered: how can one know what to observe/monitor, during these
experiments? A general precise answer cannot be done. But in principle one have to:
- define dedicated experiments to observe the main functions of the protocol: data transfer flow and
sequence number error control, flow control, resynchronization, protocol error control, etc.
- define the key variables whose evolution has to be watched. Here we mention the main data and flow
control variables: buffer manager variables, window limits at transmitter and receiver, sequence numbers, etc.
- create an hostile environment for the protocol machine to put in in adverse conditions able to sollicit
the whole functions of the protocol. Especially we mention the lower layer which can be able to behave very
badly w.r.t data and control packets and to vary the RTT values. The probabilities of errors ( loss, duplication,
order reversal), events must be significantly higher than in normal conditions.
- execute random simulation experiments.
Following these principles is very probable that the protocol will follow a high number of its possible
trajectories and PE diagrams show, if they exist, wrong behaviors.
The general conclusion is that using the PE simulation in extensive range conditions can reveal
some deeply hidden errors that are difficult to fixed while using the conventional automata verification
methods.
6.2 Using the PE simulation to find inefficiencies/errors in the protocol
definition
PE can be used to find some possible errors in the protocol definition if they are related to the data
transfer functions. One should perform PE in an extensive range of conditions. Here we give an example of
this kind of error present in Q.2110 Reccomendation.
The conditions of the experiment have been realized on a duplex data transfer :
Configuration ( instance number involved):
(User-11) - (Protocol-3) - (Medium-10) - (Protocol-6) (User-12)
Note: 1 ETU ( Estelle Unit Time ) is a conventional time value unit we have used in our simulations; it is
corresponding to 10 µs of physical time. All time values are represented in ETU, including the delays, packet
durations, round trip time (RTT), etc.
USER layer:
User output rate = 4000KB/s ( 32Mbit/s)
SDU length = 1024 Bytes - fixed length , 50 frames transmitted in each direction.
tdly = 26 ETU - delay between two successive SDUs given by the user layer, corresponding to the above rate.
16
PROTOCOL layer :
Transmitter buffer length = receiver buffer length = W (maximum transmitting window) = 20 frames
Timer Poll-3 = 1000 ETU for Protocol-3; Timer Poll-6 = 500 ETU for Protocol-6, twice less than the
former. We have chosen two different values of the Timer POLL for the two instances of the protocol modules
expecting different behavior w.r.t the efficiency of the flow control function.
vtpd = 5 - the maximum number of frames that are allowed to be sent by the transmitter, between two POLLs.
This is an additional flow-control related protection mechanism of the protocol, in order to avoid the excessive
accumulation of the sent and not-acknowledged packets in the Transmitter Buffer.
MEDIUM layer :
The ideea is to select such values that we intentionally put the protocol in very hostile environment
conditions w.r.t buffer fill, credit, need to make numerous retransmissions of data and control frames and
process complex retransmission list structures. This increases significantly the coverage factor of the
trajectories followed by the protocol machine. Related to this is the choice to have the Timer POLL values
significantly greater than RTT.
Propagation delay 10->pdly:=30 ETU. If neglecting some other delays this corresponds to a RTT = 60 ETU.
Loss probability of the frame: 10->prob[lost]:=0.3
Medium rate = 40Mbit/s which corresponds to 20 ETU delay for transmission of one packet of 1024 Bytes
Of course, in such adverse conditions one expect a poor performance of the protocol. Indeed this the
case, i.e. we obtained the following rates measured at the user level:
Sender User-11 / Receiver User-12
Rates in [KBytes/s]
Sender User-12/ Receiver User-11
Rates in [KBytes/s]
3938.46 / 461.45
efficiency: 11 %
3861.23 / 1102.76
efficiency: 28 %
We started assumming that the Q.2110 Recommendation Reference SDL diagrams are fully correct.
But we discovered during PE, that the vtpd - based mechanism is not at all working in high fill
transmitter buffer and lack of credit working conditionn. The only remaining hope for the transmitter is getting
new credit based on periodically sent POLL frames. But if the Timer POLL is considerably greater than RTT,
this will slow significantly the data process. In fact there is one branch of Fig 20/Q.2110 (sheet 38 of 51 transition devoted to process SD (re) transmission or POLL send in case of low credit), which should work in
lack of credit conditions that can never be executed. Specifically the branch defined in the transition body by
[VT(S) < VT(MS)] = false, that is lack of credit - condition, can never be executed because in the former
provided clause there is one condition [VT(S) < VT(MS)] = true.
Another Q.2110 SSCOP SDL specification problem is its non-uniformity. While the processing of the
retransmission lists is fully SDL specified including deep details ( which would have been better left to the
implementation), Q.2110 says nothing on the protocol sender behavior - w.r.t.control flow, in full transmitter
buffer condition ( e.g. the same transition Fig 20/Q.2110 sheet 38 of 51). The full buffer condition is as well
potential dangerous as lack of credit and it should be treated explicitely in the standard.
The above facts have been revealed, first by PE simulations done in the above described conditions, by
observing that the only mechanism still active in high transmitter overload and lack of credit condition is Timer
POLL periodically sending mechanism. This explains why in the experiment the efficiency of 11->12 sense is
much worse (11 %) than in the reverse sense 11<-12, see the greater Timer POLL value of protocol
transmitter -3; the transmitter-3 is working in harder condition that transmitter-6.
The above cosiderations are illustrated by the diagrams Fig.6-9 to 6-16.
17
Fig.6.9 Trs.-3: available credit
Fig.6.10 Trs.-6: available credit
Fig. 6.12 Trs.-6 frame count in the TrsBuf
Fig. 6.11 Trs.-3 frame count in the TrsBuf
Fig. 6.14 Trs.-3 frame count in the TrsQ
Fig. 6.13 Trs.-3 frame count in the TrsQ
18
Fig. 6.15 Rec.-6 SD receive transition use
Fig. 6.16 Rec.-3 SD receive transition use
Fig. 6-9 to - 6.16 show that during the 50 packets transfer the both protocol instances suffer of lack
of credit and the transmission buffer is full. In these conditions new frames can be sent only if new credit is
obtained based on periodical POLL sending, because the data amount driven POLL mechanism is no more
active. If the some POLLs are lost due to medium errors then the protocol throughput will decrease
significantly. That is why the instance
6.3 FDT-based PE results compared with those of other methods
Because we base on random simulations, it is important to know if if results are comparable to other
methods results reported elsewhere. The simulation experiments following the above presented principles and
the configuration described in the previous sections, have been conducted to study the throughput
characteristics of the SSCOP in different medium conditions and protocol parameters / policies. We compared
the FDT base PE results to those presented in [HT95].
It is shown in [HT95] by analytical study and simulation on a separate model, that there exist three
regions in which the protocol can work w.r.t. the efficiency of flow control. We verified in our simulation that
these regions exists. The additional results of our study are: - the simulation are done on the real specification
of the protocol not on a simplified separate model ; - we can simulate the functioning at very severe error
conditions ( e.g. prob(loss) = 0.1, or 0.2, per frame).
The parameter involved are ( measured in frame count, for given rate of the medium and fixed length
of the packets): W= transmitter window granted by the receiver ; TR = bandwidth-delay product ; TP =
timer-poll-interval of the sender to request credit from the receiver. All the three values are normalized by
division of the real value to the duration of the frame transmission in the medium. The latter itself depends on
the medium rate value.
Simplyfying assumptions are given in [HT95], in order to permit analytical treatment of the process.
The main ones are:
- the frame loss is sufficiently low ( p < 10-3), all retransmmisions are successful at the first try
- the control packets are not affected by errors, this is evidently not true in real cases
- all times are deterministic
- the open flow control loop is assummed , the window offered by the receiver (W) is no more than
the receiver buffer available.
If the above hypotheses hold then paper [HT95] shows that the three regions are:
(1) W < TR + TP ;
(2) TR + TP ≤ W ≤ 2*TR + TP ;
(3) 2*TR + TP ≤ W
19
If (1) is true then the protocol sender sometimes stop because the lack of credit. In (2) the sender will
stop only if errors are encountered, that is frame loss. In (3) the protocol never stops even in error conditions.
The FDT based PE evaluation is no more constrained by the above simplyfing assumptions. We
have kept only the fourth hypothesis true.We give just some samples of our results in the table below.
Here are the rate results given by our simulations.
General conditions :
User : packet length = 1024 Bytes, user-rate = 32 Mbit/s, 100 packets, bidirectional transfer
Protocol: W= 20, different values for TR, TP ( see the following table)
Medium : p = prob(medium-loss) = 0.05; 0.1; medium-rate = 40 Mbit /s
Sender measured rate in all cases : 3899 Kbytes/s
The following table 6.1 shows the throughputs mesured at the receivers after the acknowledged
complete transfer of the 100 packets in both directions. The throughput is measured as a fraction given by the
receiver rate versus corresponding sender rate. The values, rather high wrt the error probability are explanined
by the fact that the amount of transferred data is limited at 100 packets that is for a short connection.
Region
(1) W < TR + TP
TR = 10, TP = 20
(2) TR + TP ≤ W ≤
2*TR + TP
TR = 10, TP = 5
(3) 2*TR + TP ≤ W
TR = 3, TP = 5
Rec. USER-11 rates [KBytes /s]
p = 0.05
p = 0.1
0.90
0.65
Rec.USER-12 rates [KBytes /s]
p = 0.05
p = 0.1
0.84
0.62
0.96
0.74
0.89
0.70
0.97
0.94
0.94
0.92
Table 6.1 The flow control regions results
One can see the different results for the three regions. The differences between the rates of the two
receivers are due to the non uniform distribution of the errors on the two directions and some delays measured
additionally by the User-11 (this is supposed to start and end the connection and the establishment and release
time is added to the total value spent by the receiver).
The following diagrams Fig.6.17 show the variation in time for the credit_available variable of the
transmitter and the corresponding current buffer fill at the sender in high error conditions ( prob[loss] =
0.1)for work in the three region described above. On can see that there are significant differences between the
values especially we see the worst condition in the region (1). The conclusion is that one have to avoid enetring
in this region. But the fixed value supposed by the standard for the Timer POLL leads to difficulties in
variable RTT conditions ( excessive number of redundant POLLs in one limit case or not enough POLLs in
the other case).
That is why in the next section some simple adaptive algorithm is proposed for the Timer POLL.
Other simulation have been done to evaluate the influence of non-zero processing times on the
throughput.
The conclusion is that one can select the best sets of parameters for protocol configuration based on
the results of PE done on formal specification simulations.
20
Fig. 6.17 Variation of credit_available and current transmitter buffer fill in the three regions.
6.4 Enhanced flow control policy for SSCOP
Realizing the fact that the throughput of the standard protocol is essentially based on the periodically
sent of POLL frames, that is on the Timer POLL value and taking into account the inefficiency presented in
the Section 6.2, we experimented a simple adaptive adjustment of the Timer POLL in order to increase the
independency of the sender on the fixed value defined in the standard.
The complete analysis of the new solution will be presented in another paper. We note the fact that the
efficacity of the proposed solution is higher especially in hard work conditions ( high loss, limited capacity of
buffers). The main ideeas of the adjustment algorithm are the following:
- if the sender becomes congested (transmission buffer (TrsBuf) is full or it has no more available
credit) then it sends a POLL and enters a special phase in which the Timer POLL value is reduced at a
minimum value. The frequency of POLLs increases, hoping that in that way the receiver will respond with
some credit.
- if the congestion condition disappears then the Timer POLL is linearly increased up to a maximum
value provided no new congestion does not appear.
The solution does not modifies the general behavior of the protocol, keeping the compatibility to other
standard SSCOP implementations. Also extension of the algorithm can be easily done by correlation of the
minimum and maximum values of Timer POLL with RTT measuring algorithms (e.g. Van Jacobson, etc.).
We present in the following diagrams comparative results between the behaviors of the standard flow
control policy and the adaptive one, in high error condition ( prob[loss] = 0.3).The initial TimerPOLL values
for teh two experiments is the same Timer POLL = 500 ETU and RTT = 60 ETU
The Fig. shows the result: the receiver buffer in the adaptive case is emptied faster by a 1.3 f&actor.
Th differences are higher if the initial values of the Timer POLL are larger.
21
Fig.6.18 The transmitter buffer fill for the standard (first fig.) and adaptive flow control (second fig.)
Fig. 6.19 The credit available at the transmitter ( up - adaptive; bottom- standard)
22
The Fig.6.19 diagram shows why the adaptive algorithm is better: the transmitter obtains faster new
credit, going out faster from the congested condition.
VII CONCLUSIONS
The conclusions of this study are:
- the main performance related results on the studied real case - SSCOP protocol behavior are similar
to those obtained by other techniques, this approach having the advantage of no need to construct a separate
model but using the specification itself,
- protocol configuration hints can be obtained,
- PE can be used as a complement to validation methods,
- PE can lead to discover some inefficiencies of the protocol definition,
- some prediction on the implementation performance can be obtained,
- other future protocol extension features (e.g. rate control, working on top of a connectionless
medium , etc.) can be easily added and studied on the same basic specification, without having to build a new
simulation model.
REFERENCES
[ABB93] B.Alkechi, M.Benalycherif, S.Budkowski, O.Catrina, P.Dembinski, M.Gardie, E.Lallet, J.P.Mouchel la
Fosse, Y.Souissi, Formal Specification, Validation and Performance Evaluation of the Xpress Transfer Protocol(XTP),
Research Report 931004, INT Evry, France, 1993.
[SB92] S.Budkowski, «Estelle Development Toolset.» Computer Networks and ISDN Systems Journal, Special
Issue on FDT Concepts and Tools, vol.25, no.1, 1992.
[BMB97] E.Borcoci,N.Munteanu,S.Budkowski, «L’evaluation des performances pour des protocoles de
communication à haute complexite en utilisant les specifications Estelle», Actes du Colloque Francophone sur
l’Ingenerie des Protocoles, Hermes, 1997, pp. 349-364.
[BCM96] E. Borcoci, O. Catrina, N. Munteanu «Efficiency evaluation of flow control policies for the Xpress
Transport Protocol», 4.04th International Conference on Telecommunication and Information Systems, TIS'96 Zilina,
Slovakia, 4-6 September 1996.
[BMC97] E. Borcoci, N. Munteanu, O. Catrina, «Experiments with Performance Evaluation of XTP4.0»,
Deliverable Doc., COP62/WP.2/7 -1/2, COP62/WP.2/7 -2/2, Feb 1997 .
[BMS96] M.Bütow, M.Mestern, C.Schapiro, P.S.Kritzinger, «Performance Modelling with the Formal
Specification Language SDL», Formal Description Techniques IX, edited by R.Gotzhein,
J.Bredereke,
Chapman & Hall 1996.
[CB96] O.Catrina, E.Borcoci, XTP specifications in Estelle, Deliv., COP62/WP.2/1, COP62/WP.2/2, 1996.
[CLB97] O.Catrina, E.Lallet, S.Budkowski XTP Prototype Implementation, Deliverable Doc., COP62/WP.2/9,
Feb. 1997.
[DHM96] M.Diefenbruch, J.Hintelman, B.Müller-Closterman , The QUEST_Approach for the Performance
Evaluation of SDL Systems, Formal Description Techniques IX, edited by R.Gotzhein, J.Bredereke, Chapman&Hall
1996.
[EB94] E.Borcoci, "Contributions to the formal specifications of the signaling protocol SSCOP for ATM
networks", Internal Research Report, Institut National des Télécommunications, 1994.
[HB96] M.Hendaz, S.Budkowski, Efficiency Evaluation Tool for Estelle, Deliverable COP62/WP2/5, 1996.
[HB96a] M. Hendaz, S. Budkowski Edb: Un Simulateur Estelle pour l'Evalution de Performance, CFIP'96 ,
Oct.1996, Rabat, Maroc.
[SB98] S.Budkowski et al., EDT - Estelle Development Toolset - Version 4.1, INT, Evry, France, 1998.
[TH95] T.R.Henderson, Design Principles and Performance Analysis of SSCOP: a new ATM Adaptation Layer
Protocol, ACM SIGCOMM Computer Communication Review, vol.25, No.2, April 1995.
[B98] S.Budkowski et al., EDT - Estelle Development Toolset - Version 4.1, INT, Evry, France, 1998.
[ITU-T1] ITU-T Recommendation I.150 - BISDN ATM Functional Characteristics
[ITU-T2] ITU-T Recommendation I.361- BISDN ATM Layer Specification
[ITU-T3] ITU-T Recommendation Q.2931 - BISDN Acces Signaling System DSS2
[ITU-T4] ITU-T Recommendation Q.2110 - Service Specific Connection Oriented Protocol (SSCOP)
[ITU-T5] ITU-T Recommendation Q.2100 - BISDN Signaling ATM Adaptation Layer (SAAL) Overview
Description
23
Download