

Refinement-oriented probability for CSP
The technique has been used to produce a semantics for probabilistic
CSP, using its ``failures/divergences'' semantics
[Hoa84] (a CPO) as a basis
for the Jones/Plotkin construction.
The results are extensive, interesting, surprising and in some cases
puzzling,
treating probability, concurrency and nondeterminism together
[MMSS94a].
Lessons learnt from the CSP exercise could well be re-applied elsewhere,
to (imperative) weakest-precondition-based CPOs for example.
In this talk I will give a (brief) introduction to the Jones/Plotkin method,
and show (less briefly) how it may be used in the special case of CSP.
Deep knowledge of CSP is not required (but shallow knowledge may well help).
Probabilistic predicate transformers
I will discuss how, with an operational probabilistic model
proposed independently of Jones' work by Jifeng He (Oxford),
one can extend Jones' transformers to include non-determinism
and can as well determine a pleasing structure on the
space of probabilistic predicate transformers --- generating
probabilistic "healthiness" conditions that generalise those
of Dijkstra for standard programs.
And it's all done with a Galois connection.
On the Rigorous Construction of Computer Systems
We begin with a brief overview of the approach of formal methods
to the construction of computer systems.
Each formal method provides a notation for describing
behaviour at a given level of abstraction, together with a
notion of refinement determining which descriptions at one
level of abstraction conform to a description at a higher
(or the same) level. By ensuring that the refinement
criterion preserves behaviour it is guaranteed that an implementation
constructed within such a method meets its specification. How
much that says about the implementation depends, of course, on how
expressive is the notation.
Early formal methods addressed only sequential functional behaviour.
As such methods were used extensively over the next two decades
demand grew for the incorporation of further functional behaviour,
eliminating {\em post hoc} reasoning required by the extra functionality.
Success has been achieved with parallelism and to some extent with
real-time behaviour.
We survey criteria which have been proposed in various formalisms
to ensure refinement. We concentrate on process-based descriptions
that are able to express concurrency, non-interference or probability
and consider refinement that:
Proof rules for probabilistic loops
Probabilistic weakest preconditions
and the "0-1" law for termination.
It is proposed, subject to audience interest, to concentrate on
probabilistic refinement of probabilistic specifications.