Abstract

To represent sequential processes, sets of finite sequences of symbols from a finite alphabet are used. In this approach, alphabet symbols denote events occurring when a process is being executed, a sequence of symbols is a record of one execution of the process, and a set of such sequences represents the process itself by combining all its possible executions together. Although this model turned out adequate for specifying concurrent processes (e.g., [5,8]) and allows proving their properties (e.g., [6]), there are two reasons, at least, why this note takes the same subject up again. First, by analogy to shuffle and its closure, which express parallel combination and parallel iteration of non-interacting processes, there is a need for a similar operation describing the behaviour of interacting processes. Parallel combination introduced in [5] is an attempt at such an extension of shuffle; however, its closure does not express parallel iteration of a process, since it is identical to the process itself. In this note a new extension of shuffle is proposed as a generalization of the concepts from [5,6,9]. The closure of this operation provides a tool for specification of parallelly iterated processes. Moreover, the closure makes mutually recursive specifications unnecessary. Second, when this model was used to prove properties of concurrent computations, only flow-of-control schemes were considered (thus, only some general properties were proved). When applied to concrete programs using variables that have values, such schemes had to be interpreted (e.g., [2,4,7]). In contrast to such a schematic approach, the usefulness of the same method for concrete programs is argued in this note. This is shown using an example of a correctness proof of an implementation of unbounded semaphore by binary semaphores [l].

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call