Highlights of Research Results
Groupe de recherche en téléinformatique -
Université de Montréal
(September 1994)
Hewlett-Packard-CITI-NSERC Industrial Research Chair on
Communications Protocols
- Test suite development based on formal specifications:
Testing is a crucial phase in development of software
for distributed and concurrent systems. In the black-box
testing paradigm, which is used for protocol conformance
testing and many other applications, the internals of the
system under test is not accessible, only its interface,
and test cases are derived from the system's
specification. In many cases, important aspects of the
system behavior are specified using a finite state
machine formalism. Our goal is to develop practical
methods for automatically deriving a test suite from a
given system specification. Another aspect of our concern
is to enhance the testability of a system during its
design phase; the objective is to obtain an end-product
easy to test. -- During the past years,
we have developed several improved test derivation
methods which yield test suites with well-defined fault
coverage for a given system specification. While most
existing methods work for completely specified,
deterministic and minimal specifications which, in
practice, represents a severe restriction, our group was
the first to propose methods that work in the case of
specifications including undefined situations,
nondeterminism, and timing contraints, as well as taking
into account realistic distributed test architectures.
Some of these methods have been implemented in automated
tools. Other results pertain to test derivation from
specifications written in more powerful languages, such
as formal description techniques (e.g. SDL or Estelle)
and object-oriented systems. Tools for determining the
fault coverage of existing test suites have also been
developed.
- Automated test result analysis: A testing
campaign usually involves the execution of a large number
of test cases and the analysis of the resulting execution
traces. In certain cases, the expected output from the
system under test is defined by the test cases and any
unexpected output is detected immediately. In other cases,
such as for random testing or protocol interworking
testing, the execution trace must be analysed for
conformance with the system's specification. Additional
analysis is required for diagnostic purposes. --
During the last few years, we developed tools for the
automatic analysis of test traces in respect to the
system specification written in the Estelle or LOTOS
specification languages. Our LOTOS tool, called TETRA, is
part of an international collaboration for the
development of a LOTOS toolset, including also tools for
simulation and verification of specifications. Special
attention was given to deal with the difficult problem of
nondeterminism in the system specification. In addition,
a tool for fault diagnosis based on finite state
specifications has been developed.
CITR (part of the Major Project "Broadband
Services")
- Quality of service (QoS) negotiation and adaptation: The
premiss of QoS negotiation is that in the forseeable
future, multimedia information delivered through
networks such as the Electronic Highway will be available
in multiple quality/cost combinations. It will be up to
the user to choose the most suitable alternative. Our
goal is to develop multimedia applications that can adapt
to changing QoS conditions in the underlying transport
service and to develop methods for managing the resources
needed for QoS adaptation in a distributed environment.
-- In the past year we identified the QoS
requirements of the multimedia news target application
and completed the design of a negotiation protocol
between the application processes, the database servers
and the underlying transport service. The protocol allows
the dynamic re-negotiation of QoS parameters as a
function of user requirements and the QoS actually
available from the network. A QoS demonstrator has been
developed which shows a possible interface arrangement
enabling the user first to experience different available
qualities of image, video, sound and text, and then to
compose the desired combination.
ESCORTE: Etude sur la synthèse de contrôle réparti
en télématique (FCAR-BNR-NSERC research grant)
- Methods for designing distributed algorithms for
system control and communication gateways including real-time
constraints: One of the difficulties of designing
distributed systems is due to the concurrent nature of
the different system components which makes their
behavior much more difficult to understand and to test.
Therefore the design of a new distributed algorithm
should be verified before its implementation. Another
approach is to derive distributed algorithms and
protocols from a specification of the requirements in
such a manner that they are correct "by construction".
The objective of our research is the development of such
derivation methods for various reactive systems
applications, such as real-time distributed system
control, communications gateways, and telecommunications
networks management. -- We have defined
an automated algorithm for deriving a protocol
specification which satisfies a given service
specification, which describes in which order certain
events should happen at different places within the
distributed system. Recently, we have extended this
approach to take into account real-time constraints of
the service specification and the delays of the
underlying communication network. Related work deals with
the automatic derivation of a decentralized control
algorithm which maintains certain specified properties of
a distributed system which is to be controlled by several
distributed controllers. These methods have been
applied to several example applications.
CITR Major Project on Communication Software (until
summer 1993) and IGLOO project funded under the Québec
Synergie program
- Formal methods for object-oriented software
development: The phases of systems analysis and
design are crucial for the development of reliable
software. An object-oriented approach has been advocated
for this purpose and many research activities explore the
methods and notations best suited for the object-oriented
analysis and design of distributed systems. It is hoped
that an object-oriented approach may lead to more reuse
of code and specifications, and to systems that are
easier to adapt to evolving requirements. --
We have defined a general framework, independent of any
particular specification language, for considering formal
relationships that correspond to different forms of
refinement and specialization . Algorithms have been
developed for deriving a new specifications which
combines the behaviors of two existing specifications,
and avoids any undesirable "feature interactions"
between the two components. For software evolution, we
have proposed a general framework in which appropriate
constraints can be defined for controlling the
appropriate changes during system evolution, and ensuring
stable operating conditions for the system during these
changes.
- Distributed systems management - fault diagnostics and
reconfiguration: As distributed systems become more
and more complex, their operation and management becomes
a major issue. In order to facilitate the operation and
management of telecommunications systems made up from
heterogeneous components, a number of international
standards have been developed for network operations and
management. While existing management systems provide
means for collecting the pertinent information about the
status and operations of the system, most fault recovery
and reconfiguration decisions are still taken manually.
There is presently much research activity internationally
to develop ways in which some of these decisions could be
taken automatically. The goal of our research is the
automation of fault analysis including diagnostic testing,
and reconfiguration management including hardware and the
building of reconfigurable systems which are fault-tolerant
and continuously running. -- We have proposed
a hierarchical and distributed approach in the area of
fault management and a formal description of this
approach has been developed. Using simulation studies we
have tested different functions derived from this
approach for simple faults, such as break faults.
Currently, an implementation of this approach is
underway on a network consisting of three interconnected
LANs. In this context, we also study the interworking
between the standards CMIS and SNMP using the OSIMIS
implementation environment.