Opportunities and Challenges for Constraint Programming