DisChoco is a Java library platform for solving Distributed Constraints Reasoning (DCR) problems developed by Redouane Ezzahir and Mohamed Wahbi. The new version 2.0 of DisChoco responds several requirements of quality:
- It is reliable and modular;
- It is easy to personalize and to extend;
- It is independent from the communication system;
- It allows a deployment in a real distributed system;
- It allows a simulation on a single Java Virtual Machine.
DisChoco is not a distributed version of the centralized solver Choco, but it implements a model to solve DCR problems with local complex problems (i.e. multiple variables per agent) by using Choco as local solver to each agent. Communication is performed via the Simple Agent Communication Infrastructure (SACI) if agents are implemented on different Java Virtual Machine (JVM). Otherwise (agents are simulated by java threads on a single JVM) the communication is performed via a local communication simulator.