From DCOPolis

Jump to: navigation, search

A framework for comparing and deploying distributed decision processes in heterogeneous environments, including simulation in a virtual machine.



DCOPolis was originally developed to provide a testbed for comparing Distributed Constraint Optimization (DCOP) algorithms in a sterile environment. It was the authors' opinion (along with many in the DCOP community) that existing metrics for comparing solution techniques did not adequately capture the many intricacies inherent in such a problem. A byproduct of this testbed is a framework in which a single representation of a DCOP problem can be solved by a multitude of different solution algorithms, either in simulation or deployed on a live (possibly ad-hoc) network. DCOPolis also supports a novel type of simulation in which the runtime of any distributed algorithm can be accurately estimated on a single physical computer.


Files and screen shots are available at our SourceForge page.

The latest release of DCOPolis is always available here.

DCOPolis is under active development; many features are often available directly from SVN well before they make their way to an official release version. This is constantly being updated. The current 'best' revision to check out is 547. This revision can be checked out with:

   svn -r547 co https://dcopolis.svn.sourceforge.net/svnroot/dcopolis/trunk dcopolis

If you really want to check out the latest SVN snapshot, use the following command:

   svn co https://dcopolis.svn.sourceforge.net/svnroot/dcopolis/trunk dcopolis

To run DCOPolis (there are some sample configurations built-in), execute the following commands:

   $ ant compile
   compiler output
   $ java -cp lib/sefirs.jar:bin org.dcopolis.DCOPolis

You may also wish to view the list of command line parameters.

DCOPolis currently has no external dependencies that are not included in its distribution (other than Java 1.5 or greater, of course).


Some tutorials are available here. You may also wish to read some papers on DCOPs.

All other documentation is provided within the JavaDoc API specification. Examples are given in each source distribution file. The current API specification is always available here.


DCOPolis is developed and maintained by Evan Sultanik, Rob Lass, and Duc Nguyen. We are actively seeking developers for DCOPolis, specifically in the area of implementing new DCOP algorithms.


We'd like to thank Jay Modi for encouraging us to write DCOPolis, and for helping with the implementation of Adopt. We would also like to thank Anton Chechetka for answering our questions about NCBB while we were implementing it.

Personal tools