OVERVIEW OF PROJECTS
Groupe de recherche en téléinformatique - Université de
Montréal
(September 1993)
Protocol testing
Test coverage
The objective is to develop criteria and methods
for analysing the test coverage of a given test suite and to provide
additional test cases in order to complement the existing coverage.
Initial work resulted in the experimental tool TESTL which provides this
functionality for the case that the specification is given in the form of a
finite state machine (MSc project by M. Dubuc, 1991).
Test coverage tool considering data flow: The aim of this
project is to improve the facilities of the TESTL tool for the evaluation of
test coverage. While TESTL is limited to the FSM aspect of specifications, this
new tool, called TSE, considers the interaction parameters and internal state
variables, covering therefore the major aspects of protocol specifications
written in Pascal, Estelle or SDL (MSc project by C. Caouette, 1993;
collaboration with Prof. Ural from Ottawa University).
In order to use the TESTL tool for the analysis of
existing protocol conformance test suites written in TTCN, we have developed a
TTCN test case analyser which adapts the definition of the test cases into the
format accepted by TESTL (MSc project by Y. Djerbib). These tools have been
integrated with the IDACOM Protocol Tester (MSc project by P. Salvail, 1993) and
an experiment with a full-scale OSI conformance test suite, namely the ISDN
packet level protocol has been made (summer project by Alexandre Guimond, 1993).
Test result analysis and diagnostics
A tool has been developed, TETRA (MSc projects by O.
Bellal and F. Saba), to check the results of a test sequence against the formal
specification (written in LOTOS and supposed to be correct) of the protocol
which is being tested. The results of the tests are checked against the
specification and diagnostic messages are produced indicating a possible reason
for the failure. The tool has been used for the validation of the verdicts
of the standardized LAP-B conformance test cases, and for the validation of a
simplified Transport protocol in respect to the ISO Transport service written in
LOTOS. It has also been combined with a locally developed ASN.1 coding and
decoding tool and used for an experiment for on-line testing of the ACSE
protocol (OSI application layer).
A similar function is also provided by the TESTL and TSE
tools mentioned above, however in reference to Estelle specifications. Another
project (MSc by A. Ezust) aims at building efficient test result analysis
programs for a given Estelle specification.
In the context of his PhD work, A. Ghedamsi has developed
methods for fault diagnostics of finite state machine implementations. Single
and multiple fault assumptions are supported in the case that the system
specification is given in the form of a single or multiple FSM modules, possibly
non-deterministic. A tool providing such diagnostics has been implemented and
tried with the ISDN packet level protocol.
Test suite development and TTCN support
A test suite is a set of test cases which are designed to
perform a thorough test of an implementation under test (IUT). Our main
attention is in the area of protocol conformance testing, where a protocol
implementation (IUT) is checked against the protocol specification. In
this context, the development of a test suite is usually based on the protocol
specification. Various test suite development methods have been designed
for the case that the reference specification is given in the form of a finite
state machine (FSM). The first method combining such methods with data
flow analysis, known from software engineering, was proposed by Sarikaya and
Bochmann in 1984. Prof. Sarikaya has continued the development of this
combined method at Concordia University and at the University of Montreal
(during 1990-91) by applying it for specifications written in Estelle and LOTOS.
Tools have been built for the semi-automatic development of a test suite from a
given Estelle specification. Support for the test specification language TTCN
has also been developed.
More recently, the group has work on the validation of
the verdicts of a given test suite in respect to the protocol specification
written in LOTOS or Estelle (using the tools TETRA or TESTL, respectively). In
addition, much work has been done to improve the FSM test suite development
methods and extend them to partially defined and non-deterministic FSM
specifications (work by Fujiwara, Luo, Petrenko, and students Yao, Liu).
Emphasis has been put on a precise fault model, conformance relations and a full
fault coverage by the derived test suite.
Software specifications
Formal description techniques for OSI and ISDN protocols and
services: Tools and Experiences.
This group of projects is related to the formal
description techniques (Estelle, Lotos and SDL) and ASN.1 (Abstract Syntax
Notation 1) which are designed by the ISO and CCITT standardization communities
to describe standardized protocols. Over the years, students and
researchers from the group have developed related tools, and acquired experience
with using these and other tools from various groups.
The group has developed the very first Estelle compiler in 1983, when
Estelle was under study. This compiler accepts Estelle first DP (Draft Proposal)
and translates it to Pascal. As a basis for comparison between manually
written protocol implementation and semi-automatically generated code from
formal specification, a Transport Protocol and a Session Protocols
implementations have been developed. Various other implementations have
also been developed, such as an ISO-IP gateway, a Transport Relay ISO-DARPA
(TCP-TP), Interactive Transport user for TP and TCP, Teletex protocol, FTAM
server and user programs, and others.
More recently, ASN.1 tools has been developed in the
group with the objective to integrate ASN.1 (as a data type specification
language also specifying data encoding rules) into the Estelle and Lotos
languages. ASN.1 compilers have been designed to translate ASN.1 types
into Estelle and Lotos data types. A set of tools for each translation
facilitates the integration of automatically generated encoding and decoding
routines. With the ASN.1-Estelle set of tools (includes ASN.1 and Estelle
compilers), a semiautomatically generated implementation can be obtained
easily.
Present work includes a translator from SDL to Estelle
(MSc project by A. Thiboutot), and the inclusion of performance and real-time
aspects in LOTOS (PhD project by N. Rico).
Telecommunications software specification and evolution
Under funding from CITR during 1990-93, a general
framework, independent of any particular specification language, has been
defined for considering formal relationships that correspond to different forms
of refinement and specialization . Based on this framework, the step-wise
refinement and specialization has been studied for the specification languages
Estelle. In addition, results were obtained for the reuse of specifications and
the automatic derivation of a new specification which is an extension of two
separate existing specifications (PhD project by F.Khendek). This derivation
particularly useful in the context of communication service specifications where
several "features" are first described separately, and their "interactions",
also called feature interaction, have to be analysed in order to design a system
which provides several features simulataneously.
Software evolution was investigated in the context of
object-oriented reflective programming systems. This research provides a general
framework in which appropriate constraints can be defined which govern the
changes that are acceptable during system evolution, and ensure that the system
remains in a stable operating condition. A mechanism allows the controlled
evolution of system specifications and implementations by gradually changing
selected parts of the system, while all other parts of the system continue their
normal operations (PhD project by M.Erradi, 1993).
Exhaustive validation of complex specifications is very
difficult. The research concentrated on systematic testing of executable
specifications. This approach was applied to an object-oriented specification of
the Personal Communication Service (PCS, MSc project by D.Desbiens, 1992) and an
extension which describes the interworking between different PCS networks (MSc
project by J.Dargham, 1993).
Design for testability
Also funded by CITR, different approaches to deriving
easily testable specifications and software components have been studied.
In order to handle more complex system structures, a general design
framework for testable and highly available communications systems has
been defined . Furthermore a new testability metric has been
defined. It is based on the intuitive observation that the length of
a test suite which guarantees full fault coverage could be a measure for a
significant part of the cost of testing. This metric was applied to
the evaluation of the modular protocol structures which are modelled by a
composition of FSMs .
Testability and test suite design issues were considered
for the example of the XTP protocol. Test cases were selected for a large part
of XTP that does not involve timing considerations. We have used the TESTL tool
to generate test cases for the context management. All test cases are written in
TTCN. Scenario test cases are also given in order to cover the interactions
between XTP functions.
The use of an object-oriented approach is much favored for the design and
implementation of distributed systems. We have studied the problem
of testability in the context of object-oriented systems where only
certain objects are directly visible for testing purposes (MSc project by
Htite, 1993) . An instrumentation methodology was also introduced to
render an object-oriented system more testable .
Object-oriented design methodologies
During 1988-91, the group had a major involvement in a
CRIM-BNR project on object-oriented design methodology. The aim of this project
was the development of an object-oriented design methodology and specification
language to support the development of distributed applications in the
networking area. The main results were the definition of a specification
language, called Mondel, associated tools for the validation and simulation of
specifications, and trial applications to various example systems. The group was
also involved in a CRIM-DMR project on the architectural modelling of
distributed applications and work organization (1991-93), which was part of the
DMR "Macroscope" project.
Presently, the group has a leading role in the IGLOO
project on object-oriented design methodologies, specification reuse, associated
tools and applications in the area of distributed systems management. The
project is organized by CRIM in collaboration with three universities and 6
industrial partners.
Distributed algorithms and applications
Distributed systems management
In the context of the IGLOO project, the group works on
network management issues, such as alarm analysis, distributed testing and
fault diagnostics, and configuration management. Another project is related to
the management of messaging systems.
Quality of service negociation for multimedia applications
For high-speed multimedia applications, the requirements
on the underlying transport service are much more severe than in traditional
applications because of the synchronous nature of voice and video presentations.
The performance parameters of the transport service are characterized by the
so-called quality of service (QoS) parameters. The objective of this research,
which is funded in the context of a new CITR Major Project on "Broadband
Services", is to investigate the impact of dynamically changing QoS on the
design of applications. We aim at developing a methodology permitting to design
multimedia applications that can dynamically adapt to QoS variations and also be
easily adapted to evolving communication protocol standards (PhD student A.Hafid
and post-doctoral researcher A.Vogel). A second objective is the identification
of the typical application requirements concerning multimedia database access
functions.
Development of distributed algorithms
(a) Distributed implementation of LOTOS
specifications: The main difficulty is the distributed implementation of the
LOTOS multiple rendezvous interactions. Our work is based on a LOTOS interpretor
developed at the University of Ottawa, implemented in Prolog, which runs on a
single machine. A distributed rendezvous algorithm was defined and implemented
(PhD project by Q.Gao), as well as a distributed execution scheme using separate
Lotos interpretors executing different parts of the specification (PhD project
by C. Wu, 1993).
(b) Distributed controllers for real-time
applications: We consider the problem of automatically developping set
of distributed components (controllers) such that a number of given components
(components to be controlled) satisfy a given overall service requirement. So
far, a method has been developed (PhD project by C. Antonescu, 1993) for the
automatic derivation of a distributed algorithm from a given global service
specification and has been applied to certain examples (MSc project by M. Levy,
1992). A particular application area is communication gateways (PhD project by
Z.Tao). From our studies in the derivation of distributed controllers, we have
identified certain problems which are inherent to the distribution of the
control. Different solutions to these problems are investigated, as well
as the consideration of the real-time aspects of the system requirements
(post-doctoral researcher A. Khoumsi). This work is funded by a BNR-FCAR-NSERC
grant.
Network control algorithms
Various algorithms related to congestion control, traffic
management and routing are being investigated. Application to ATM networks are
foreseen. In particular we are investigating various classes of
distributed network algorithms where the cost of passing messages during the
execution of the algorithm is also taken into account in its design. We
are also studying design and implementation issues related to the addition of
intelligent network services in the interconnection of heterogeneous high speed
networks.