CHOCO is a java library for constraint satisfaction problems (CSP) and constraint programming (CP).
It is built on a event-based propagation mechanism with backtrackable structures.
CHOCO can be used for:
teaching (a user-oriented constraint solver with open-source code)
research (state-of-the-art algorithms and techniques, user-defined constraints, domains and variables)
real-life applications (many application now embed CHOCO)
Please visit the web site for downloading and more information.