# Process calculus

process calculiprocess algebracalculusHyPAnull processprocess algebraicprocess algebrassequential composition
In computer science, the process calculi (or process algebras) are a diverse family of related approaches for formally modelling concurrent systems.wikipedia
101 Related Articles

### Concurrency (computer science)

concurrencyconcurrentconcurrently
In computer science, the process calculi (or process algebras) are a diverse family of related approaches for formally modelling concurrent systems.
A number of mathematical models have been developed for general concurrent computation including Petri nets, process calculi, the parallel random-access machine model, the actor model and the Reo Coordination Language.

### Calculus of communicating systems

CCSCCS-Calculus
Leading examples of process calculi include CSP, CCS, ACP, and LOTOS.
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.

### PEPA

More recent additions to the family include the π-calculus, the ambient calculus, PEPA, the fusion calculus and the join-calculus.
Performance Evaluation Process Algebra (PEPA) is a stochastic process algebra designed for modelling computer and communication systems introduced by Jane Hillston in the 1990s.

### Ambient calculus

Ambient (computation)ambientsmobile ambients
More recent additions to the family include the π-calculus, the ambient calculus, PEPA, the fusion calculus and the join-calculus.
In computer science, the ambient calculus is a process calculus devised by Luca Cardelli and Andrew D. Gordon in 1998, and used to describe and theorise about concurrent systems that include mobility.

### Join-calculus

Join calculus
More recent additions to the family include the π-calculus, the ambient calculus, PEPA, the fusion calculus and the join-calculus.
The join-calculus is a process calculus developed at INRIA.

### Algebra of Communicating Processes

ACP
Leading examples of process calculi include CSP, CCS, ACP, and LOTOS. In 1982 Jan Bergstra and Jan Willem Klop began work on what came to be known as the Algebra of Communicating Processes (ACP), and introduced the term process algebra to describe their work.
It is a member of the family of mathematical theories of concurrency known as process algebras or process calculi.

### Π-calculus

pi-calculusPi calculus-calculus
More recent additions to the family include the π-calculus, the ambient calculus, PEPA, the fusion calculus and the join-calculus.
In theoretical computer science, the -calculus (or pi-calculus) is a process calculus.

### Communicating sequential processes

CSPCommunicating Sequential Processes (CSP)channel
Leading examples of process calculi include CSP, CCS, ACP, and LOTOS.
It is a member of the family of mathematical theories of concurrency known as process algebras, or process calculi, based on message passing via channels.

### Channel (programming)

channelschannelcommunication channels
To define a process calculus, one starts with a set of names (or channels) whose purpose is to provide means of communication.
Channels are fundamental to the process calculus approach to concurrency, and originated in communicating sequential processes (CSP), a formal model for concurrency, and has been used in many derived languages, such as occam, and Limbo programming language (via Newsqueak and the Alef programming language).

### Computer science

computer scientistcomputer sciencescomputer scientists
In computer science, the process calculi (or process algebras) are a diverse family of related approaches for formally modelling concurrent systems.
A number of mathematical models have been developed for general concurrent computation including Petri nets, process calculi and the Parallel Random Access Machine model.

### Language Of Temporal Ordering Specification

LOTOSISO 8807
Leading examples of process calculi include CSP, CCS, ACP, and LOTOS.
LOTOS is an algebraic language that consists of two parts: a part for the description of data and operations, based on abstract data types, and a part for the description of concurrent processes, based on process calculus.

### Actor model

actorsactorActor programming
Models of concurrency such as the process calculi, Petri nets in 1962, and the actor model in 1973 emerged from this line of inquiry. The use of channels for communication is one of the features distinguishing the process calculi from other models of concurrency, such as Petri nets and the actor model (see Actor model and process calculi).
Other concurrency systems (e.g., process calculi) can be modeled in the actor model using a two-phase commit protocol.

### Actor model and process calculi

issues with getting messages from multiple channelsmigrationSynchronous channels in process calculi
The use of channels for communication is one of the features distinguishing the process calculi from other models of concurrency, such as Petri nets and the actor model (see Actor model and process calculi).
In computer science, the Actor model and process calculi are two closely related approaches to the modelling of concurrent digital computation.

### History monoid

Distribution (concurrency)
The history monoid is the free object that is generically able to represent the histories of individual communicating processes.
History monoids occur in the theory of concurrent computation, and provide a low-level mathematical foundation for process calculi, such as CSP the language of communicating sequential processes, or CCS, the calculus of communicating systems.

### Lambda calculus

beta reductionλ-calculusuntyped lambda calculus
In the first half of the 20th century, various formalisms were proposed to capture the informal concept of a computable function, with μ-recursive functions, Turing machines and the lambda calculus possibly being the best-known examples today.
Other process calculi have been developed for describing communication and concurrency.

### Matthew Hennessy

Matthew Hennessy is an Irish computer scientist who has contributed especially to concurrency, process calculi and programming language semantics.

### Concurrent computing

concurrentconcurrent programmingconcurrency
The use of channels for communication is one of the features distinguishing the process calculi from other models of concurrency, such as Petri nets and the actor model (see Actor model and process calculi).
A wide variety of mathematical theories to understand and analyze message-passing systems are available, including the actor model, and various process calculi.

### Petri net

Petri netsPetri net theoryconcurrent systems
Models of concurrency such as the process calculi, Petri nets in 1962, and the actor model in 1973 emerged from this line of inquiry. The use of channels for communication is one of the features distinguishing the process calculi from other models of concurrency, such as Petri nets and the actor model (see Actor model and process calculi).
Other ways of modelling concurrent computation have been proposed, including process algebra, the actor model, and trace theory.

### Jan Bergstra

In 1982 Jan Bergstra and Jan Willem Klop began work on what came to be known as the Algebra of Communicating Processes (ACP), and introduced the term process algebra to describe their work.

### Stochastic probe

* Stochastic probe
In process calculus a stochastic probe is a measurement device that measures the time between arbitrary start and end events over a stochastic process algebra model.

### Algebra

algebraicAlgebra IAlgebra 1
They also provide algebraic laws that allow process descriptions to be manipulated and analyzed, and permit formal reasoning about equivalences between processes (e.g., using bisimulation).

### Bisimulation

bisimilarity(weak)bisimilar
They also provide algebraic laws that allow process descriptions to be manipulated and analyzed, and permit formal reasoning about equivalences between processes (e.g., using bisimulation).

### Stochastic

stochasticsstochastic musicstochasticity
While the variety of existing process calculi is very large (including variants that incorporate stochastic behaviour, timing information, and specializations for studying molecular interactions), there are several features that all process calculi have in common:

### Message passing

message-passingmessagesmessage