Komunikace sekvenčních procesů (csp)

Komunikující sekvenční procesy (CSP) je jazyk, který využívá matematiku a logiku k analýze komunikace mezi systémy. CSP popisuje souběžné procesy, které fungují současně v systému, ale nejsou paralelní. Souběžnost umožňuje běžným počítačovým programům správně fungovat spuštěním různých úkolů během stejného časového období, ale tyto úkoly nejsou na sobě navzájem závislé (ani paralelní). V CSP souběžné systémy komunikují prostřednictvím předávání zpráv: sekvenční procesy mezi sebou komunikují. Tato komunikace je algebraická a logická.

CSP původně vytvořil Tony Hoare v roce 1978. Svoji teorii zdokonalil v 1980. letech a vydal populární knihu o CSP; tato kniha, jednoduše nazvaná Komunikující sekvenční procesy, je stále považována za jednu z předních autorit v tomto jazyce. CSP lze použít k analýze softwaru, počítačových systémů a některých programovacích jazyků. Například programovací jazyk Go má nativní funkce souběžnosti a CSP.

CSP rozbíjí procesy, které se dějí souběžně a vzájemně na sebe působí, pomocí algebraických rovnic a logiky k popisu interakcí. Toto se nazývá procesní algebra. Ve své knize Hoare podrobně popsal rozdíl mezi událostmi (konkrétní okamžiky objektů) a procesy (jak se tyto objekty chovají po celý život). Událost může být v rovnici CSP popsána jako x a proces může být popsán jako Y. Události a procesy jsou přísně rozlišeny. Stráže jsou požadavky, které jsou umístěny před příkazem v CSP a stanovují omezení před provedením příkazu programu. Tyto algebraické vzorce představují jasná spojení mezi výpočetními systémy a procesy, které běží současně.