I. Sakellariou, I. Vlahavas, I. Futo, Z. Pasztor, J. Szeredi, “Communicating Sequential Processes for Distributed Constraint Solving”, Information Sciences, Elsevier, 176(5), pp. 490-521, 2006.
CSPCONS is a programming language that supports program execution over multiple Prolog processes with constraints. The language is an extended version of CSP-II, a version of Prolog that supports channel-based communicating processes and TCP/IP communication, that is based on the CSP model introduced by Hoare. CSPCONS inherits all the advanced features of CSP-II and extends it by introducing constraint solving capabilities to the processes. In CSPCONS each Prolog process has one or more solvers attached and each solver is independent from the others, following the original CSP-II model, thus resulting to a communicating sequential constraint logic programming system. Such a model can facilitate greatly the implementation of distributed CLP applications. This paper describes the original CSP-II system along with details of the extensions that resulted to the CSPCONS system and presents an example demonstrating the applicability of the system to distributed constraint satisfaction problems.