# CSP Is a Retract of CCS

## Summary

Theories of concurrency can be distinguished by the set of processes that they model, and by their choice of pre-ordering relation used to compare processes and to prove their correctness. For example, theories based on CCS are often pre-ordered by simulation (or more commonly bisimulation), of which the main varieties are strong or weak or barbed. Theories based on CSP choose as their pre-order a refinement relation, defined as inclusion over sets of observations. The main varieties of observation are just traces, or failures and/or divergences. The processes of the CSP model are restricted to those that satisfy certain naturally arising ‘healthiness conditions’. This paper gives a unifying treatment of simulation and refinement, and illustrates it by the familiar varieties of CCS and CSP that are mentioned above.

We consider the variations two at a time. A link between two theories is a function *L*, which maps the processes of its source theory onto those of its target theory. The image of *L* defines exactly the set of processes of the target theory. The ordering relation of the target theory is obtained by applying the link *L* to one or both operands before applying the source theory ordering. We will use the normal transition rules of a structured operational semantics to define a series of linking functions: W for weak simulation, *T* for trace refinement, *R* for refusals, *D* for divergences. We then show that each function is a retraction, in the sense that it is idempotent and decreasing and (in most cases) monotonic in its source ordering. Finally, we show that certain compositions of these functions are also retractions.

The definition of a retraction ensures that (1) the processes of the target theory are a subset of those of the source theory; (2) all ordering theorems of the source theory are preserved in the target theory; (3) the healthiness conditions of the target theory are expressed as fixed-point equivalences of the form *p* ≡ *Lp*; (4) model-checking the target theory can be optimised, by applying L to only one of the two operands of the ordering. Finally, we show how the separately defined retractions can be composed in a way that preserves these important properties. In other words, the transition systems of several alternative versions of CCS, as well as the main standard versions of CSP, are retracts of the universal transition system that underlies CCS.

The research reported here is a step towards completion of the unfinished business of the original ESPRIT Basic Research Action CONCUR [BRA 3009, 1989-92], which aimed to assimilate the theories and notations of CSP, ACP and CCS. A retraction is a good tool for this purpose, because it precisely codifies the similarities between the theories, and enables them to be used in combination, while preserving their essential and beneficial differences. Such unified families of theories may in due course serve as a rigorous foundation for a comprehensive programming toolset, one that provides reliable assistance at all stages of program design, development, testing and evolution. In this working draft, some of the later sections are incomplete.

## Keywords

Model Check Transition System Operational Semantic Transition Rule Deductive System## Preview

Unable to display preview. Download preview PDF.

## References

- 1.Abramsky, S.: Observation equivalence as a testing equivalence. TCS 53, 225–241 (1987)CrossRefMathSciNetMATHGoogle Scholar
- 2.Brookes, S.D.: On the relationship of CCS and CSP. In: Díaz, J. (ed.) ICALP 1983. LNCS, vol. 154. Springer, Heidelberg (1983)Google Scholar
- 3.Brookes, S.D., Hoare, C.A.R., Roscoe, A.W.: A theory of communicating sequential processes. J. ACM 31 (1984)Google Scholar
- 4.Bergstra, J.A., Klop, J.W.: Algebra of communicating processes with abstraction. TCS 37(1), 77–121 (1985)CrossRefMathSciNetMATHGoogle Scholar
- 5.Cleaveland, R., Parrow, J., Steffen, B.: The Concurrency Workbench. In: Sifakis, J. (ed.) CAV 1989. LNCS, vol. 407, pp. 24–37. Springer, Heidelberg (1990)Google Scholar
- 6.Cleaveland, R., Hennessy, M.: Testing Equivalence as a Bisimulation Equivalence. FACS 3 (1992)Google Scholar
- 7.Gardiner, P.: Power simulation and its relation to traces and failures refinement. TCS 309(1), 157–176 (2003)CrossRefMathSciNetMATHGoogle Scholar
- 8.Hennessy, M., Milner, R.: Algebraic laws for non-determinism and concurrency. J. ACM 31(1), 137–161 (1985)CrossRefMathSciNetGoogle Scholar
- 9.Groote, J.F., Vaandrager, F.: Structured operational semantics and bisimulation as a congruence. Information and Computation 100(2), 202–260 (1992)CrossRefMathSciNetMATHGoogle Scholar
- 10.Hoare, C.A.R., Jifeng, H.: Unifying theories of programming. Prentice-Hall, Englewood Cliffs (1998)Google Scholar
- 11.Hoare, C.A.R., Misra, J.: Verified Software: theories, tools, experiments. In: Meyer, B., Woodcock, J. (eds.) VSTTE 2005. LNCS, vol. 4171, pp. 1–18. Springer, Heidelberg (2008)CrossRefGoogle Scholar
- 12.Jensen, O.H., Milner, R.: Bigraphs and mobile processes (revised), UCAM-CL-TR-580 (2004)Google Scholar
- 13.Larsen, K., Skou, A.: Bisimulation through probabilistic testing. In: POPL proceedings (1989)Google Scholar
- 14.Milner, R.: Communication and concurrency. Prentice-Hall, Englewood Cliffs (1985)Google Scholar
- 15.Milner, R.: Communicating and mobile systems: the
*π*-calculus. Cambridge University Press, Cambridge (1999)Google Scholar - 16.Milner, R., Sangiorgi, D.: Barbed Bisimulation. In: ICALP 1992 (1992)Google Scholar
- 17.Phillips, I.: Refusal testing. In: Kott, L. (ed.) ICALP 1986. LNCS, vol. 226, pp. 304–313. Springer, Heidelberg (1986)Google Scholar
- 18.Plotkin, G.D.: A structural approach to operational semantics. DAIMI-FN-19, Aarhus University, Denmark (1981)Google Scholar
- 19.Rajamani, S.K., Rehof, J., Qadeer, S., Xie, Y., Andrews, T.: Zing: a model checker for concurrent software. In: Alur, R., Peled, D.A. (eds.) CAV 2004. LNCS, vol. 3114, pp. 484–487. Springer, Heidelberg (2004)CrossRefGoogle Scholar
- 20.Roscoe, A.W.: The theory and practice of concurrency. Prentice-Hall, Englewood Cliffs (1998)Google Scholar
- 21.Roscoe, A.W.: Revivals, stuckness and responsiveness (unpublished draft)Google Scholar
- 22.Roscoe, A.W.: Model checking in CSP. In: A classical mind: essays in honour of C.A.R. Hoare. Prentice-Hall, Englewood Cliffs (1994)Google Scholar
- 23.Scott, D.: Data types as lattices. SIAM Journal on Computing 5, 522–587 (1976)CrossRefMathSciNetMATHGoogle Scholar
- 24.van Glabbeek, R.J.: Notes on the methodology of CCS and CSP, CWI report CS-R8624 (1986)Google Scholar
- 25.van Glabbeek, R.J.: The Linear Time – Branching time Spectrum. In: Handbook of Process Algebra, pp. 3–39. Elsevier, Amsterdam (2001)CrossRefGoogle Scholar