Foundation for Conformance Testing Requirements

Towards Sound Development of PIXITP, Conformance Test Suites, and Conforming
Implementations For Various Formal Description Techniques
Hazem El-Gendy, Ph. D., P. Eng.,
Dr. Nabil El Kadhi
Ministry of Endowments of Egypt, Cairo, Egypt
Prof. Comp. Science, EpiTech
Voice Tel. & Fax: +20 2 23936088,
14/16 Rue Voltaire 94270 Kremelin Bicetre, France
e-mail: [email protected]
email: [email protected]
and Narayan Debnath, D. Sc.
Dept. of Computer Sc., Winnona State University, Winnona, USA
[email protected]
Abstract: The testability of a protocol standard
is a property of the standard that reflects the
degree of precision in developing universal
interpretation of what it means for an
implementation to conform to the standard, and
the ability to exercise the implementations of
the protocol standard for purposes of assessing
their conformance to the standard [3]. In this
paper, we investigate the Conformance Testing
Requirements (CTRs) of a protocol standard
that result from the formal specification of the
allowed (dynamic) behavior of the protocol
standard. We focus on those CTRs that are
applicable to all the international Formal
Description
Techniques
(FDTs);
more
specifically, SDL, Lotos, Estelle, and ASN.l.
We develop a distinction among Implemenlor's
options, Implementer's Choice, and NonDeterministic Choices as well as testing
semantics for each of them. Then, we develop
rules for the explicit and precise specification of
these CTRs, and for developing a precise and
explicit P1X1TP (Protocol Implementation
eXtra Information for Testing Proforma). These
rules are essential for facilitating the
controllability and propagation of observability;
consequently, enhancing the testability of the
protocol standard.
Rende Vous as in Lotos.
In this paper, we investigate the CTRs of a
protocol standard that result from the formal
specification of the allowed (dynamic) behavior
of the protocol standard. We focus on those
CTRs that are applicable to various international
FDTs: SDL, Lotos, Estelle, and ASN.l. We
formalize several FDT-based CTRs. This
formalization includes developing rules for the
explicit and precise specification of these CTRs
and developing CT semantics for them. The
former facilitates automated derivation of these
CTRs while the latter establishes universal
understanding of these CTRs and their
implications on implementations, networks, and
testers. Then, we develop rules for developing a
precise and explicit PIXITP (Protocol
Implementation eXtra Information for Testing
Proforma). These rules are proven to be very
essential for enhancing the controllability
(allowing the tester to exercise the transitions)
and propagation of observability (allowing the
tester to observe the lUT's (Implementation
Under Test) behavior. This enhances the
testability of the protocol standard. This also
facilitates the design of telecommunications
systems for testability and interoperability, and
the automated derivation of the CTRs [3].
I.
Introduction
Conformance Testing (CT) plays an essential
role in providing confidence that conforming
implementations correctly support what they are
claimed to support. It also increases the
confidence
that
different
conforming
implementations
will
interoperate.
The
effectiveness of CT relies heavily on the
universal derivation of CTRs. These CTRs
should be commonly recognized by different
parties: the developers of the standard, the
vendors, the customers, and the test centers.
Consequently, explicit and precise formalization
of CTRs in a protocol standard is essential for
the development of a sound CT Theory.
Many of these CTRs result from the particular
way the protocol is specified using an
international FDT. Some of these CTRs may be
FDT-dependent that result from specific
mechanisms of the FDT such as the use of FIFO
Queue, as in SDL and Estellc, or the use of
II. FDT-Bascd CTRs
In a protocol standard, typically, rhere are CTRs
that are specified in the standard's PICSP; these
are called PICSP-based CTRs. These
requirements include, for example, what
capabilities are mandatory or conditional or
optional [5]. The standard includes also CTRs
that result from the specific design of a
capability (specification of the Externally
Observable Behavior of the communicating
entity); these are called FDT-based CTRs [3].
The specification of this specific design is
usually formalized by using an international
FDT such as SDL, Lotos, Estelle, or ASN.l.
The following example illustrates the
differences between the PICSP-based CTRs and
the FDT-based CTRs.
F.xample 1:
Case 1: Consider a transport protocol that has
the capabilities:
- 1C: Initiating establishment of a connection.
- RC: Responding to a request to initiate a
connection.
- DT: Transferring Data (send and receive),
- DC: Disconnection of the connection.
The modular standard can be given by ModStdl:
______________________________________
ModSldl := (PICSPl, BehavSpecl)
P1CSP1 (PICSP 1)
Identifiers:
Supplier
Standard Version
First Edition
Date of Statement
Implementation Name and Version
Extra Information for Testing
#
Capabilities:
Capability
Ref Slat
Al
Initiate establishment of a 1C
connection
O.1
A2
Respond to a request to RC
initiate a connection
O.1
A3
Transferring data
DT
M
A4
Disconnection
connection
a DC
M
of
Su
Legend: Ref, Slat, and Su stand for Reference,
Status, and Support respectively. The letter "M"
in the status column stands for Mandatory, i.e.,
support of the capability is always required for
conformance. Character string "O.I", stands for
Optional provided that at least one of the
capabilities identified by these characters is
supported; i.e., support of one of the capabilities
1C and RC is mandatory for conformance and
the support of both capabilities is optional.
END-PICSP1
Figure 1: SDL-Based modular specification
END-ModStdl
The standard, as indicated in the PICS
Proforma, requires support of at least one of the
two capabilities 1C and RC, but not necessarily
both capabilities, then an implementation that
faithfully supports "ModSS1 := RC U DT U DC;
ModSS1))" is a conforming implementation to
ModStdl. Such an implementation does not
support some transitions in "ModSS2 := IC U
DT U DC; ModSS2))". Both ModSS1 and
ModSS2 have the same initial state (idle) and
Branch off it. In this case the branching off the
"idle" state is interpreted, based on the PICSP,
as "an implementer's option". Consequently,
conforming implementations do not have to
support expressions on both sides of such a
branching off a state. This indicates that, for the
purpose of conformance testing, the PICSP
takes precedence, over the semantics of the
FDT, in deriving the CTRs and in identifying
the conformance implications of the use of the
FDT constructs -in the Behavior Specification.
Consequently, we get the first rule for deriving
CTRs as follows:
Rule 1: For the purpose of conformance
testing, the PICSP takes precedence, over the
semantics of the FDT, in deriving the CTRs
and in identifying the conformance
implications of the use of the FDT constructs
-in the Behavior Specification.
Rule 2: Conforming implementations do not
have to support expressions on both sides of a
branching off a state; this is the case where
there are optional capabilities as indicated by
the protocol PICSP.
This results in some form of "module
(capability) - based conformance-requirements
analysis" first before analyzing the CTRs
resulting from every capability [3]. It provides a
semantic to what should constitute a module (a
capability). This has also a lot of applications in
verification and validation [8].
But, if it were that the PICSP of the standard
requires support of all the capabilities, then
support of both ModSSj and ModSS2 would be
mandatory for conformance.
Case 2:
Consider the specification of the DT capability
as given in Figure 1.
An 1UT, to conform to DT, the IUT must
support all the transitions specified by DT. This
means that the "branching off a stale" construct
is interpreted, in this particular case, as that
conformance to all the expressions linked by the
construct is implementer's mandatory. This
indicates that, within the behavior specification
of a capability, the occurrence of the FDT
constructs such as the SDL Branching construct
or the Lotos Choice construct must not be
interpreted as "implementer's option" because
the support of the expressions on both sides of
the construct is mandatory for conformance to
the capability.
Consequently, we get the
following Rule.
Rule 3: Within a capability, support of all
transitions is implementer's mandatory. This
is the case of SDL branching constructs or
Estelle transitions or the Lotos Choice
construct.
But, support of all the transitions does not
necessarily require support of all the allowed
sequences. This is illustrated by Case 3 given
below.
Case 3:
Consider the DT capability that is capable of
four events:
- receiving from the transport service user a
transport data request service primitive
(T_Dat_Req),
- receiving
from the network service
provider a transport transferring data PDU (dt),
- transmitting to the network service provider
any
queued
transport
data
request
(Remove_Buf_5),
- transmitting to the transport service user any
queued transport transferring data PDU
(Remove_Buf_3).
The first two transitions can occur at any time
while the last two transitions can occur only
when the associated predicates hold. Now,
consider the following scenario:
Predicates of the last two transitions hold.
Hence, the implementation has the choice
between two input events and two output
events. The order of executing these four events
is left as "Implementer's choice" to the
implementer where every manufacturer has the
freedom to choose the order that it believes to
most suit the manufacturer's systems or that
enhances the performance or that provides
better customization of the manufacturer's
product to certain market needs. The nonmandatory of any particular sequence is implied
by the semantics of FDTs such as SDL.
Consequently, the conformance testing must not
require the implementation to have all the
possible sequences nor to have any particular
sequence. This leads to Rule IV as follows:
Rule 4: For an IUT to conform to a
capability (faithfully supports the capability),
it does not have to support all possible
sequences of events/interactions nor any
specific sequence.
EndExamplel
III. Formalization of FDT-Based CTRs
In this section, we develop rules for systematic
derivation of CTRs for those aspects of the
standard that are FDT based. Some of the FDTbased CTRs are FDT specific; for example, the
CTRs that deal with testing the underlying
communications mechanism (e.g., the Rendez
Vous or the FIFO Queue). However, other
CTRs are applicable to the three international
FDTs: SDL, Loios, and Estelle; this is
surprising since the FDTs use different
mechanisms for specification. Here, we focus
on developing rules for those CTRs thal are
applicable to all the three FDTs. To make these
rules FDT-independent, we base them on
Specification Constraints.
III.1. Implementer's Choice
A typical standard does not enforce any
particular order for checking the various
buffers; the order (priority) is left as an
"implemenwr's choice". For example, consider
case 3 of Example 1. If the implementation of
the protocol entity has received both T_Dat_Req
PDU and dt PDU, and the service user has data
to send then, the order of executing these events
is not mandated by the specification (this is
implied by the semantic of the FDT). This way,
the implementations of the standard arc not
restricted to follow any specific internal
implementation style.
The manufacturer to decide on these
Implementer's Choices makes decisions such as
"Should the input queues and output queues be
scanned in a round-robin basis or should a
particular queue (e.g., a queue that is important
for presenting a quality service to the user) be
given a higher priority (e.g., always scanned
first or the number of PDUs in it is limited
below a particular number)?
Also, Implementer's Choices covers issues such
as resolving non-determinism in the Behavior
Specification by augmenting this behavior
specification
with
system-dependent
parameters. An example of this, from the
transport layer protocol, is resolving of the nondeterminism in the RC capability regarding
whether or not to accept a request to establish a
new connection. The standard indicates that
such a decision is based on the system's internal
status and it is left to the manufacturer to map
this to the parameters of its system (e.g., how
much free resources are required and how
availability of sufficient resources is determined
and other factors such as "Should these
available resources be used to establish a new
connection or to offer more features over the
already established connections?".).
Implementer's Choice (ImpChoice): Those
aspects of a protocol standard that the details of
how to support them are left to the
manufacturer. This is in order to not restrict the
implementation and to facilitate various creative
ways of supporting them, without affecting the
functionality of the specified capability.
Typically, these various ways for support suit
the various manufacturers' systems, their
architectures, and internal parameters. These
Implementer's Choices are not reflected in the
PICSP but are typically implied by the FDT
used. Typically, these covers the following
cases:
1. Selecting a particular sequence for executing
a list of allowed events (selecting a particular
sequence to scan multiple queues).
2. Resolving
non-determinism
in
the
specification of the protocol.
The identification of the places of Implementer's
Choices in a standard provides several items of
thc standard's PIXITP.
The way a
manufacturer resolves these
Implementer's
Choices provides a lot of the information
needed for the PIXIT. For example, it provides
information about the maximum number of
established connections that can exist
simultaneously as well as information about
how to bring the IUT to a state where it rejects
every new request to establish a new
connection; the latter one is very important for
the correct execution of essential test cases
that exercise specific transitions.
Rule 5: For every non-determinism, in the
behavior specification of a supported
capability,
use
externally
observable
parameters to specify, in the PIXITP and the
PIXIT, the implications of the way of
resolving this non-determinism on the
externally observable behavior of the IUT
that affect testing of the IUT.
Rule 6: For every specification parameter/
predicate, that represents an internal status
of the system, in the Behavior Specification,
use externally observable parameters to
specify, in the PIXITP and the IUT's PIXIT,
the externally observable implications of the
way that this parameter/predicate was
mapped to the system's internal parameters
and, that affect the testing of the IUT.
Rule 5 is important for controllability; that is
allowing the tester to exercise the transitions.
Rules 5 and 6 are important for the propagation
of observability; that is the ability of tester,
depending on the abstract test architecture, to
observe the Implementation Under Test (IUT).
III.2. Non-Deterministic Choice
A formal specification of the observable
behavior of a communications protocol typically
includes one or more non-deterministic choices
in any of the following forms:
1) non-deterministic choice that results from
having, with the same event, two transitions
leading to two different behavior
expressions. Example 2 illustrates this.
Example 2:
Consider the RC specification as in Figure 2.
Figure 2: SDL Behavior Specification of RC
where on receiving a CR, the implementation,
based on its internal status, may move to where
it is ready to only accept the connection request
by sending a CC PDU or may move to where it
is ready to only reject the connection request by
sending DR PDU.
This non-determinism results mainly from
omitting some of the details (e.g., the triggering
conditions of the transitions) of the behavior
specification. In the example of the RC
capability, what are omitted are two predicates:
a predicate OK, that indicates availability of
resources to establish one more connection, and
its complement predicate NOTOK. The
complete behavior specification of the RC
capability can be given as in Figure 3.
Of course, there is not any sense in allowing an
implementation to support only one branch of
the behavior (e.g., always send DR PDU) and
yet
be
classified
as
a
conforming
implementation (a conforming implementation
must be able to successfully establish a
connection at least some of the time).
Consequently, this occurrence of nondeterminism must not be interpreted as
implmentor's option.
Figure 3: SDL Behavior Specification
2) non-deterministic choice that results from
having
internal
(un-observable)
events.
Example 3 illustrates this.
Example 3:
RC is as given in Figure 1.
Same as the first type, this type of nondeterminism results mainly from omitting some
of the details of the behavior specification.
Typically, behavior specifications that have this
type of non-determinism can be transformed to
equivalent behavior specifications that have
instead the first type. The first style indicates
that On-accepting a CR PDU, the
implementation will make, based on its internal
status, a decision to whether. it will accept or
reject the connection request. While the second
style indicates that the implementation After
receiving CR PDU will make the decision.
Consequently, these two styles model
the
behavior
from
the
environment's
perspective
and
the implementation's
perspective respectively.
This non-determinism is useful in verification,
testing [ELG96b, ELG04, ELG05] and in
allowing the specification of capabilities in an
abstract level that does not force the specifier to
have to specify any mapping of predicates to
internal parameters [ELG96b]. This type of nondeterminism can be detected by intelligent
syntax analyzers.
3) a non-deterministic choice that results from
the standard having implementer's choices.
For example, the standard behavior
specification of the DT capability of
Example 1 does not dictate any particular
sequence for scanning the buffers which
makes the sequence of executing the four
events, from the perspective of the
environment or the tester, non-deterministic.
In such cases, the other communicating
entities must be ready to respond properly to
any and to every valid sequence. This affects
the design of the Conformance Testers and
the Conformance Test Suites because the
conformance testers must not pre-assume
any specific sequence and the verdict of the
test case must be pass as long as the IUT
responds with any of the allowed sequences.
This type of non-determinism can also be
detected by intelligent syntax analyzers.
All these forms of non-determinism are not
reflected in the PICSP but are implied by the
semantic of the FDT. Consequently, we have
the following two new rules:
Rule 7:
Within the specifications of a
capability,
the
occurrence
in
FDT
specification of non-determinism of the
following two forms must not be interpreted
as implement or's choice:
 due to having two possible transitions out
of the same state on receiving the same
input event; or
 due to having internal events.
Rule 8:
For the case of having nondeterminism due to having implementer's
choices, the tester must not impose on the
IUT or pre-assume any particular sequence
and the verdict of the test case must be
"pass" as long as any of the possible
sequences is supported.
III.3. Other CTRs
The following CTRs are also based on the
Behavior Specification of the communicating
entities:
1) Every implementation, that faithfully
supports a capability, must support all the
states of the capability.
2) Every implementation, that faithfully
supports a capability, must support all the
transitions of the capability including those
that correspond to non-determinism.
3) Every implementation, that faithfully
supports a capability must support the
repetitiveness of the test result.
4) Every implementation, that faithfully
supports a capability, needs not to support all
the sequences allowed by the "BehavSpec" of
the capability in the places of "Implementer's
Choices".
El-Gendy's method [4] can be used to derive test
sequences for the requirements indicated in 1
and 2 above.
IV. Summary
The process of implementing a standard starts
with the manufacturer resolving the following
types of choices:
1) "Implementer's
options"
where
the
manufacturer decides (based mainly on
marketing requirements) what optional
capabilities to support based on the
Testability Directed PICS Proforma.
2) "non-deterministic choices" that results
from omitting some of the details (e.g.,
predicates) where the
manufacturer
explicitly includes, in its internal
specification, these predicates and maps
them to the internal parameters of the
manufacturer.
3) "Implementation choices" in the behavior
specification
where
any
particular
implementation has to be deterministic.
These decisions arc based mainly on the
internal design and architecture of the
manufacturer's system.
V. Conclusions
In this paper, we have developed a foundation
and a testing semantics for "implementer's
choice", and "non-deterministic choice" as well
as 8 rules for automated development of sound
PIXITP, conformance test suites, testers, and
conforming implementations. This facilitates
automated derivation of the places of
implementer's choices and/or non-determinism
in a standard.
Guidelines for the implementers to resolve these
non-determinism and/or implementer's choices
have also been developed and illustrated by
examples.
The rules developed for the construction of
explicit and precise PIXITP enhance both the
controllability and the observability of IUT.
Consequently, these rules enhance the testability
of the standard.
In complement to this work is the development
of methods for automated derivation of test
sequences [8]. Further research is still required
to study the coverage of these methods and to
develop a foundation and framework for other
CTRs.
References
1. [CCITT] CC1TT Recommendation Z.100,
"Specification and Description Language
SDL", 1992.
2. R. Dssouli and G. Bochmann, "Conformance
Testing
with
Multiple
Observers",
Proceeding of the 6th IF1P International
Workshop on Protocol Specification, Testing,
and Verification, 1986, pp. 217-229.
3. Hazem El-Gendy and R. Probert, "Relevant
Testability Aspects of a Communications
Standard", IEEE 4th MICC, Langkawi
Island, Malaysia, November 20-23, 1995,
pp.14.2.1-14.2.8.
4. Hazem El-Gendy and Robert Probert,
"Relevant
Testability Aspects
of a
Communications Standard", Proceedings of
the 4th IEEE Malaysia International
Conference on Communications, Langkawi
Island, Malaysia, November 20-23, 1995,
pp.14.2.1-14.2.6.
5. ISO/IEC
9646, "Information Retrieval,
Transfer and Management for OSI, OSI
Conformance Testing Methodology and
Framework", Parts 1 to 5. Also, in CCITT
Recommendations X.290 to X.294.
6. ISO/IEC
JTC1, "Formal Methods in
Conformance Testing (Working Document)",
November 2002.
7. Hazem El-Gendy and Nabil El Kadhi, “Using
Formal
Methods:
Importance
and
Experience”, International Journal on
Computing Methods in Science and
Engineering, Published in Greece, 2005.
8. Hazem El-Gendy and Nabil El Kadhi,
“Formal
Method
for
Automated
Transformation of Lotos Specifications to
Estelle Specifications”, International Journal
of Software Engineering & Knowledge
Engineering, USA, Vol. 15, No. 5, October
2005, pp. 1-19.
9. Hazem El-Gendy, “Formal Automated
Transformation of Lotos Specifications into
SDL Specifications”, Proceedings of the 8th
World Multi-conference on Systemics,
Cybernetics, and Informatics sponsored by
the International Institute of Informatics and
Systemics (IIIS), Orlando – Florida, USA,
July 18-21, 2004.
10. Hazem
El-Gendy,
"Study
of
the
Characteristics of CT-Equivalence with
Proves", Journal of Computational Methods
in Sciences and Engineering, Volume 6,
Numbers 5, 6, 2006, pp. 171-179.
11. Chih-Yung Chang and Shin-Chih Tu,
“Active Route-Maintenance Protocol for
Signal-Based Communication Path in ad hoc
Networks”, Journal of Network and
Computer Applications, Vol. 25, Issue 3, July
2002, Academic Press, pp. 161-177.
12. S. Farahvash, K. Akhavan, and M.
Kavehrad“ ,Packet Transmission Over a Fixed
Wireless Loop Using Adaptive Rate
Techniques”, International
Journal
of
Wireless Information Networks, Vol. 9, No.
3, July 2002, pp. 165-178.
13. J. Q. Bao and L. Tong“ ,Protocol-Aided
Channel Equalization in Wireless ATM”,
IEEE Journal on Selected Areas in
Communications, Vol. 18, No. 3, March
2000, pp. 418-435.
14. D. P. A. Greenwood and R. A. Carrasco,
“Neural Networks for the Adaptive Control of
Disruptive Non-Linear Network Traffic”, IEE
Proceedings Communications, Vol. 147, No.
5, October 2000, pp. 285-291.