Abstract
In the case of sequential paradigms like IMP and HOFL we have seen that all computations are deterministic and that any two non-terminating programs are equivalent. This is not necessarily the case for concurrent, interacting systems, which can exhibit different observable behaviours while they compute, also along infinite runs. Consider, e.g., the software governing a web server or the processes of an operating system. In this chapter we introduce a language, called CCS, whose focus is the interaction between concurrently running processes. CCS can be used both as an abstract specification language and as a programming language, allowing seamless comparison between system specifications (desired behaviour) and concrete implementations.We shall see that nondeterminism and non-termination are desirable semantic features in this setting. We start by presenting the operational semantics of CCS in terms of a labelled transition system. Then we define some abstract equivalences between CCS terms, and investigate their properties with respect to compositionality and algebraic axiomatisation. In particular we study bisimilarity, a milestone abstract equivalence with large applicability and interesting theoretical properties. We also define a suitable modal logic, called Hennessy-Milner logic, whose induced logical equivalence is shown to coincide with strong bisimilarity. Finally, we characterise strong bisimilarity as a fixpoint of a monotone operator and explore some alternative abstract equivalences where internal, invisible actions are abstracted away.
I think it’s only when we move to concurrency that we have enough to claim that we have a theory of computation which is independent of mathematical logic or goes beyond what logicians have studied, what algorithmists have studied. (Robin Milner)
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
Copyright information
© 2017 Springer International Publishing Switzerland
About this chapter
Cite this chapter
Bruni, R., Montanari, U. (2017). CCS, the Calculus of Communicating Systems. In: Models of Computation. Texts in Theoretical Computer Science. An EATCS Series. Springer, Cham. https://doi.org/10.1007/978-3-319-42900-7_11
Download citation
DOI: https://doi.org/10.1007/978-3-319-42900-7_11
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-42898-7
Online ISBN: 978-3-319-42900-7
eBook Packages: Computer ScienceComputer Science (R0)