Next: Workshops and site visits Up: University of Warwick Previous: University of Warwick
In a process setting, the essence of confluence is that the occurrence of one action may not preclude others. In the case of -calculus, where names may be extruded from their scopes, care is needed to find the right definition. Basic results on confluence in -calculus are presented in [PW97]. In particular, conditions under which combinations of confluent, or almost-confluent, processes yield confluent systems are presented.
The view that general models of mobile processes, such as -calculus and Higher-Order -calculus, provide a good framework for the definition of a variety of concurrent object-oriented languages is illustrated in [LW97a]. A technique involving process continuations is used to give a natural and direct semantic definition for a language containing constructs for several kinds of inter-object communication. In the unpublished MSc dissertation [S97], an experimental extension of Pict with actor primitives is given semantic definition and implemented. Its author is now studying for a PhD at Cambridge.
In [LW97b], which was revised for publication this year, a theory of partial-confluence of processes is developed, in CCS and in -calculus. The main theorem concerns systems which can be thought of as composed from two components: a questioner, and an answerer which may process questions concurrently. It gives conditions under which a system of this kind is behaviourally indistinguishable from the corresponding system in which the answerer may handle only one question at a time. This result, together with a semantic definition of the kind described above, is used to show the interchangeability in an arbitrary program context of two class definitions which prescribe binary-tree symbol-table data structures, one supporting concurrent operations, the other sequential.
In [PW97b], this work is extended to show the soundness of transformation rules for concurrent object-oriented programs which increase the scope for concurrent activity within the system prescribed by a program, without altering its observable behaviour. The rules allow one object to release another from a rendezvous before it has finished all the associated activity, and allow one object to delegate to a second object the responsibility for returning a result to a third object.
In [PW97c], the theory of [PW97b]is extended to encompass a larger class of answerers. Analogous behavioural indistinguishability results are obtained, for an appropriate class of questioners. The main advance is that whereas in the case of the symbol-table data structures, the answer to a question is determined at the moment the question is submitted, in  up to one state-changing internal action may occur in determining the answer.
This result is used in [PW97d] where algorithms for operating concurrently on a variant of the B-tree data structure are modelled and analysed using -calculus. In this case the state-changing internal action is the act of locking the disk page in which the operation in question will take effect. Deficiences in and improvements to published algorithms were discovered.
The PhD thesis [P97phd] contains also other work on confluence of processes. The MSc dissertation [I97] begins to explore a new approach to modelling asynchronous communication and fault-tolerance in a process-calculus setting. Its author is now studying for a PhD at Edinburgh.