|
DisChoco project The
DisChoco project has been proposed by M. Christian BESSIERE
and supported by the Maroc-France PAI project no. MA/05/127. DisChoco platform DisChcoco is an open-source platform for development and experimentation in distributed constraint programming. DisChoco is a Java library implemented using the Choco solver and simple agent communication infrastructure (SACI). DisChoco can be used for simulation of a multiagents environment on a single Java virtual machine, or performed in an environment physically distributed for a realistic use. DisChoco takes into account agent with a complex local problem and lead to simulate message loss, message corruption, and message delay. The implementation of DisChoco was made to offer a modular software architecture which accepts extensions easily.
Download Objectif of the project: Realization of an open-source platform in which it is possible to implement and simulate as much as possible the different concerns of distributed constraint programming account :
The overall structure of a DisChoco agent DisChoco provides two cases of usage: simulation and realistic use. Both use a communication system for managing message communication between agents. For the simulation use, the multi-agent system is implemented in a single Java virtual machine environment. Thus, each agent is a simple thread and the communication system is localy implemented in deal with more realistic networkmodels. The communication system is represented by MailerAMDS class. The MailerAMDS class implements ChocoCommunication interface, serves as a message relay in the system and implements an Asynchronous Message Delay Simulator [Zivan and Meisels, 2006].
User interface: (simulation Use)
User interface: (Realistic Use)
When Main class is started, it creates a new instance of SaciCommunication using file property. SaciCommunication tries to connect at master host. If it cannot connect in the duration specified by the ConnectToMasterTimeOut argument, a message error is displayed, otherwise the resolution starts. Distributed constraint programming and distributed combinatorial optimization are problems where each agent owns a local problem (variables and constraints) and where some constraints involve variables from several agents.
Example of resolution
A random binary DisCSP generator is implemented in DisChoco by dischoco.samples.RBDisCSPGenerator class. This generator put out a problem file in a logs directory. To start the resolution of the generated distributed problem, you must set the problem file path as argument of dischoco.samples.RBDisCSP class. Download generated binary DisCSP : rbdcsp_6_5_8
Reference
|