Calculus of communicating systems

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, choice 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:

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

empty process 
the empty process is a valid CCS process
action 
the process can perform an action and continue as the process
process identifier 
write to use the identifier to refer to the process (which may contain the identifier itself, i.e., recursive definitions are allowed)
choice 
the process can proceed either as the process or the process
parallel composition 
tells that processes and exist simultaneously
renaming 
is the process with all actions named renamed as
restriction 
is the process without action

Some other languages based on CCS:

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

References

  1. Herzog, Ulrich, ed. (May 2007). "Tackling Large State Spaces in Performance Modelling". Formal Methods for Performance Evaluation. Lecture Notes in Computer Science. 4486. Springer. pp. 318370. doi:10.1007/978-3-540-72522-0. Retrieved 2009-04-21.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.