Pipe-calculus: Difference between revisions

No edit summary
Line 89: Line 89:
** ''positive literal prefixing'' <math>a^+ \dot s</math> is a process that signals an atom <math>a</math> on its output before proceeding as <math>s</math>.
** ''positive literal prefixing'' <math>a^+ \dot s</math> is a process that signals an atom <math>a</math> on its output before proceeding as <math>s</math>.
* ''communication'', where
* ''communication'', where
** ''input prefixing'' <math>?x \dot s</math> is a process that receives a term on its input. On success, it proceeds as <math>s</math> binding the name <math>x</math> to the received term.
** ''input prefixing'' <math>?x \dot s</math> is a process that receives a term. On success, it proceeds as <math>s</math> binding the name <math>x</math> to the received term.
** ''output prefixing'' <math>!s \dot t</math> is a process that sends a term <math>s</math> to its output before proceeding as <math>t</math>.
** ''output prefixing'' <math>!s \dot t</math> is a process that sends a term <math>s</math> before proceeding as <math>t</math>.
* ''sequence'' <math>s \seq t</math> is a composite process that executes <math>s</math> before proceeding as <math>t</math> unless <math>s</math> fails.
* ''sequence'' <math>s \seq t</math> is a composite process that executes <math>s</math> before proceeding as <math>t</math> unless <math>s</math> fails.
* ''choice'' <math>s \alt t</math> is a forking process where one branch executes <math>s</math> while the other branch executes <math>t</math>. Failure of one branch does not affect the other branch.
* ''choice'' <math>s \alt t</math> is a forking process where one branch executes <math>s</math> while the other branch executes <math>t</math>. Failure of one branch does not affect the other branch.
* ''pipeline'' <math>s \pipe t</math> is a composite process that enforces unidirectional, left to right data flow between its components.
* ''pipeline'' <math>s \pipe t</math> is a composite process that enforces unidirectional, left to right data flow between its components.
* ''top'' <math>\top</math> is a process that successfully terminated.
* ''top'' <math>\top</math> is a process that is successfully terminated.
* ''bottom'' <math>\bot</math> is also a terminated process. In certain contexts it denotes failure.
* ''bottom'' <math>\bot</math> is also a terminated process. In certain contexts it denotes failure.


283

edits