New API for Constraint Programming
[URL="http://en.wikipedia.org/wiki/Constraint_programming"][IMG]http://blogs.sun.com/theplanetarium/resource/chess2.png[/IMG][/URL][URL="http://en.wikipedia.org/wiki/Constraint_programming"]Constraint programming[/URL] is a kind of declarative programming. Specifically, where you say what [URL="http://www.mozart-oz.org/documentation/fdt/"]conditions constitute the solution of problem[/URL], rather than the laying out steps or algorithms by which you get to it. [URL="http://library.thinkquest.org/26469/movers-and-shakers/deng.html"]Deng Xiaoping had a saying for it[/URL]. A bit like assessing [URL="http://www.sailingusa.info/weather_and_reefing.htm"]weather conditions for sailing[/URL], or [URL="http://www.federalreserve.gov/monetarypolicy/fomc.htm"]evaluating economic indicators when deciding central bank policy[/URL], these conditions come in the form of restrictions on the interrelationships of a [URL="http://gecoder.rubyforge.org/examples/"]carefully selected set of variables[/URL] which model the computing problem.
There are various Java libraries to help write applications that use this idiom, like [URL="http://www.emn.fr/x-info/choco-solver/doku.php?id=documentation"]Choco[/URL], or [URL="http://ostatic.com/constrainer"]Constrainer[/URL], to name but two, and there's [URL="http://www.hakank.org/constraint_programming_blog/"]growing[/URL] [URL="http://www.selfishprogramming.com/2009/08/18/learning-about-the-theory-of-constraints-with-the-bottleneck-game/"]interest[/URL] in this style of computing.
So it was good to see yesterday the [URL="http://jcp.org/en/home/index"]JCP[/URL] give the go ahead to develop a [URL="http://jcp.org/en/jsr/detail?id=331"]standard Java API for constraint programming[/URL].