Pipe-calculus: Difference between revisions

Line 379: Line 379:
== Pipe-calculus and process calculus ==
== Pipe-calculus and process calculus ==


'''[[wikipedia:process_calculus | Process calculi]]''' (or '''process algebras''') is an approach for formally modeling concurrent systems. ''Process'' refers to the behavior of a system. The word ''algebra'' denotes an algebraic approach in talking about behavior, while the word ''calculus'' emphasizes the computational aspect of processes.
'''[[wikipedia:process_calculus | Process calculi]]''' (or '''process algebras''') is an approach for formally modeling concurrent systems. ''Process'' refers to the behaviour of a system. The word ''algebra'' denotes an algebraic approach in talking about behaviour, while the word ''calculus'' emphasizes the computational aspect of processes.
<ref name="Baeten">
<ref name="Baeten">
J.C.M. Baeten: [https://pure.tue.nl/ws/files/2154050/200402.pdf A brief history of process algebra.], Theoretical Computer Science 335 (2005) 131 – 146
J.C.M. Baeten: [https://pure.tue.nl/ws/files/2154050/200402.pdf A brief history of process algebra.], Theoretical Computer Science 335 (2005) 131 – 146
Line 385: Line 385:
There are lots of implementations of this approach and none of them can be pointed to as the primary one.  
There are lots of implementations of this approach and none of them can be pointed to as the primary one.  


A process calculus can be characterized by the atomic units of behavior (actions, events) and formers of compound processes (operators, combinators).
A process calculus can be characterized by the atomic units of behaviour (actions, events) and formers of compound processes (operations, combinators).
Implementations may include several of both categories and they are often open for extensions.
Implementations may include several of both categories and they are often open for extensions.


It is a recurrent pattern in the literature that processes can be viewed in two ways: one can combine component processes and examine the evolution of the resulting process. In this setting component processes may communicate with each other and the compound process may come to a rest without displaying external behavior. A single process can also be examined by placing it into a (not strictly specified) environment which is able to interact with the process.  
=== Interaction and behaviour ===
 
It is a recurrent pattern in the literature that processes are treated in one of two settings: one can combine component processes and examine the evolution of the resulting process. In this setting component processes may ''interact'' with each other and together they produce a compound process.
In the other setting a single process is examined by placing it into a (not strictly specified) environment which is able to interact with the process. In this case the emphasis is placed on the observable ''behaviour'' of the process that is the possible sequences of actions performed by the process.
 
=== Pipe-calculus as a process calculus ===


Pipe-calculus fits into this framework if we make the following observations.
Pipe-calculus fits into this framework if we make the following observations.


* Prefixes are atomic units of behavior (actions).
* Prefixes are atomic units of behaviour (actions).
* Prefixes with sequential composition and choice form basic process algebra (BPA). <ref name="Fokkink">
* Prefixes with sequential composition and choice form basic process algebra (BPA). <ref name="Fokkink">
Wan Fokkink: [https://www.cs.vu.nl/~wanf/BOOKS/procalg.pdf Introduction to Process Algebra], Springer-Verlag
Wan Fokkink: [https://www.cs.vu.nl/~wanf/BOOKS/procalg.pdf Introduction to Process Algebra], Springer-Verlag
283

edits