CCS
El càlcul de sistemes comunicants o CCS és un llenguatge d'especificació formal basat en l'àlgebra de processos, per a l'especificació i modelat de sistemes discrets comunicants.
El llenguatge CCS va ser proposat ( "A Calculus of Communicating Systems" ) per Robin Milner per exemplificar la seva idea d'una àlgebra per representar simbòlicament els processos que conformen un sistema de programari Mentrestant, proposició va ser feta poc abans que la de CSP de Tony Hoare ( "Communicating Sequential Processes" ), formant dos llenguatges els exemples per excel·lència del que és una àlgebra de processos.
CCS proposa una notació textual i una altra visual per representar l'existència dins d'un sistema del que anomena procés i la definició d'aquests. Els processos són vistos com a blocs hermètics que comuniquen amb el món extern o ambient per mitjà de ports bé específics, que conformen el que es coneix com a interfície del procés. Els processos defineixen el seu comportament enunciant explícitament la seqüència sencera d'operacions elementals que aquest procés s'efectua durant tota la seva existència.
Notació visual
[modifica]La imatge a la dreta mostra un exemple de la notació gràfica de CCS, en aquest cas, dos processos anomenats Procés 1 i Procés 2 respectivament. Els punts foscos en la vora dels processos representen els ports, en CCS els ports serveixen per a l'enviament o la recepció de símbols a través d'un canal, i els ports i canals unidireccionals. Per convenció, un port d'entrada a s'anomenarà de la mateixa manera però utilitzant una barra horitzontal sobre ell per denotar que és un port de sortida.