CSPs are a very interesting set of problems. I have recently started looking at cream (http://bach.istc.kobe-u.ac.jp/cream/), a class library for constraint programming in Java and it appears pretty cool so far.
Below is a screen shot of a simple example program that uses cream: