Calculus of communicating systems

From testwiki
Revision as of 18:41, 15 October 2024 by 136.26.83.31 (talk)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Template:Refimprove The calculus of communicating systems (CCS) is a process calculus introduced by Robin Milner around 1980 and the title of a book describing the calculus. Its actions model indivisible communications between exactly two participants. The formal language includes primitives for describing parallel composition, summation between actions and scope restriction. CCS is useful for evaluating the qualitative correctness of properties of a system such as deadlock or livelock.[1]

According to Milner, "There is nothing canonical about the choice of the basic combinators, even though they were chosen with great attention to economy. What characterises our calculus is not the exact choice of combinators, but rather the choice of interpretation and of mathematical framework".

The expressions of the language are interpreted as a labelled transition system. Between these models, bisimilarity is used as a semantic equivalence.

Syntax

Given a set of action names, the set of CCS processes is defined by the following BNF grammar:

P::=0|a.P1|A|P1+P2|P1|P2|P1[b/a]|P1a

The parts of the syntax are, in the order given above

inactive process
the inactive process 0 is a valid CCS process
action
the process a.P1 can perform an action a and continue as the process P1
process identifier
write A=defP1 to use the identifier A to refer to the process P1 (which may contain the identifier A itself, i.e., recursive definitions are allowed)
summation
the process P1+P2 can proceed either as the process P1 or the process P2
parallel composition
P1|P2 tells that processes P1 and P2 exist simultaneously
renaming
P1[b/a] is the process P1 with all actions named a renamed as b
restriction
P1a is the process P1 without action a

Some other languages based on CCS:

Models that have been used in the study of CCS-like systems:

References

  • Robin Milner: A Calculus of Communicating Systems, Springer Verlag, Template:ISBN. 1980.
  • Robin Milner, Communication and Concurrency, Prentice Hall, International Series in Computer Science, Template:ISBN. 1989

Template:Reflist


Template:Concurrent computing

  1. Template:Cite book
  2. A Philippou, M Toro, M Antonaki. Simulation and Verification in a Process Calculus for Spatially-Explicit Ecological Models. Scientific Annals of Computer Science 23 (1). 2014
  3. Template:Cite journal