Process Algebras (or Process Calculi) are a diverse family of related approaches for formally modelling concurrent, distributed and parallel systems. Theyi provide a tool for the high-level description of interactions, communications, and synchronizations between a collection of independent agents or processes. Leading examples of process calculi include CSP, CCS and ACP. While extremely useful for modelling, process algebras often lack the feature of an executable interpreter or compiler.
Aim of the project is to implement a process algebra in the programming language Racket, a general-purpose language, featuring a multi-platform distribution.