JSR-331 is now an official standard!

JSR-331 successfully passed the Final Approval Ballot. The JCP Executive Committee that includes representatives of IBM, RedHat, Fujitsu, Intel, SAP, Eclipse, HP, and others voted “Yes” on the Final Release that we submitted in January. Nobody voted “No” or “Abstained”. I even received personal emails from representatives of Oracle and Twitter who apologized for missing the voting deadline – they congratulated us and wrote they would vote “Yes” too.

Great thanks to the members of the JSR-331 Expert Group and all contributors!  We started these CP standardization efforts only 2.5 years ago and now we got an official standard for Constraint Programming API. I really hope it will contribute to the acceptance of Constraint Programming technology by the real-world application developers.

We currently have 3 working JSR-331 implementations based on these open-sourced CP solvers: Choco, JaCoP, and Constrainer. Several more CP vendors expressed their intention to provide JSR-331 implementations too. I expect that this year we will receive and make publicly available implementations from these teams:

  • IBM CP Optimizer (Jean-Francois Puget and Paul Shaw)
  • Cream (Naoyuki Tamura)
  • JSetL (Federico Bergenti)
  • JOpt (Nick Coleman).

Hopefully Google’s “or-tools” team will join these efforts too.

While the JSR-331 Final Release is a very important milestone, it is just a milestone on the long road to CP Standardization. We are switching to the Maintenance mode. Essentially, it means that we will continue JSR-331 development by adding new features in accordance with already specified plans. As the Maintenance Lead, I will collect suggestions for modifications and improvements to the Final Release.  We will fix typos and bugs, provide updates to accommodate new features and changing technology. Among our immediate tasks are: improvement of the TCK with different compliance tests, implementations of real constrained variables and additional global constraints. We will work on development of several vertical packages such as Scheduling, Configuration, and Routing that will be build on top of JSR-331 in a vendor-neutral way. You may take a look at examples of the initial implementation of the Scheduler. All CP specialists who want to contribute may get an access to the source code repository – just drop me an email.

JSR-331 software and documentation are available for free downloads from JCP or from http://openrules.com/jsr331/index.htm. Post your questions at this Discussion Group.


About jacobfeldman

CTO at www.openrules.com http://www.linkedin.com/in/jacobfeldmanopenrules
This entry was posted in Uncategorized. Bookmark the permalink.

One Response to JSR-331 is now an official standard!

  1. Pingback: Intellifest 2012: Jacob Feldman: Modeling and solving optimization problems « Everything Decision Management, Technically Speaking

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s