Termination of processes

  • Authors:
  • Davide Sangiorgi

  • Affiliations:
  • University of Bologna, Italy Email: davide.sangiorgi@cs.unibo.it

  • Venue:
  • Mathematical Structures in Computer Science
  • Year:
  • 2006

Quantified Score

Hi-index 0.00

Visualization

Abstract

A process $M$ terminates if it cannot produce an infinite sequence of reductions $M \mathop{\rightarrow}^{\tau} M_1\mathop{\rightarrow}^{\tau} M_2 \ldots$. Termination is a useful property in concurrency. For instance, a terminating applet, when loaded on a machine, will not run for ever, possibly absorbing all computing resources (a ‘denial of service’ attack). Similarly, termination guarantees that queries to a given service originate only finite computations.We ensure termination of a non-trivial subset of the $\pi$-calculus by a combination of conditions on types and on the syntax. The proof of termination is in two parts. The first uses the technique of logical relations – a well-know technique of $\lambda$-calculi – on a small set of non-deterministic ‘functional’ processes. The second part of the proof uses techniques of process calculi, in particular, techniques of behavioural preorders.