Path Expressions

Abstract
Traditionally, synchronization of concurrent processes is coded in line by operations on semaphores or similar objects. Path expressions move the responsibility of implementing such restrictions from the programmer to a compiler. The programmer specifies as part of a type definition which execution sequences are permitted. The advantage of using path experssions instead of P, V operations on semaphores (or similar operations) is comparable to the advantage of using for- and while-statements instead of JUMP or BRANCH instructions. In this paper the rules for writing a path expression are described, parsing and implementation are discussed and the use of path expressions is shown by a number of examples.