Verification Techniques for Elementary Data Types and Retransmission Protocols
Jos van Wamel
Abstract:
The process algebra ACP (Algebra of Communicating Processes) is a formalism for
the specification and verification of parallel, communicating systems.
Recently, means for data specification were added to the theory, and a proof
theory was defined. A new formalism, muCRL (micro Common Representation
Language), forms the basis of these extensions.
The thesis contains several theoretical results, as well as applied studies,
concerning process theory and abstract data types. It is organised as follows:
Chapter 2. We start with an introduction to the relevant axiom systems, proof
rules and models from process algebra.
Chapter 3. Then some new theory useful for the verification of certain
communication protocols is developed. Our technique may be regarded as a method
for inspecting the traces of a process in an equational way.
Chapter 4. After that, a non-trivial case study in process algebra is provided
in the form of a protocol verification. It uses the techniques from the previous
chapter. Then a switch is made from pure process algebra to data types.
Chapter 5. Here the proof theory for the specification language muCRL is
presented, as well as two new, more flexible induction rules than the current
one.
It turns out that, given some data specification that satisfies certain
requirements, useful induction schemes can be proved correct from these rules.
In Chapter 6 a number of elementary data types, such as natural numbers, sets
and bags, is studied with the emphasis on induction principles and the question
how to prove elementary properties of data by induction.
Chapter 7. After that an attempt is made to show by means of some examples how
data and processes interact, and how the techniques from the previous two
chapters carry over to processes in muCRL style.
In Chapter 8 a rule for `fair abstraction' for processes with data is presented.
This rule makes it possible for a certain class of processes with data
parameters to abstract from cycles of internal actions.
Finally, in Chapter 9 a large case study is provided, where proof techniques for
data and invariants play an important role. It is meant to gather much of the
relevant knowledge in the field of protocol verification in muCRL that is
available at the moment.
An electronic version of this paper can be obtained via
ftp.fwi.uva.nl directory pub/programming-research