The value of formal techniques in conventional software
engineering is starting to gain recognition even outside academic
computer science departments. We maintain that their use is essential in
taming the extra complexity that accompanies the extra power that
concurrency brings: for while in a FORTRAN program, say, the
contribution of the `program counter' to the number of states that need
to be
... [Show full abstract] considered is the sum of the contributions of its component
modules, in a highly parallel program it is their product. Various
paradigms of parallel programming have been suggested, all with much the
same expressive power. The authors deal with one of the most tractable:
synchronising communications. The authors describe their work on formal
manipulation of occam, and give an example of a practical application of
program transformation techniques