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.