A Model for Communicating Sequential Processes

This thesis describes tile construction and mathematical properties of a model for communicating sequential processes. We define a semantic model for processes based on failures, which encapsulate certain finite aspects of process behaviour and allow an elegant treatment of nondeterminism. We define a set of process operations, including nondeterministic choice, conditional composition, and various forms of' parallel composition. These process operations enjoy many interesting mathematical properties, which allow us to prove many process identities. The failures model is well suited to reasoning about deadlock properties of processes, and some examples are given to illustrate this. The failures model does not treat in a reasonable way the phenomenon of divergence, which occurs when a process performs a potentially infinite sequence of internal actions and never interacts with its environment. We offer an extension of" the model in Chapter 5, which treats divergence more satisfactorily. We also give a complete proof system for proving semantic equivalence of terms. Tile thesis also contains some results on the relationship of these models to other models of processes in the literature, specifically relating to the work of Milner, Kennaway, Hennessy and de Nicola. Chapter 3 gives an alternative formula t;ion of the failures model, a]iowing comparison with Kennaway's work. Chapter 4 uses Milner's synchronis_tion trees as the basis for representing processes. In Chapter 6 we show how links can be established between Kennaway's model, the work of Hennessy and de Nicola, and our failures model; this chapter focusses on modal assertions of various kinds about process behaviour. We show that by varying the class of assertions we can characterise different semantic models.

[1]  Edsger W. Dijkstra,et al.  Guarded commands, non-determinacy and a calculus for the derivation of programs , 1975, Language Hierarchies and Interfaces.

[2]  Liz Sonenberg,et al.  Fixed Point Theorems and Semantics: A Folk Tale , 1982, Inf. Process. Lett..

[3]  Robin Milner,et al.  Concurrent Processes and Their Syntax , 1979, JACM.

[4]  Andrew William Roscoe A mathematical theory of communicating processes , 1982 .

[5]  Robin Milner,et al.  On Observing Nondeterminism and Concurrency , 1980, ICALP.

[6]  C. A. R. Hoare,et al.  Some Properties of Predicate Transformers , 1978, JACM.

[7]  Robin Milner,et al.  A Finite Delay Operator in Synchronous CCS. , 1982 .

[8]  Jayadev Misra,et al.  An Axiomatic Proof Technique for Networks of Communicating Processes , 1979 .

[9]  Gordon Plotkin,et al.  An Operational Semantics for CSP. , 1982 .

[10]  Mordechai Ben-Ari,et al.  Principles of concurrent programming , 1982 .

[11]  Robin Milner,et al.  A Calculus of Communicating Systems , 1980, Lecture Notes in Computer Science.

[12]  C. A. R. Hoare A Calculus of Total Correctness for Communicating Processes , 1981, Sci. Comput. Program..

[13]  Edsger W. Dijkstra,et al.  Guarded commands, nondeterminacy and formal derivation of programs , 1975, Commun. ACM.

[14]  W. Li,et al.  A First Attempt at Translating CSP into CCS , 1981, ICDCS.

[15]  Glynn Winskel,et al.  Event Structure Semantics for CCS and Related Languages , 1982, ICALP.

[16]  C. A. R. Hoare,et al.  Communicating sequential processes , 1978, CACM.

[17]  Robin Milner,et al.  On relating synchrony and asynchrony , 1980 .

[18]  Willem P. de Roever,et al.  A Proof System for Communicating Sequential Processes , 1980, ACM Trans. Program. Lang. Syst..