process calculus
In computer science, the process calculi (or process algebras) are a diverse family of related approaches for formally modelling concurrent systems. Process calculi provide a tool for the high-level description of interactions, communications, and ...
introduced by
Robin Milner
Arthur John Robin Gorell Milner (13 January 1934 – 20 March 2010) was a British computer scientist, and a Turing Award winner.deadlock or
livelock
In concurrent computing, deadlock is any situation in which no member of some group of entities can proceed because each waits for another member, including itself, to take action, such as sending a message or, more commonly, releasing a lock. ...
.
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
In theoretical computer science, a transition system is a concept used in the study of computation. It is used to describe the potential behavior of discrete systems. It consists of states and transitions between states, which may be labeled wi ...
. Between these models, bisimilarity is used as a semantic equivalence.
__TOC__
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
; inactive process : the inactive 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)
; summation : the process can proceed either as the process or the process
; parallel composition : tells that processes and exist simultaneously
; renaming :